From 5d0b5e69a5e43b17561656160fd963de4ff0f833 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 27 Jan 2024 22:39:05 +0600 Subject: [PATCH 01/33] chore: adjust the version --- .github/workflows/spotube-release-binary.yml | 2 +- CHANGELOG.md | 2 +- pubspec.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index dd20ca5d..3ef0ff61 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -4,7 +4,7 @@ on: inputs: version: description: Version to release (x.x.x) - default: 3.4.0 + default: 3.4.1 required: true channel: type: choice diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d784485..8f48b39e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. -## [3.5.0](https://personal.github.com/krtirtho/spotube/compare/v3.4.0...v3.5.0) (2024-01-27) +## [3.4.1](https://personal.github.com/krtirtho/spotube/compare/v3.4.0...v3.4.1) (2024-01-27) ### Features diff --git a/pubspec.yaml b/pubspec.yaml index daeaa234..1b3d15b0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: Open source Spotify client that doesn't require Premium nor uses El publish_to: "none" -version: 3.5.0+28 +version: 3.4.1+28 homepage: https://spotube.krtirtho.dev repository: https://github.com/KRTirtho/spotube From 4defeefe7e5947aa00a2afb2a06577ec141cdc52 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Wed, 31 Jan 2024 16:33:50 +0600 Subject: [PATCH 02/33] feat: start radio support --- lib/collections/spotube_icons.dart | 1 + .../shared/track_tile/track_options.dart | 79 ++++++++++++- lib/l10n/app_en.arb | 5 +- lib/services/queries/search.dart | 70 +++++++---- untranslated_messages.json | 110 +++++++++++++++++- 5 files changed, 238 insertions(+), 27 deletions(-) diff --git a/lib/collections/spotube_icons.dart b/lib/collections/spotube_icons.dart index 65e6c1a0..c00643ce 100644 --- a/lib/collections/spotube_icons.dart +++ b/lib/collections/spotube_icons.dart @@ -111,4 +111,5 @@ abstract class SpotubeIcons { static const wikipedia = SimpleIcons.wikipedia; static const discord = SimpleIcons.discord; static const youtube = SimpleIcons.youtube; + static const radio = FeatherIcons.radio; } diff --git a/lib/components/shared/track_tile/track_options.dart b/lib/components/shared/track_tile/track_options.dart index 724bc029..515d42b5 100644 --- a/lib/components/shared/track_tile/track_options.dart +++ b/lib/components/shared/track_tile/track_options.dart @@ -1,6 +1,7 @@ import 'dart:io'; -import 'package:flutter/material.dart'; +import 'package:fl_query/fl_query.dart'; +import 'package:flutter/material.dart' hide Page; import 'package:flutter/services.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:go_router/go_router.dart'; @@ -10,6 +11,7 @@ import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/components/library/user_local_tracks.dart'; import 'package:spotube/components/shared/adaptive/adaptive_pop_sheet_list.dart'; import 'package:spotube/components/shared/dialogs/playlist_add_track_dialog.dart'; +import 'package:spotube/components/shared/dialogs/prompt_dialog.dart'; import 'package:spotube/components/shared/dialogs/track_details_dialog.dart'; import 'package:spotube/components/shared/heart_button.dart'; import 'package:spotube/components/shared/image/universal_image.dart'; @@ -20,7 +22,9 @@ import 'package:spotube/provider/authentication_provider.dart'; import 'package:spotube/provider/blacklist_provider.dart'; import 'package:spotube/provider/download_manager_provider.dart'; import 'package:spotube/provider/proxy_playlist/proxy_playlist_provider.dart'; +import 'package:spotube/provider/spotify_provider.dart'; import 'package:spotube/services/mutations/mutations.dart'; +import 'package:spotube/services/queries/search.dart'; import 'package:spotube/utils/type_conversion_utils.dart'; enum TrackOptionValue { @@ -36,6 +40,7 @@ enum TrackOptionValue { favorite, details, download, + startRadio, } class TrackOptions extends HookConsumerWidget { @@ -82,6 +87,67 @@ class TrackOptions extends HookConsumerWidget { ); } + void actionStartRadio( + BuildContext context, + WidgetRef ref, + Track track, + ) async { + final playback = ref.read(ProxyPlaylistNotifier.notifier); + final playlist = ref.read(ProxyPlaylistNotifier.provider); + final spotify = ref.read(spotifyProvider); + final pages = await QueryClient.of(context) + .fetchInfiniteQueryJob, dynamic, int, SearchParams>( + job: SearchQueries.queryJob(SearchType.playlist.name), + args: ( + spotify: spotify, + searchType: SearchType.playlist, + query: "${track.name} Radio" + ), + ) ?? + []; + + final radios = pages.expand((e) => e.items ?? []).toList(); + + final artists = track.artists!.map((e) => e.name); + + final radio = radios.firstWhere( + (e) => + e.name == "${track.name} Radio" && + artists.where((a) => e.name!.contains(a!)).length >= 2, + orElse: () => radios.first, + ); + + bool replaceQueue = false; + + if (context.mounted && playlist.tracks.isNotEmpty) { + replaceQueue = await showPromptDialog( + context: context, + title: context.l10n.how_to_start_radio, + message: context.l10n.replace_queue_question, + okText: context.l10n.replace, + cancelText: context.l10n.add_to_queue, + ); + } + + if (replaceQueue) { + await playback.stop(); + await playback.load([track], autoPlay: true); + } else { + await playback.addTrack(track); + } + + final tracks = + await spotify.playlists.getTracksByPlaylistId(radio.id!).all(); + + await playback.addTracks( + tracks.toList() + ..removeWhere((e) { + final isDuplicate = playlist.tracks.any((t) => t.id == e.id); + return e.id == track.id || isDuplicate; + }), + ); + } + @override Widget build(BuildContext context, ref) { final scaffoldMessenger = ScaffoldMessenger.of(context); @@ -207,6 +273,9 @@ class TrackOptions extends HookConsumerWidget { case TrackOptionValue.download: await downloadManager.addToQueue(track); break; + case TrackOptionValue.startRadio: + actionStartRadio(context, ref, track); + break; } }, icon: icon ?? const Icon(SpotubeIcons.moreHorizontal), @@ -287,12 +356,18 @@ class TrackOptions extends HookConsumerWidget { : context.l10n.save_as_favorite, ), ), - if (auth != null) + if (auth != null) ...[ + PopSheetEntry( + value: TrackOptionValue.startRadio, + leading: const Icon(SpotubeIcons.radio), + title: Text(context.l10n.start_a_radio), + ), PopSheetEntry( value: TrackOptionValue.addToPlaylist, leading: const Icon(SpotubeIcons.playlistAdd), title: Text(context.l10n.add_to_playlist), ), + ], if (userPlaylist && auth != null) PopSheetEntry( value: TrackOptionValue.removeFromPlaylist, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 07df5f06..f79090ae 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -286,5 +286,8 @@ "genres": "Genres", "explore_genres": "Explore Genres", "friends": "Friends", - "no_lyrics_available": "Sorry, unable find lyrics for this track" + "no_lyrics_available": "Sorry, unable find lyrics for this track", + "start_a_radio": "Start a Radio", + "how_to_start_radio": "How do you want to start the radio?", + "replace_queue_question": "Do you want to replace the current queue or append to it?" } \ No newline at end of file diff --git a/lib/services/queries/search.dart b/lib/services/queries/search.dart index f11f4399..3c6ee064 100644 --- a/lib/services/queries/search.dart +++ b/lib/services/queries/search.dart @@ -1,36 +1,60 @@ import 'package:fl_query/fl_query.dart'; +import 'package:fl_query_hooks/fl_query_hooks.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotify/spotify.dart'; -import 'package:spotube/hooks/spotify/use_spotify_infinite_query.dart'; +import 'package:spotube/provider/spotify_provider.dart'; + +typedef SearchParams = ({ + SpotifyApi spotify, + SearchType searchType, + String query +}); class SearchQueries { const SearchQueries(); + + static final queryJob = + InfiniteQueryJob.withVariableKey, dynamic, int, SearchParams>( + baseQueryKey: "search-query", + task: (variableKey, page, args) => args!.spotify.search.get( + args.query, + types: [args.searchType], + ).getPage(10, page), + initialPage: 0, + nextPage: (lastPage, lastPageData) { + if (lastPageData.isEmpty) return null; + if ((lastPageData.first.isLast || + (lastPageData.first.items ?? []).length < 10)) { + return null; + } + return lastPageData.first.nextOffset; + }, + enabled: false, + ); + InfiniteQuery, dynamic, int> query( WidgetRef ref, - String query, + String queryStr, SearchType searchType, ) { - return useSpotifyInfiniteQuery, dynamic, int>( - "search-query/${searchType.name}", - (page, spotify) { - if (query.trim().isEmpty) return []; - final queryString = query; - return spotify.search.get( - queryString, - types: [searchType], - ).getPage(10, page); - }, - enabled: false, - ref: ref, - initialPage: 0, - nextPage: (lastPage, lastPageData) { - if (lastPageData.isEmpty) return null; - if ((lastPageData.first.isLast || - (lastPageData.first.items ?? []).length < 10)) { - return null; - } - return lastPageData.first.nextOffset; - }, + final spotify = ref.watch(spotifyProvider); + final query = useInfiniteQueryJob, dynamic, int, SearchParams>( + job: queryJob(searchType.name), + args: (spotify: spotify, searchType: searchType, query: queryStr), ); + + useEffect(() { + return ref.listenManual( + spotifyProvider, + (previous, next) { + if (previous != next) { + query.refreshAll(); + } + }, + ).close; + }, [query]); + + return query; } } diff --git a/untranslated_messages.json b/untranslated_messages.json index 9e26dfee..748a9906 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -1 +1,109 @@ -{} \ No newline at end of file +{ + "ar": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "bn": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "ca": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "de": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "es": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "fa": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "fr": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "hi": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "it": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "ja": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "ne": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "nl": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "pl": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "pt": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "ru": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "tr": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "uk": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ], + + "zh": [ + "start_a_radio", + "how_to_start_radio", + "replace_queue_question" + ] +} From 9dfd49ca04f0e915e333e205b17ac70456873f6e Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Wed, 31 Jan 2024 18:00:54 +0600 Subject: [PATCH 03/33] feat: add endless playback support #285 --- analysis_options.yaml | 4 +- .../shared/track_tile/track_options.dart | 21 +- .../configurators/use_endless_playback.dart | 102 +++ lib/l10n/app_en.arb | 3 +- lib/pages/root/root_app.dart | 3 + lib/pages/settings/sections/playback.dart | 6 + .../user_preferences_provider.dart | 4 + .../user_preferences_state.dart | 234 ++---- .../user_preferences_state.freezed.dart | 697 ++++++++++++++++++ .../user_preferences_state.g.dart | 69 +- pubspec.lock | 10 +- pubspec.yaml | 2 + untranslated_messages.json | 54 +- 13 files changed, 956 insertions(+), 253 deletions(-) create mode 100644 lib/hooks/configurators/use_endless_playback.dart create mode 100644 lib/provider/user_preferences/user_preferences_state.freezed.dart diff --git a/analysis_options.yaml b/analysis_options.yaml index 4f0718e4..5f2cbbe1 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -31,4 +31,6 @@ linter: analyzer: enable-experiment: - records - - patterns \ No newline at end of file + - patterns + errors: + invalid_annotation_target: ignore diff --git a/lib/components/shared/track_tile/track_options.dart b/lib/components/shared/track_tile/track_options.dart index 515d42b5..d0d081ff 100644 --- a/lib/components/shared/track_tile/track_options.dart +++ b/lib/components/shared/track_tile/track_options.dart @@ -106,14 +106,22 @@ class TrackOptions extends HookConsumerWidget { ) ?? []; - final radios = pages.expand((e) => e.items ?? []).toList(); + final radios = pages + .expand((e) => e.items?.toList() ?? []) + .toList() + .cast(); final artists = track.artists!.map((e) => e.name); final radio = radios.firstWhere( - (e) => - e.name == "${track.name} Radio" && - artists.where((a) => e.name!.contains(a!)).length >= 2, + (e) { + final validPlaylists = + artists.where((a) => e.description!.contains(a!)); + return e.name == "${track.name} Radio" && + (validPlaylists.length >= 2 || + validPlaylists.length == artists.length) && + e.owner?.displayName == "Spotify"; + }, orElse: () => radios.first, ); @@ -129,9 +137,12 @@ class TrackOptions extends HookConsumerWidget { ); } - if (replaceQueue) { + if (replaceQueue || playlist.tracks.isEmpty) { await playback.stop(); await playback.load([track], autoPlay: true); + + // we don't have to add those tracks as useEndlessPlayback will do it for us + return; } else { await playback.addTrack(track); } diff --git a/lib/hooks/configurators/use_endless_playback.dart b/lib/hooks/configurators/use_endless_playback.dart new file mode 100644 index 00000000..ffbb6991 --- /dev/null +++ b/lib/hooks/configurators/use_endless_playback.dart @@ -0,0 +1,102 @@ +import 'package:catcher_2/catcher_2.dart'; +import 'package:fl_query_hooks/fl_query_hooks.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:spotify/spotify.dart'; +import 'package:spotube/provider/authentication_provider.dart'; +import 'package:spotube/provider/proxy_playlist/proxy_playlist_provider.dart'; +import 'package:spotube/provider/spotify_provider.dart'; +import 'package:spotube/provider/user_preferences/user_preferences_provider.dart'; +import 'package:spotube/services/audio_player/audio_player.dart'; +import 'package:spotube/services/queries/search.dart'; + +void useEndlessPlayback(WidgetRef ref) { + final auth = ref.watch(AuthenticationNotifier.provider); + final playback = ref.watch(ProxyPlaylistNotifier.notifier); + final playlist = ref.watch(ProxyPlaylistNotifier.provider); + final spotify = ref.watch(spotifyProvider); + final endlessPlayback = + ref.watch(userPreferencesProvider.select((s) => s.endlessPlayback)); + + final queryClient = useQueryClient(); + + useEffect( + () { + if (!endlessPlayback || auth == null) return null; + + void listener(int index) async { + try { + final playlist = ref.read(ProxyPlaylistNotifier.provider); + if (index != playlist.tracks.length - 1) return; + + final track = playlist.tracks.last; + + final pages = await queryClient.fetchInfiniteQueryJob, + dynamic, int, SearchParams>( + job: SearchQueries.queryJob(SearchType.playlist.name), + args: ( + spotify: spotify, + searchType: SearchType.playlist, + query: "${track.name} Radio" + ), + ) ?? + []; + + final radios = pages + .expand((e) => e.items?.toList() ?? []) + .toList() + .cast(); + + final artists = track.artists!.map((e) => e.name); + + final radio = radios.firstWhere( + (e) { + final validPlaylists = + artists.where((a) => e.description!.contains(a!)); + return e.name == "${track.name} Radio" && + (validPlaylists.length >= 2 || + validPlaylists.length == artists.length) && + e.owner?.displayName != "Spotify"; + }, + orElse: () => radios.first, + ); + + final tracks = + await spotify.playlists.getTracksByPlaylistId(radio.id!).all(); + + await playback.addTracks( + tracks.toList() + ..removeWhere((e) { + final playlist = ref.read(ProxyPlaylistNotifier.provider); + final isDuplicate = playlist.tracks.any((t) => t.id == e.id); + return e.id == track.id || isDuplicate; + }), + ); + } catch (e, stack) { + Catcher2.reportCheckedError(e, stack); + } + } + + // Sometimes user can change settings for which the currentIndexChanged + // might not be called. So we need to check if the current track is the + // last track and if it is then we need to call the listener manually. + if (playlist.active == playlist.tracks.length - 1 && + audioPlayer.isPlaying) { + listener(playlist.active!); + } + + final subscription = + audioPlayer.currentIndexChangedStream.listen(listener); + + return subscription.cancel; + }, + [ + spotify, + playback, + queryClient, + playlist.tracks, + endlessPlayback, + auth, + ], + ); +} diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index f79090ae..0628cc43 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -289,5 +289,6 @@ "no_lyrics_available": "Sorry, unable find lyrics for this track", "start_a_radio": "Start a Radio", "how_to_start_radio": "How do you want to start the radio?", - "replace_queue_question": "Do you want to replace the current queue or append to it?" + "replace_queue_question": "Do you want to replace the current queue or append to it?", + "endless_playback": "Endless Playback" } \ No newline at end of file diff --git a/lib/pages/root/root_app.dart b/lib/pages/root/root_app.dart index 87be587c..2ff49737 100644 --- a/lib/pages/root/root_app.dart +++ b/lib/pages/root/root_app.dart @@ -15,6 +15,7 @@ import 'package:spotube/components/root/bottom_player.dart'; import 'package:spotube/components/root/sidebar.dart'; import 'package:spotube/components/root/spotube_navigation_bar.dart'; import 'package:spotube/extensions/context.dart'; +import 'package:spotube/hooks/configurators/use_endless_playback.dart'; import 'package:spotube/hooks/configurators/use_update_checker.dart'; import 'package:spotube/provider/download_manager_provider.dart'; import 'package:spotube/utils/persisted_state_notifier.dart'; @@ -134,6 +135,8 @@ class RootApp extends HookConsumerWidget { // checks for latest version of the application useUpdateChecker(ref); + useEndlessPlayback(ref); + final backgroundColor = Theme.of(context).scaffoldBackgroundColor; useEffect(() { diff --git a/lib/pages/settings/sections/playback.dart b/lib/pages/settings/sections/playback.dart index d36e0713..bd2e33b9 100644 --- a/lib/pages/settings/sections/playback.dart +++ b/lib/pages/settings/sections/playback.dart @@ -221,6 +221,12 @@ class SettingsPlaybackSection extends HookConsumerWidget { preferencesNotifier.setDownloadMusicCodec(value); }, ), + SwitchListTile( + secondary: const Icon(SpotubeIcons.repeat), + title: Text(context.l10n.endless_playback), + value: preferences.endlessPlayback, + onChanged: preferencesNotifier.setEndlessPlayback, + ), ], ); } diff --git a/lib/provider/user_preferences/user_preferences_provider.dart b/lib/provider/user_preferences/user_preferences_provider.dart index 46569269..875f36cc 100644 --- a/lib/provider/user_preferences/user_preferences_provider.dart +++ b/lib/provider/user_preferences/user_preferences_provider.dart @@ -123,6 +123,10 @@ class UserPreferencesNotifier extends PersistedStateNotifier { audioPlayer.setAudioNormalization(normalize); } + void setEndlessPlayback(bool endless) { + state = state.copyWith(endlessPlayback: endless); + } + Future _getDefaultDownloadDirectory() async { if (kIsAndroid) return "/storage/emulated/0/Download/Spotube"; diff --git a/lib/provider/user_preferences/user_preferences_state.dart b/lib/provider/user_preferences/user_preferences_state.dart index 4244ca67..cf6c0597 100644 --- a/lib/provider/user_preferences/user_preferences_state.dart +++ b/lib/provider/user_preferences/user_preferences_state.dart @@ -1,12 +1,13 @@ import 'dart:convert'; import 'package:flutter/material.dart'; -import 'package:json_annotation/json_annotation.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/components/settings/color_scheme_picker_dialog.dart'; import 'package:spotube/services/sourced_track/enums.dart'; part 'user_preferences_state.g.dart'; +part 'user_preferences_state.freezed.dart'; @JsonEnum() enum LayoutMode { @@ -53,40 +54,48 @@ enum SearchMode { } } -@JsonSerializable() -final class UserPreferences { - @JsonKey( - defaultValue: SourceQualities.high, - unknownEnumValue: SourceQualities.high, - ) - final SourceQualities audioQuality; +@freezed +class UserPreferences with _$UserPreferences { + const factory UserPreferences({ + @Default(SourceQualities.high) SourceQualities audioQuality, + @Default(true) bool albumColorSync, + @Default(false) bool amoledDarkTheme, + @Default(true) bool checkUpdate, + @Default(false) bool normalizeAudio, + @Default(true) bool showSystemTrayIcon, + @Default(false) bool skipNonMusic, + @Default(false) bool systemTitleBar, + @Default(CloseBehavior.minimizeToTray) CloseBehavior closeBehavior, + @Default(SpotubeColor(0xFF2196F3, name: "Blue")) + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue, + ) + SpotubeColor accentColorScheme, + @Default(LayoutMode.adaptive) LayoutMode layoutMode, + @Default(Locale("system", "system")) + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue, + ) + Locale locale, + @Default(Market.US) Market recommendationMarket, + @Default(SearchMode.youtube) SearchMode searchMode, + @Default("") String downloadLocation, + @Default("https://pipedapi.kavin.rocks") String pipedInstance, + @Default(ThemeMode.system) ThemeMode themeMode, + @Default(AudioSource.youtube) AudioSource audioSource, + @Default(SourceCodecs.weba) SourceCodecs streamMusicCodec, + @Default(SourceCodecs.m4a) SourceCodecs downloadMusicCodec, + @Default(true) bool discordPresence, + @Default(true) bool endlessPlayback, + }) = _UserPreferences; + factory UserPreferences.fromJson(Map json) => + _$UserPreferencesFromJson(json); - @JsonKey(defaultValue: true) - final bool albumColorSync; - - @JsonKey(defaultValue: false) - final bool amoledDarkTheme; - - @JsonKey(defaultValue: true) - final bool checkUpdate; - - @JsonKey(defaultValue: false) - final bool normalizeAudio; - - @JsonKey(defaultValue: true) - final bool showSystemTrayIcon; - - @JsonKey(defaultValue: true) - final bool skipNonMusic; - - @JsonKey(defaultValue: false) - final bool systemTitleBar; - - @JsonKey( - defaultValue: CloseBehavior.minimizeToTray, - unknownEnumValue: CloseBehavior.minimizeToTray, - ) - final CloseBehavior closeBehavior; + factory UserPreferences.withDefaults() => UserPreferences.fromJson({}); static SpotubeColor _accentColorSchemeFromJson(Map json) { return SpotubeColor.fromString(json["color"]); @@ -105,23 +114,6 @@ final class UserPreferences { return {"color": color.toString()}; } - static SpotubeColor _defaultAccentColorScheme() => - const SpotubeColor(0xFF2196F3, name: "Blue"); - - @JsonKey( - defaultValue: UserPreferences._defaultAccentColorScheme, - fromJson: UserPreferences._accentColorSchemeFromJson, - toJson: UserPreferences._accentColorSchemeToJson, - readValue: UserPreferences._accentColorSchemeReadValue, - ) - final SpotubeColor accentColorScheme; - - @JsonKey( - defaultValue: LayoutMode.adaptive, - unknownEnumValue: LayoutMode.adaptive, - ) - final LayoutMode layoutMode; - static Locale _localeFromJson(Map json) { return Locale(json["languageCode"], json["countryCode"]); } @@ -145,144 +137,4 @@ final class UserPreferences { return json[key] as Map?; } - - static Locale _defaultLocaleValue() => const Locale("system", "system"); - - @JsonKey( - defaultValue: UserPreferences._defaultLocaleValue, - toJson: UserPreferences._localeToJson, - fromJson: UserPreferences._localeFromJson, - readValue: UserPreferences._localeReadValue, - ) - final Locale locale; - - @JsonKey( - defaultValue: Market.US, - unknownEnumValue: Market.US, - ) - final Market recommendationMarket; - - @JsonKey( - defaultValue: SearchMode.youtube, - unknownEnumValue: SearchMode.youtube, - ) - final SearchMode searchMode; - - @JsonKey(defaultValue: "") - final String downloadLocation; - - @JsonKey(defaultValue: "https://pipedapi.kavin.rocks") - final String pipedInstance; - - @JsonKey( - defaultValue: ThemeMode.system, - unknownEnumValue: ThemeMode.system, - ) - final ThemeMode themeMode; - - @JsonKey( - defaultValue: AudioSource.youtube, - unknownEnumValue: AudioSource.youtube, - ) - final AudioSource audioSource; - - @JsonKey( - defaultValue: SourceCodecs.weba, - unknownEnumValue: SourceCodecs.weba, - ) - final SourceCodecs streamMusicCodec; - - @JsonKey( - defaultValue: SourceCodecs.m4a, - unknownEnumValue: SourceCodecs.m4a, - ) - final SourceCodecs downloadMusicCodec; - - @JsonKey(defaultValue: true) - final bool discordPresence; - - UserPreferences({ - required this.audioQuality, - required this.albumColorSync, - required this.amoledDarkTheme, - required this.checkUpdate, - required this.normalizeAudio, - required this.showSystemTrayIcon, - required this.skipNonMusic, - required this.systemTitleBar, - required this.closeBehavior, - required this.accentColorScheme, - required this.layoutMode, - required this.locale, - required this.recommendationMarket, - required this.searchMode, - required this.downloadLocation, - required this.pipedInstance, - required this.themeMode, - required this.audioSource, - required this.streamMusicCodec, - required this.downloadMusicCodec, - required this.discordPresence, - }); - - factory UserPreferences.withDefaults() { - return UserPreferences.fromJson({}); - } - - factory UserPreferences.fromJson(Map json) { - return _$UserPreferencesFromJson(json); - } - - Map toJson() { - return _$UserPreferencesToJson(this); - } - - UserPreferences copyWith({ - ThemeMode? themeMode, - SpotubeColor? accentColorScheme, - bool? albumColorSync, - bool? checkUpdate, - SourceQualities? audioQuality, - String? downloadLocation, - LayoutMode? layoutMode, - CloseBehavior? closeBehavior, - bool? showSystemTrayIcon, - Locale? locale, - String? pipedInstance, - SearchMode? searchMode, - bool? skipNonMusic, - AudioSource? audioSource, - Market? recommendationMarket, - bool? saveTrackLyrics, - bool? amoledDarkTheme, - bool? normalizeAudio, - SourceCodecs? downloadMusicCodec, - SourceCodecs? streamMusicCodec, - bool? systemTitleBar, - bool? discordPresence, - }) { - return UserPreferences( - themeMode: themeMode ?? this.themeMode, - accentColorScheme: accentColorScheme ?? this.accentColorScheme, - albumColorSync: albumColorSync ?? this.albumColorSync, - checkUpdate: checkUpdate ?? this.checkUpdate, - audioQuality: audioQuality ?? this.audioQuality, - downloadLocation: downloadLocation ?? this.downloadLocation, - layoutMode: layoutMode ?? this.layoutMode, - closeBehavior: closeBehavior ?? this.closeBehavior, - showSystemTrayIcon: showSystemTrayIcon ?? this.showSystemTrayIcon, - locale: locale ?? this.locale, - pipedInstance: pipedInstance ?? this.pipedInstance, - searchMode: searchMode ?? this.searchMode, - skipNonMusic: skipNonMusic ?? this.skipNonMusic, - audioSource: audioSource ?? this.audioSource, - recommendationMarket: recommendationMarket ?? this.recommendationMarket, - amoledDarkTheme: amoledDarkTheme ?? this.amoledDarkTheme, - downloadMusicCodec: downloadMusicCodec ?? this.downloadMusicCodec, - normalizeAudio: normalizeAudio ?? this.normalizeAudio, - streamMusicCodec: streamMusicCodec ?? this.streamMusicCodec, - systemTitleBar: systemTitleBar ?? this.systemTitleBar, - discordPresence: discordPresence ?? this.discordPresence, - ); - } } diff --git a/lib/provider/user_preferences/user_preferences_state.freezed.dart b/lib/provider/user_preferences/user_preferences_state.freezed.dart new file mode 100644 index 00000000..4d08d1a9 --- /dev/null +++ b/lib/provider/user_preferences/user_preferences_state.freezed.dart @@ -0,0 +1,697 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'user_preferences_state.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +UserPreferences _$UserPreferencesFromJson(Map json) { + return _UserPreferences.fromJson(json); +} + +/// @nodoc +mixin _$UserPreferences { + SourceQualities get audioQuality => throw _privateConstructorUsedError; + bool get albumColorSync => throw _privateConstructorUsedError; + bool get amoledDarkTheme => throw _privateConstructorUsedError; + bool get checkUpdate => throw _privateConstructorUsedError; + bool get normalizeAudio => throw _privateConstructorUsedError; + bool get showSystemTrayIcon => throw _privateConstructorUsedError; + bool get skipNonMusic => throw _privateConstructorUsedError; + bool get systemTitleBar => throw _privateConstructorUsedError; + CloseBehavior get closeBehavior => throw _privateConstructorUsedError; + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + SpotubeColor get accentColorScheme => throw _privateConstructorUsedError; + LayoutMode get layoutMode => throw _privateConstructorUsedError; + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + Locale get locale => throw _privateConstructorUsedError; + Market get recommendationMarket => throw _privateConstructorUsedError; + SearchMode get searchMode => throw _privateConstructorUsedError; + String get downloadLocation => throw _privateConstructorUsedError; + String get pipedInstance => throw _privateConstructorUsedError; + ThemeMode get themeMode => throw _privateConstructorUsedError; + AudioSource get audioSource => throw _privateConstructorUsedError; + SourceCodecs get streamMusicCodec => throw _privateConstructorUsedError; + SourceCodecs get downloadMusicCodec => throw _privateConstructorUsedError; + bool get discordPresence => throw _privateConstructorUsedError; + bool get endlessPlayback => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $UserPreferencesCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $UserPreferencesCopyWith<$Res> { + factory $UserPreferencesCopyWith( + UserPreferences value, $Res Function(UserPreferences) then) = + _$UserPreferencesCopyWithImpl<$Res, UserPreferences>; + @useResult + $Res call( + {SourceQualities audioQuality, + bool albumColorSync, + bool amoledDarkTheme, + bool checkUpdate, + bool normalizeAudio, + bool showSystemTrayIcon, + bool skipNonMusic, + bool systemTitleBar, + CloseBehavior closeBehavior, + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + SpotubeColor accentColorScheme, + LayoutMode layoutMode, + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + Locale locale, + Market recommendationMarket, + SearchMode searchMode, + String downloadLocation, + String pipedInstance, + ThemeMode themeMode, + AudioSource audioSource, + SourceCodecs streamMusicCodec, + SourceCodecs downloadMusicCodec, + bool discordPresence, + bool endlessPlayback}); +} + +/// @nodoc +class _$UserPreferencesCopyWithImpl<$Res, $Val extends UserPreferences> + implements $UserPreferencesCopyWith<$Res> { + _$UserPreferencesCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? audioQuality = null, + Object? albumColorSync = null, + Object? amoledDarkTheme = null, + Object? checkUpdate = null, + Object? normalizeAudio = null, + Object? showSystemTrayIcon = null, + Object? skipNonMusic = null, + Object? systemTitleBar = null, + Object? closeBehavior = null, + Object? accentColorScheme = null, + Object? layoutMode = null, + Object? locale = null, + Object? recommendationMarket = null, + Object? searchMode = null, + Object? downloadLocation = null, + Object? pipedInstance = null, + Object? themeMode = null, + Object? audioSource = null, + Object? streamMusicCodec = null, + Object? downloadMusicCodec = null, + Object? discordPresence = null, + Object? endlessPlayback = null, + }) { + return _then(_value.copyWith( + audioQuality: null == audioQuality + ? _value.audioQuality + : audioQuality // ignore: cast_nullable_to_non_nullable + as SourceQualities, + albumColorSync: null == albumColorSync + ? _value.albumColorSync + : albumColorSync // ignore: cast_nullable_to_non_nullable + as bool, + amoledDarkTheme: null == amoledDarkTheme + ? _value.amoledDarkTheme + : amoledDarkTheme // ignore: cast_nullable_to_non_nullable + as bool, + checkUpdate: null == checkUpdate + ? _value.checkUpdate + : checkUpdate // ignore: cast_nullable_to_non_nullable + as bool, + normalizeAudio: null == normalizeAudio + ? _value.normalizeAudio + : normalizeAudio // ignore: cast_nullable_to_non_nullable + as bool, + showSystemTrayIcon: null == showSystemTrayIcon + ? _value.showSystemTrayIcon + : showSystemTrayIcon // ignore: cast_nullable_to_non_nullable + as bool, + skipNonMusic: null == skipNonMusic + ? _value.skipNonMusic + : skipNonMusic // ignore: cast_nullable_to_non_nullable + as bool, + systemTitleBar: null == systemTitleBar + ? _value.systemTitleBar + : systemTitleBar // ignore: cast_nullable_to_non_nullable + as bool, + closeBehavior: null == closeBehavior + ? _value.closeBehavior + : closeBehavior // ignore: cast_nullable_to_non_nullable + as CloseBehavior, + accentColorScheme: null == accentColorScheme + ? _value.accentColorScheme + : accentColorScheme // ignore: cast_nullable_to_non_nullable + as SpotubeColor, + layoutMode: null == layoutMode + ? _value.layoutMode + : layoutMode // ignore: cast_nullable_to_non_nullable + as LayoutMode, + locale: null == locale + ? _value.locale + : locale // ignore: cast_nullable_to_non_nullable + as Locale, + recommendationMarket: null == recommendationMarket + ? _value.recommendationMarket + : recommendationMarket // ignore: cast_nullable_to_non_nullable + as Market, + searchMode: null == searchMode + ? _value.searchMode + : searchMode // ignore: cast_nullable_to_non_nullable + as SearchMode, + downloadLocation: null == downloadLocation + ? _value.downloadLocation + : downloadLocation // ignore: cast_nullable_to_non_nullable + as String, + pipedInstance: null == pipedInstance + ? _value.pipedInstance + : pipedInstance // ignore: cast_nullable_to_non_nullable + as String, + themeMode: null == themeMode + ? _value.themeMode + : themeMode // ignore: cast_nullable_to_non_nullable + as ThemeMode, + audioSource: null == audioSource + ? _value.audioSource + : audioSource // ignore: cast_nullable_to_non_nullable + as AudioSource, + streamMusicCodec: null == streamMusicCodec + ? _value.streamMusicCodec + : streamMusicCodec // ignore: cast_nullable_to_non_nullable + as SourceCodecs, + downloadMusicCodec: null == downloadMusicCodec + ? _value.downloadMusicCodec + : downloadMusicCodec // ignore: cast_nullable_to_non_nullable + as SourceCodecs, + discordPresence: null == discordPresence + ? _value.discordPresence + : discordPresence // ignore: cast_nullable_to_non_nullable + as bool, + endlessPlayback: null == endlessPlayback + ? _value.endlessPlayback + : endlessPlayback // ignore: cast_nullable_to_non_nullable + as bool, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$UserPreferencesImplCopyWith<$Res> + implements $UserPreferencesCopyWith<$Res> { + factory _$$UserPreferencesImplCopyWith(_$UserPreferencesImpl value, + $Res Function(_$UserPreferencesImpl) then) = + __$$UserPreferencesImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {SourceQualities audioQuality, + bool albumColorSync, + bool amoledDarkTheme, + bool checkUpdate, + bool normalizeAudio, + bool showSystemTrayIcon, + bool skipNonMusic, + bool systemTitleBar, + CloseBehavior closeBehavior, + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + SpotubeColor accentColorScheme, + LayoutMode layoutMode, + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + Locale locale, + Market recommendationMarket, + SearchMode searchMode, + String downloadLocation, + String pipedInstance, + ThemeMode themeMode, + AudioSource audioSource, + SourceCodecs streamMusicCodec, + SourceCodecs downloadMusicCodec, + bool discordPresence, + bool endlessPlayback}); +} + +/// @nodoc +class __$$UserPreferencesImplCopyWithImpl<$Res> + extends _$UserPreferencesCopyWithImpl<$Res, _$UserPreferencesImpl> + implements _$$UserPreferencesImplCopyWith<$Res> { + __$$UserPreferencesImplCopyWithImpl( + _$UserPreferencesImpl _value, $Res Function(_$UserPreferencesImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? audioQuality = null, + Object? albumColorSync = null, + Object? amoledDarkTheme = null, + Object? checkUpdate = null, + Object? normalizeAudio = null, + Object? showSystemTrayIcon = null, + Object? skipNonMusic = null, + Object? systemTitleBar = null, + Object? closeBehavior = null, + Object? accentColorScheme = null, + Object? layoutMode = null, + Object? locale = null, + Object? recommendationMarket = null, + Object? searchMode = null, + Object? downloadLocation = null, + Object? pipedInstance = null, + Object? themeMode = null, + Object? audioSource = null, + Object? streamMusicCodec = null, + Object? downloadMusicCodec = null, + Object? discordPresence = null, + Object? endlessPlayback = null, + }) { + return _then(_$UserPreferencesImpl( + audioQuality: null == audioQuality + ? _value.audioQuality + : audioQuality // ignore: cast_nullable_to_non_nullable + as SourceQualities, + albumColorSync: null == albumColorSync + ? _value.albumColorSync + : albumColorSync // ignore: cast_nullable_to_non_nullable + as bool, + amoledDarkTheme: null == amoledDarkTheme + ? _value.amoledDarkTheme + : amoledDarkTheme // ignore: cast_nullable_to_non_nullable + as bool, + checkUpdate: null == checkUpdate + ? _value.checkUpdate + : checkUpdate // ignore: cast_nullable_to_non_nullable + as bool, + normalizeAudio: null == normalizeAudio + ? _value.normalizeAudio + : normalizeAudio // ignore: cast_nullable_to_non_nullable + as bool, + showSystemTrayIcon: null == showSystemTrayIcon + ? _value.showSystemTrayIcon + : showSystemTrayIcon // ignore: cast_nullable_to_non_nullable + as bool, + skipNonMusic: null == skipNonMusic + ? _value.skipNonMusic + : skipNonMusic // ignore: cast_nullable_to_non_nullable + as bool, + systemTitleBar: null == systemTitleBar + ? _value.systemTitleBar + : systemTitleBar // ignore: cast_nullable_to_non_nullable + as bool, + closeBehavior: null == closeBehavior + ? _value.closeBehavior + : closeBehavior // ignore: cast_nullable_to_non_nullable + as CloseBehavior, + accentColorScheme: null == accentColorScheme + ? _value.accentColorScheme + : accentColorScheme // ignore: cast_nullable_to_non_nullable + as SpotubeColor, + layoutMode: null == layoutMode + ? _value.layoutMode + : layoutMode // ignore: cast_nullable_to_non_nullable + as LayoutMode, + locale: null == locale + ? _value.locale + : locale // ignore: cast_nullable_to_non_nullable + as Locale, + recommendationMarket: null == recommendationMarket + ? _value.recommendationMarket + : recommendationMarket // ignore: cast_nullable_to_non_nullable + as Market, + searchMode: null == searchMode + ? _value.searchMode + : searchMode // ignore: cast_nullable_to_non_nullable + as SearchMode, + downloadLocation: null == downloadLocation + ? _value.downloadLocation + : downloadLocation // ignore: cast_nullable_to_non_nullable + as String, + pipedInstance: null == pipedInstance + ? _value.pipedInstance + : pipedInstance // ignore: cast_nullable_to_non_nullable + as String, + themeMode: null == themeMode + ? _value.themeMode + : themeMode // ignore: cast_nullable_to_non_nullable + as ThemeMode, + audioSource: null == audioSource + ? _value.audioSource + : audioSource // ignore: cast_nullable_to_non_nullable + as AudioSource, + streamMusicCodec: null == streamMusicCodec + ? _value.streamMusicCodec + : streamMusicCodec // ignore: cast_nullable_to_non_nullable + as SourceCodecs, + downloadMusicCodec: null == downloadMusicCodec + ? _value.downloadMusicCodec + : downloadMusicCodec // ignore: cast_nullable_to_non_nullable + as SourceCodecs, + discordPresence: null == discordPresence + ? _value.discordPresence + : discordPresence // ignore: cast_nullable_to_non_nullable + as bool, + endlessPlayback: null == endlessPlayback + ? _value.endlessPlayback + : endlessPlayback // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$UserPreferencesImpl implements _UserPreferences { + const _$UserPreferencesImpl( + {this.audioQuality = SourceQualities.high, + this.albumColorSync = true, + this.amoledDarkTheme = false, + this.checkUpdate = true, + this.normalizeAudio = false, + this.showSystemTrayIcon = true, + this.skipNonMusic = false, + this.systemTitleBar = false, + this.closeBehavior = CloseBehavior.minimizeToTray, + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + this.accentColorScheme = const SpotubeColor(0xFF2196F3, name: "Blue"), + this.layoutMode = LayoutMode.adaptive, + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + this.locale = const Locale("system", "system"), + this.recommendationMarket = Market.US, + this.searchMode = SearchMode.youtube, + this.downloadLocation = "", + this.pipedInstance = "https://pipedapi.kavin.rocks", + this.themeMode = ThemeMode.system, + this.audioSource = AudioSource.youtube, + this.streamMusicCodec = SourceCodecs.weba, + this.downloadMusicCodec = SourceCodecs.m4a, + this.discordPresence = true, + this.endlessPlayback = true}); + + factory _$UserPreferencesImpl.fromJson(Map json) => + _$$UserPreferencesImplFromJson(json); + + @override + @JsonKey() + final SourceQualities audioQuality; + @override + @JsonKey() + final bool albumColorSync; + @override + @JsonKey() + final bool amoledDarkTheme; + @override + @JsonKey() + final bool checkUpdate; + @override + @JsonKey() + final bool normalizeAudio; + @override + @JsonKey() + final bool showSystemTrayIcon; + @override + @JsonKey() + final bool skipNonMusic; + @override + @JsonKey() + final bool systemTitleBar; + @override + @JsonKey() + final CloseBehavior closeBehavior; + @override + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + final SpotubeColor accentColorScheme; + @override + @JsonKey() + final LayoutMode layoutMode; + @override + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + final Locale locale; + @override + @JsonKey() + final Market recommendationMarket; + @override + @JsonKey() + final SearchMode searchMode; + @override + @JsonKey() + final String downloadLocation; + @override + @JsonKey() + final String pipedInstance; + @override + @JsonKey() + final ThemeMode themeMode; + @override + @JsonKey() + final AudioSource audioSource; + @override + @JsonKey() + final SourceCodecs streamMusicCodec; + @override + @JsonKey() + final SourceCodecs downloadMusicCodec; + @override + @JsonKey() + final bool discordPresence; + @override + @JsonKey() + final bool endlessPlayback; + + @override + String toString() { + return 'UserPreferences(audioQuality: $audioQuality, albumColorSync: $albumColorSync, amoledDarkTheme: $amoledDarkTheme, checkUpdate: $checkUpdate, normalizeAudio: $normalizeAudio, showSystemTrayIcon: $showSystemTrayIcon, skipNonMusic: $skipNonMusic, systemTitleBar: $systemTitleBar, closeBehavior: $closeBehavior, accentColorScheme: $accentColorScheme, layoutMode: $layoutMode, locale: $locale, recommendationMarket: $recommendationMarket, searchMode: $searchMode, downloadLocation: $downloadLocation, pipedInstance: $pipedInstance, themeMode: $themeMode, audioSource: $audioSource, streamMusicCodec: $streamMusicCodec, downloadMusicCodec: $downloadMusicCodec, discordPresence: $discordPresence, endlessPlayback: $endlessPlayback)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$UserPreferencesImpl && + (identical(other.audioQuality, audioQuality) || + other.audioQuality == audioQuality) && + (identical(other.albumColorSync, albumColorSync) || + other.albumColorSync == albumColorSync) && + (identical(other.amoledDarkTheme, amoledDarkTheme) || + other.amoledDarkTheme == amoledDarkTheme) && + (identical(other.checkUpdate, checkUpdate) || + other.checkUpdate == checkUpdate) && + (identical(other.normalizeAudio, normalizeAudio) || + other.normalizeAudio == normalizeAudio) && + (identical(other.showSystemTrayIcon, showSystemTrayIcon) || + other.showSystemTrayIcon == showSystemTrayIcon) && + (identical(other.skipNonMusic, skipNonMusic) || + other.skipNonMusic == skipNonMusic) && + (identical(other.systemTitleBar, systemTitleBar) || + other.systemTitleBar == systemTitleBar) && + (identical(other.closeBehavior, closeBehavior) || + other.closeBehavior == closeBehavior) && + (identical(other.accentColorScheme, accentColorScheme) || + other.accentColorScheme == accentColorScheme) && + (identical(other.layoutMode, layoutMode) || + other.layoutMode == layoutMode) && + (identical(other.locale, locale) || other.locale == locale) && + (identical(other.recommendationMarket, recommendationMarket) || + other.recommendationMarket == recommendationMarket) && + (identical(other.searchMode, searchMode) || + other.searchMode == searchMode) && + (identical(other.downloadLocation, downloadLocation) || + other.downloadLocation == downloadLocation) && + (identical(other.pipedInstance, pipedInstance) || + other.pipedInstance == pipedInstance) && + (identical(other.themeMode, themeMode) || + other.themeMode == themeMode) && + (identical(other.audioSource, audioSource) || + other.audioSource == audioSource) && + (identical(other.streamMusicCodec, streamMusicCodec) || + other.streamMusicCodec == streamMusicCodec) && + (identical(other.downloadMusicCodec, downloadMusicCodec) || + other.downloadMusicCodec == downloadMusicCodec) && + (identical(other.discordPresence, discordPresence) || + other.discordPresence == discordPresence) && + (identical(other.endlessPlayback, endlessPlayback) || + other.endlessPlayback == endlessPlayback)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hashAll([ + runtimeType, + audioQuality, + albumColorSync, + amoledDarkTheme, + checkUpdate, + normalizeAudio, + showSystemTrayIcon, + skipNonMusic, + systemTitleBar, + closeBehavior, + accentColorScheme, + layoutMode, + locale, + recommendationMarket, + searchMode, + downloadLocation, + pipedInstance, + themeMode, + audioSource, + streamMusicCodec, + downloadMusicCodec, + discordPresence, + endlessPlayback + ]); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$UserPreferencesImplCopyWith<_$UserPreferencesImpl> get copyWith => + __$$UserPreferencesImplCopyWithImpl<_$UserPreferencesImpl>( + this, _$identity); + + @override + Map toJson() { + return _$$UserPreferencesImplToJson( + this, + ); + } +} + +abstract class _UserPreferences implements UserPreferences { + const factory _UserPreferences( + {final SourceQualities audioQuality, + final bool albumColorSync, + final bool amoledDarkTheme, + final bool checkUpdate, + final bool normalizeAudio, + final bool showSystemTrayIcon, + final bool skipNonMusic, + final bool systemTitleBar, + final CloseBehavior closeBehavior, + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + final SpotubeColor accentColorScheme, + final LayoutMode layoutMode, + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + final Locale locale, + final Market recommendationMarket, + final SearchMode searchMode, + final String downloadLocation, + final String pipedInstance, + final ThemeMode themeMode, + final AudioSource audioSource, + final SourceCodecs streamMusicCodec, + final SourceCodecs downloadMusicCodec, + final bool discordPresence, + final bool endlessPlayback}) = _$UserPreferencesImpl; + + factory _UserPreferences.fromJson(Map json) = + _$UserPreferencesImpl.fromJson; + + @override + SourceQualities get audioQuality; + @override + bool get albumColorSync; + @override + bool get amoledDarkTheme; + @override + bool get checkUpdate; + @override + bool get normalizeAudio; + @override + bool get showSystemTrayIcon; + @override + bool get skipNonMusic; + @override + bool get systemTitleBar; + @override + CloseBehavior get closeBehavior; + @override + @JsonKey( + fromJson: UserPreferences._accentColorSchemeFromJson, + toJson: UserPreferences._accentColorSchemeToJson, + readValue: UserPreferences._accentColorSchemeReadValue) + SpotubeColor get accentColorScheme; + @override + LayoutMode get layoutMode; + @override + @JsonKey( + fromJson: UserPreferences._localeFromJson, + toJson: UserPreferences._localeToJson, + readValue: UserPreferences._localeReadValue) + Locale get locale; + @override + Market get recommendationMarket; + @override + SearchMode get searchMode; + @override + String get downloadLocation; + @override + String get pipedInstance; + @override + ThemeMode get themeMode; + @override + AudioSource get audioSource; + @override + SourceCodecs get streamMusicCodec; + @override + SourceCodecs get downloadMusicCodec; + @override + bool get discordPresence; + @override + bool get endlessPlayback; + @override + @JsonKey(ignore: true) + _$$UserPreferencesImplCopyWith<_$UserPreferencesImpl> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/provider/user_preferences/user_preferences_state.g.dart b/lib/provider/user_preferences/user_preferences_state.g.dart index 59043601..ce488247 100644 --- a/lib/provider/user_preferences/user_preferences_state.g.dart +++ b/lib/provider/user_preferences/user_preferences_state.g.dart @@ -6,67 +6,63 @@ part of 'user_preferences_state.dart'; // JsonSerializableGenerator // ************************************************************************** -UserPreferences _$UserPreferencesFromJson(Map json) => - UserPreferences( - audioQuality: $enumDecodeNullable( - _$SourceQualitiesEnumMap, json['audioQuality'], - unknownValue: SourceQualities.high) ?? - SourceQualities.high, +_$UserPreferencesImpl _$$UserPreferencesImplFromJson( + Map json) => + _$UserPreferencesImpl( + audioQuality: + $enumDecodeNullable(_$SourceQualitiesEnumMap, json['audioQuality']) ?? + SourceQualities.high, albumColorSync: json['albumColorSync'] as bool? ?? true, amoledDarkTheme: json['amoledDarkTheme'] as bool? ?? false, checkUpdate: json['checkUpdate'] as bool? ?? true, normalizeAudio: json['normalizeAudio'] as bool? ?? false, showSystemTrayIcon: json['showSystemTrayIcon'] as bool? ?? true, - skipNonMusic: json['skipNonMusic'] as bool? ?? true, + skipNonMusic: json['skipNonMusic'] as bool? ?? false, systemTitleBar: json['systemTitleBar'] as bool? ?? false, - closeBehavior: $enumDecodeNullable( - _$CloseBehaviorEnumMap, json['closeBehavior'], - unknownValue: CloseBehavior.minimizeToTray) ?? - CloseBehavior.minimizeToTray, + closeBehavior: + $enumDecodeNullable(_$CloseBehaviorEnumMap, json['closeBehavior']) ?? + CloseBehavior.minimizeToTray, accentColorScheme: UserPreferences._accentColorSchemeReadValue( json, 'accentColorScheme') == null - ? UserPreferences._defaultAccentColorScheme() + ? const SpotubeColor(0xFF2196F3, name: "Blue") : UserPreferences._accentColorSchemeFromJson( UserPreferences._accentColorSchemeReadValue( json, 'accentColorScheme') as Map), - layoutMode: $enumDecodeNullable(_$LayoutModeEnumMap, json['layoutMode'], - unknownValue: LayoutMode.adaptive) ?? - LayoutMode.adaptive, + layoutMode: + $enumDecodeNullable(_$LayoutModeEnumMap, json['layoutMode']) ?? + LayoutMode.adaptive, locale: UserPreferences._localeReadValue(json, 'locale') == null - ? UserPreferences._defaultLocaleValue() + ? const Locale("system", "system") : UserPreferences._localeFromJson( UserPreferences._localeReadValue(json, 'locale') as Map), - recommendationMarket: $enumDecodeNullable( - _$MarketEnumMap, json['recommendationMarket'], - unknownValue: Market.US) ?? - Market.US, - searchMode: $enumDecodeNullable(_$SearchModeEnumMap, json['searchMode'], - unknownValue: SearchMode.youtube) ?? - SearchMode.youtube, - downloadLocation: json['downloadLocation'] as String? ?? '', + recommendationMarket: + $enumDecodeNullable(_$MarketEnumMap, json['recommendationMarket']) ?? + Market.US, + searchMode: + $enumDecodeNullable(_$SearchModeEnumMap, json['searchMode']) ?? + SearchMode.youtube, + downloadLocation: json['downloadLocation'] as String? ?? "", pipedInstance: - json['pipedInstance'] as String? ?? 'https://pipedapi.kavin.rocks', - themeMode: $enumDecodeNullable(_$ThemeModeEnumMap, json['themeMode'], - unknownValue: ThemeMode.system) ?? + json['pipedInstance'] as String? ?? "https://pipedapi.kavin.rocks", + themeMode: $enumDecodeNullable(_$ThemeModeEnumMap, json['themeMode']) ?? ThemeMode.system, - audioSource: $enumDecodeNullable( - _$AudioSourceEnumMap, json['audioSource'], - unknownValue: AudioSource.youtube) ?? - AudioSource.youtube, + audioSource: + $enumDecodeNullable(_$AudioSourceEnumMap, json['audioSource']) ?? + AudioSource.youtube, streamMusicCodec: $enumDecodeNullable( - _$SourceCodecsEnumMap, json['streamMusicCodec'], - unknownValue: SourceCodecs.weba) ?? + _$SourceCodecsEnumMap, json['streamMusicCodec']) ?? SourceCodecs.weba, downloadMusicCodec: $enumDecodeNullable( - _$SourceCodecsEnumMap, json['downloadMusicCodec'], - unknownValue: SourceCodecs.m4a) ?? + _$SourceCodecsEnumMap, json['downloadMusicCodec']) ?? SourceCodecs.m4a, discordPresence: json['discordPresence'] as bool? ?? true, + endlessPlayback: json['endlessPlayback'] as bool? ?? true, ); -Map _$UserPreferencesToJson(UserPreferences instance) => +Map _$$UserPreferencesImplToJson( + _$UserPreferencesImpl instance) => { 'audioQuality': _$SourceQualitiesEnumMap[instance.audioQuality]!, 'albumColorSync': instance.albumColorSync, @@ -90,6 +86,7 @@ Map _$UserPreferencesToJson(UserPreferences instance) => 'streamMusicCodec': _$SourceCodecsEnumMap[instance.streamMusicCodec]!, 'downloadMusicCodec': _$SourceCodecsEnumMap[instance.downloadMusicCodec]!, 'discordPresence': instance.discordPresence, + 'endlessPlayback': instance.endlessPlayback, }; const _$SourceQualitiesEnumMap = { diff --git a/pubspec.lock b/pubspec.lock index 1a95f20e..0d1b2993 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -957,8 +957,16 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + freezed: + dependency: "direct dev" + description: + name: freezed + sha256: "6c5031daae12c7072b3a87eff98983076434b4889ef2a44384d0cae3f82372ba" + url: "https://pub.dev" + source: hosted + version: "2.4.6" freezed_annotation: - dependency: transitive + dependency: "direct main" description: name: freezed_annotation sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d diff --git a/pubspec.yaml b/pubspec.yaml index 1b3d15b0..d3fb5630 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -122,6 +122,7 @@ dependencies: app_links: ^3.5.0 win32_registry: ^1.1.2 flutter_sharing_intent: ^1.1.0 + freezed_annotation: ^2.4.1 dev_dependencies: build_runner: ^2.3.2 @@ -138,6 +139,7 @@ dev_dependencies: json_serializable: ^6.6.2 pub_api_client: ^2.4.0 pubspec_parse: ^1.2.2 + freezed: ^2.4.6 dependency_overrides: http: ^1.1.0 diff --git a/untranslated_messages.json b/untranslated_messages.json index 748a9906..4240c8c0 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -2,108 +2,126 @@ "ar": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "bn": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "ca": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "de": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "es": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "fa": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "fr": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "hi": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "it": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "ja": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "ne": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "nl": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "pl": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "pt": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "ru": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "tr": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "uk": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ], "zh": [ "start_a_radio", "how_to_start_radio", - "replace_queue_question" + "replace_queue_question", + "endless_playback" ] } From 5ad5d16683b22d47d3967111b429588626696f91 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Wed, 31 Jan 2024 18:07:40 +0600 Subject: [PATCH 04/33] chore: use query as key name for endless playback radio search --- lib/components/shared/track_tile/track_options.dart | 5 +++-- lib/hooks/configurators/use_endless_playback.dart | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/components/shared/track_tile/track_options.dart b/lib/components/shared/track_tile/track_options.dart index d0d081ff..419f61a4 100644 --- a/lib/components/shared/track_tile/track_options.dart +++ b/lib/components/shared/track_tile/track_options.dart @@ -95,13 +95,14 @@ class TrackOptions extends HookConsumerWidget { final playback = ref.read(ProxyPlaylistNotifier.notifier); final playlist = ref.read(ProxyPlaylistNotifier.provider); final spotify = ref.read(spotifyProvider); + final query = "${track.name} Radio"; final pages = await QueryClient.of(context) .fetchInfiniteQueryJob, dynamic, int, SearchParams>( - job: SearchQueries.queryJob(SearchType.playlist.name), + job: SearchQueries.queryJob(query), args: ( spotify: spotify, searchType: SearchType.playlist, - query: "${track.name} Radio" + query: query, ), ) ?? []; diff --git a/lib/hooks/configurators/use_endless_playback.dart b/lib/hooks/configurators/use_endless_playback.dart index ffbb6991..f5d11829 100644 --- a/lib/hooks/configurators/use_endless_playback.dart +++ b/lib/hooks/configurators/use_endless_playback.dart @@ -31,13 +31,14 @@ void useEndlessPlayback(WidgetRef ref) { final track = playlist.tracks.last; + final query = "${track.name} Radio"; final pages = await queryClient.fetchInfiniteQueryJob, dynamic, int, SearchParams>( - job: SearchQueries.queryJob(SearchType.playlist.name), + job: SearchQueries.queryJob(query), args: ( spotify: spotify, searchType: SearchType.playlist, - query: "${track.name} Radio" + query: query ), ) ?? []; From 9b9822cc3c7321f069ead85251e2b836d1455a75 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Wed, 31 Jan 2024 21:56:47 +0600 Subject: [PATCH 05/33] chore: add ios development team --- ios/Runner.xcodeproj/project.pbxproj | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6edf52e3..dbcdd7a6 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -1056,6 +1056,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1078,6 +1079,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1099,6 +1101,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1198,6 +1201,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1294,6 +1298,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1387,6 +1392,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1408,6 +1414,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1430,6 +1437,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1452,6 +1460,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1473,6 +1482,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1494,6 +1504,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1515,6 +1526,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1614,6 +1626,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1636,6 +1649,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1732,6 +1746,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1753,6 +1768,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1846,6 +1862,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1867,6 +1884,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1888,6 +1906,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1910,6 +1929,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1932,6 +1952,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1954,6 +1975,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1975,6 +1997,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -1996,6 +2019,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2017,6 +2041,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2038,6 +2063,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2059,6 +2085,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2158,6 +2185,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2180,6 +2208,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2202,6 +2231,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2298,6 +2328,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2319,6 +2350,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2340,6 +2372,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2433,6 +2466,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "stable-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2454,6 +2488,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "dev-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2475,6 +2510,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly"; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 88NVGSJ5N3; ENABLE_BITCODE = NO; INFOPLIST_FILE = "nightly-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( From 46830d212203de84b452eeae4a96475a41ed100f Mon Sep 17 00:00:00 2001 From: Vishwas Saini <85990875+VishwasSaini25@users.noreply.github.com> Date: Fri, 9 Feb 2024 09:25:27 +0530 Subject: [PATCH 06/33] website: Website enhancement (#1203) --- website/pages/index.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/website/pages/index.tsx b/website/pages/index.tsx index 770ffc41..b0032c18 100755 --- a/website/pages/index.tsx +++ b/website/pages/index.tsx @@ -32,7 +32,7 @@ const Root = () => { md: "transparent", }} > - + Spotube @@ -44,7 +44,7 @@ const Root = () => { {/* */} - + { /> { }} color="gray.800" > - Access all your Spotify Music & Playlists + Access all your Spotify Music & Playlists You can use all your Spotify tracks & playlists here. Everything will be in Sync & some action taken from Spotube will also @@ -111,7 +112,7 @@ const Root = () => { display: "block", height: "100%", width: "100%", - background: "url('/headline-2b.png') rgba(0, 0, 0, 0.9)", + background: "url('/headline-2b.png') rgba(0, 0, 0, 0)", bgSize: "contain", bgRepeat: "no-repeat", bgPos: "center", @@ -130,7 +131,7 @@ const Root = () => { From 8167963212eeb5dfb0b4fb2eadf81d466659a9f1 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Fri, 9 Feb 2024 04:59:15 +0100 Subject: [PATCH 07/33] fix(translations): Update app_nl.arb (#1168) I made a couple of improvements to the Dutch translation, which I hope the original translator will appreciate. --- lib/l10n/app_nl.arb | 185 ++++++++++++++++++++++---------------------- 1 file changed, 92 insertions(+), 93 deletions(-) diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index bf819c57..3bece8be 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1,107 +1,107 @@ { "guest": "Gast", "browse": "Bladeren", - "search": "Zoek op", + "search": "Zoeken", "library": "Bibliotheek", - "lyrics": "Liedteksten", + "lyrics": "Teksten", "settings": "Instellingen", - "genre_categories_filter": "Categorieën of genres filteren...", + "genre_categories_filter": "Categorieën of genres filteren…", "genre": "Genre", "personalized": "Gepersonaliseerd", "featured": "Aanbevolen", "new_releases": "Nieuwe uitgaves", "songs": "Liedjes", "playing_track": "{track} afspelen", - "queue_clear_alert": "Dit zal de huidige wachtrij wissen. {track_length} tracks worden verwijderd\nWilt u doorgaan?", + "queue_clear_alert": "Dit zal de huidige wachtrij wissen. {track_length} nummers worden verwijderd\nWil je doorgaan?", "load_more": "Meer laden", "playlists": "Afspeellijsten", - "artists": "Kunstenaars", + "artists": "Artiesten", "albums": "Albums", "tracks": "Nummers", "downloads": "Downloads", - "filter_playlists": "Filter uw afspeellijsten...", + "filter_playlists": "Afspeellijsten filteren…", "liked_tracks": "Geliefde tracks", "liked_tracks_description": "Al je favoriete nummers", - "create_playlist": "Afspeellijst maken", - "create_a_playlist": "Een afspeellijst maken", + "create_playlist": "Afspeellijst aanmaken", + "create_a_playlist": "Een afspeellijst aanmaken", "update_playlist": "Afspeellijst bijwerken", - "create": "Maak", + "create": "Aanmaken", "cancel": "Annuleren", "update": "Bijwerken", - "playlist_name": "Afspeellijstnaam", + "playlist_name": "Naam afspeellijst", "name_of_playlist": "Naam van de afspeellijst", "description": "Beschrijving", "public": "Openbaar", "collaborative": "Samenwerkend", - "search_local_tracks": "Lokale nummers zoeken...", - "play": "Speel", + "search_local_tracks": "Lokale nummers zoeken…", + "play": "Afspelen", "delete": "Wissen", "none": "Geen", "sort_a_z": "Sorteren op A-Z", "sort_z_a": "Sorteren op Z-A", - "sort_artist": "Sorteren op kunstenaar", + "sort_artist": "Sorteren op artiest", "sort_album": "Sorteren op album", "sort_tracks": "Nummers sorteren", "currently_downloading": "Momenteel aan het downloaden ({tracks_length})", "cancel_all": "Alle annuleren", - "filter_artist": "Kunstenaars filteren...", + "filter_artist": "Artiesten filteren…", "followers": "{followers} volgers", - "add_artist_to_blacklist": "Kunstenaar toevoegen aan zwarte lijst", + "add_artist_to_blacklist": "Artiest toevoegen aan zwarte lijst", "top_tracks": "Topsporen", "fans_also_like": "Liefhebbers willen ook", - "loading": "Aan het laden...", - "artist": "Kunstenaar", - "blacklisted": "Op de zwarte lijst", - "following": "Op volg", + "loading": "Laden…", + "artist": "Artiest", + "blacklisted": "Zwarte lijst", + "following": "Volgen", "follow": "Volgen", "artist_url_copied": "URL artiest gekopieerd naar klembord", - "added_to_queue": "{tracks} tracks toegevoegd aan wachtrij", - "filter_albums": "Albums filteren...", + "added_to_queue": "{tracks} nummers toegevoegd aan wachtrij", + "filter_albums": "Albums filteren…", "synced": "Gesynchroniseerd", "plain": "Eenvoudig", - "shuffle": "Schuifelen", - "search_tracks": "Zoek nummers...", - "released": "Vrijgegeven", + "shuffle": "Willekeurig", + "search_tracks": "Nummers zoeken…", + "released": "Uitgegeven", "error": "Fout {error}", "title": "Titel", "time": "Tijd", "more_actions": "Meer acties", "download_count": "({count}) downloads", - "add_count_to_playlist": "Voeg ({count}) toe aan afspeellijst", - "add_count_to_queue": "Voeg ({count}) toe aan wachtrij", - "play_count_next": "Speel ({count}) volgende", + "add_count_to_playlist": "({count}) aan afspeellijst toevoegen", + "add_count_to_queue": "({count}) aan wachtrij toevoegen", + "play_count_next": "Volgende ({count}) afspelen", "album": "Album", "copied_to_clipboard": "{data} naar klembord gekopieerd", - "add_to_following_playlists": "Voeg {track} toe aan volgende afspeellijsten", + "add_to_following_playlists": "{track} aan volgende afspeellijsten toevoegen", "add": "Toevoegen", - "added_track_to_queue": "{track} toegevoegd aan wachtrij", + "added_track_to_queue": "{track} aan wachtrij toegevoegd", "add_to_queue": "Toevoegen aan wachtrij", - "track_will_play_next": "{track} zal hierna spelen", + "track_will_play_next": "{track} wordt hierna afgespeeld", "play_next": "Volgende afspelen", - "removed_track_from_queue": "{track} uit wachtrij verwijderd", - "remove_from_queue": "Verwijderen uit wachtrij", - "remove_from_favorites": "Verwijderen uit favorieten", + "removed_track_from_queue": "{track} van wachtrij verwijderd", + "remove_from_queue": "Van wachtrij verwijderen", + "remove_from_favorites": "Van favorieten verwijderen", "save_as_favorite": "Opslaan als favoriet", - "add_to_playlist": "Toevoegen aan afspeellijst", - "remove_from_playlist": "Verwijderen uit afspeellijst", - "add_to_blacklist": "Toevoegen aan zwarte lijst", - "remove_from_blacklist": "Verwijderen uit zwarte lijst", + "add_to_playlist": "Aan afspeellijst toevoegen", + "remove_from_playlist": "Van afspeellijst verwijderen", + "add_to_blacklist": "Aan zwarte lijst toevoegen", + "remove_from_blacklist": "Van zwarte lijst verwijderen", "share": "Delen", "mini_player": "Minispeler", - "slide_to_seek": "Schuif om vooruit of achteruit te zoeken", + "slide_to_seek": "Schuiven om vooruit of achteruit te zoeken", "shuffle_playlist": "Afspeellijst schuifelen", "unshuffle_playlist": "Afspeellijst onschuifelen", "previous_track": "Vorige nummer", "next_track": "Volgende nummer", - "pause_playback": "Weergave pauzeren", - "resume_playback": "Weergave hervatten", - "loop_track": "Nummer loopen", + "pause_playback": "Afspelen pauzeren", + "resume_playback": "Afspelen hervatten", + "loop_track": "Nummer herhalen", "repeat_playlist": "Afspeellijst herhalen", "queue": "Wachtrij", "alternative_track_sources": "Alternatieve nummerbronnen", "download_track": "Nummer downloaden", - "tracks_in_queue": "{tracks} tracks in wachtrij", - "clear_all": "Wis alles", + "tracks_in_queue": "{tracks} nummers in wachtrij", + "clear_all": "Alles wissen", "show_hide_ui_on_hover": "UI tonen/verbergen bij zweven", "always_on_top": "Altijd bovenaan", "exit_mini_player": "Minispeler afsluiten", @@ -111,7 +111,7 @@ "connect_with_spotify": "Verbinden met Spotify", "logout": "Afmelden", "logout_of_this_account": "Afmelden van dit account", - "language_region": "Taal & Regio", + "language_region": "Taal & regio", "language": "Taal", "system_default": "Systeemstandaard", "market_place_region": "Marktplaats-regio", @@ -119,76 +119,78 @@ "appearance": "Uiterlijk", "layout_mode": "Opmaakmodus", "override_layout_settings": "Instellingen voor responsieve opmaakmodus opheffen", - "adaptive": "Aanpassingsgericht", + "adaptive": "Adaptief", "compact": "Compact", - "extended": "Uitgebreide", + "extended": "Uitgebreid", "theme": "Thema", "dark": "Donker", "light": "Licht", "system": "Systeem", "accent_color": "Accentkleur", "sync_album_color": "Albumkleur synchroniseren", - "sync_album_color_description": "Gebruikt de overheersende kleur van het albumartikel als accentkleur", + "sync_album_color_description": "Gebruikt de overheersende kleur van het album als accentkleur", "playback": "Weergave", "audio_quality": "Audiokwaliteit", "high": "Hoog", "low": "Laag", - "pre_download_play": "Vooraf downloaden en spelen", + "pre_download_play": "Vooraf downloaden en afspelen", "pre_download_play_description": "In plaats van audio te streamen, kun je bytes downloaden en afspelen (aanbevolen voor gebruikers met een hogere bandbreedte)", "skip_non_music": "Niet-muzieksegmenten overslaan (SponsorBlock)", "blacklist_description": "Nummers en artiesten op de zwarte lijst", "wait_for_download_to_finish": "Wacht tot de huidige download is voltooid", "desktop": "Bureaublad", "close_behavior": "Sluitgedrag", - "close": "Sluit af", - "minimize_to_tray": "Minimaliseren naar lade", + "close": "Afsluiten", + "minimize_to_tray": "Minimaliseren naar systeemvak", "show_tray_icon": "Systeemvakpictogram tonen", "about": "Over", - "u_love_spotube": "We weten dat jullie van Spotube houden", + "u_love_spotube": "We weten dat je van Spotube houd", "check_for_updates": "Controleren op updates", "about_spotube": "Over Spotube", "blacklist": "Zwarte lijst", "please_sponsor": "Sponsor/Doneer a.u.b.", "spotube_description": "Spotube, een lichtgewicht, cross-platform, vrij-voor-alles Spotify-client", "version": "Versie", - "build_number": "Beeldnummer", - "founder": "Stichter", + "build_number": "Bouwnummer", + "founder": "Grondlegger", "repository": "Opslagplaats", "bug_issues": "Bug+problemen", - "made_with": "Gemaakt met ❤️ in Bangladesh🇧🇩", + "made_with": "Met ❤️ gemaakt in Bangladesh🇧🇩", "kingkor_roy_tirtho": "Kingkor Roy Tirtho", "copyright": "© 2021-{current_year} Kingkor Roy Tirtho", "license": "Licentie", - "add_spotify_credentials": "Voeg je spotify-referenties toe om te beginnen", - "credentials_will_not_be_shared_disclaimer": "Maakt u geen zorgen, uw gegevens worden niet verzameld of gedeeld met anderen.", - "know_how_to_login": "Weet u niet hoe u dit moet doen?", - "follow_step_by_step_guide": "Volg de stap voor stap gids", + "add_spotify_credentials": "Voeg om te beginnen je spotify-aanmeldgegevens toe", + "credentials_will_not_be_shared_disclaimer": "Maak je geen zorgen, je gegevens worden niet verzameld of gedeeld met anderen.", + "know_how_to_login": "Weet je niet hoe je dit moet doen?", + "follow_step_by_step_guide": "Volg de stapsgewijze handleiding", "spotify_cookie": "Spotify {name} Cookie", "cookie_name_cookie": "{name} Cookie", "fill_in_all_fields": "Vul alle velden in a.u.b.", "submit": "Verzenden", - "exit": "Ga weg", + "exit": "Afronden", "previous": "Vorige", "next": "Volgende", "done": "Klaar", "step_1": "Stap 1", "first_go_to": "Ga eerst naar", - "login_if_not_logged_in": "en Inloggen/Aanmelden als u niet bent ingelogd", + "login_if_not_logged_in": "en Inloggen/Aanmelden als je niet bent ingelogd", "step_2": "Stap 2", "step_2_steps": "1. Zodra je bent aangemeld, druk je op F12 of klik je met de rechtermuisknop > Inspect om de Browser devtools te openen.\n2. Ga vervolgens naar het tabblad \"Toepassing\" (Chrome, Edge, Brave enz..) of naar het tabblad \"Opslag\" (Firefox, Palemoon enz..).\n3. Ga naar de sectie \"Cookies\" en vervolgens naar de subsectie \"https://accounts.spotify.com\".", "step_3": "Stap 3", + "step_3_steps": "De waarde van cookie \"sp_dc\" kopiëren", "success_emoji": "Succes🥳", - "success_message": "Je bent nu succesvol ingelogd met je Spotify account. Goed gedaan, maat!", + "success_message": "Je bent nu ingelogd met je Spotify account. Goed gedaan!", "step_4": "Stap 4", + "step_4_steps": "De gekopieerde waarde \"sp_dc\" plakken", "something_went_wrong": "Er ging iets mis", "piped_instance": "Piped-serverinstantie", - "piped_description": "De Piped-serverinstantie die moet worden gebruikt voor het matchen van sporen", + "piped_description": "De Piped-serverinstantie die moet worden gebruikt voor overeenkomstige nummers", "piped_warning": "Sommige werken misschien niet goed. Dus gebruik ze op eigen risico", "generate_playlist": "Afspeellijst genereren", "track_exists": "Nummer {track} bestaat al", "replace_downloaded_tracks": "Alle gedownloade nummers vervangen", "skip_download_tracks": "Downloaden van alle gedownloade nummers overslaan", - "do_you_want_to_replace": "Wil je de bestaande nummer vervangen?", + "do_you_want_to_replace": "Wil je het bestaande nummer vervangen?", "replace": "Vervangen", "skip": "Overslaan", "select_up_to_count_type": "Selecteer tot {count} {type}", @@ -196,13 +198,13 @@ "add_genres": "Genres toevoegen", "country": "Land", "number_of_tracks_generate": "Aantal nummers om te genereren", - "acousticness": "Akoesticiteit", + "acousticness": "Akoestiek", "danceability": "Dansbaarheid", "energy": "Energie", "instrumentalness": "Instrumentaliteit", "liveness": "Levendigheid", "loudness": "Luidheid", - "speechiness": "Sprakeligheid", + "speechiness": "Spraak", "valence": "Valentie", "popularity": "Populariteit", "key": "Sleutel", @@ -217,16 +219,16 @@ "max": "Max", "target": "Doel", "moderate": "Matig", - "deselect_all": "Alles deselecteren", + "deselect_all": "Selectie opheffen", "select_all": "Alles selecteren", "are_you_sure": "Weet je het zeker?", - "generating_playlist": "Je aangepaste afspeellijst genereren...", + "generating_playlist": "Aangepaste afspeellijst genereren…", "selected_count_tracks": "{count} nummers geselecteerd", - "download_warning": "Als je alle Tracks in bulk downloadt, ben je duidelijk bezig met muziekpiraterij en breng je schade toe aan de creatieve muziekmaatschappij. Ik hoop dat je je hiervan bewust bent. Probeer altijd het harde werk van artiesten te respecteren en te steunen.", - "download_ip_ban_warning": "BTW, je IP-adres kan worden geblokkeerd op YouTube als gevolg van buitensporige downloadverzoeken dan normaal. IP blokkering betekent dat je YouTube niet kunt gebruiken (zelfs als je ingelogd bent) voor tenminste 2-3 maanden vanaf dat IP apparaat. Spotube is niet verantwoordelijk als dit ooit gebeurt.", + "download_warning": "Als je alle nummers in bulk downloadt, ben je duidelijk bezig met muziekpiraterij en breng je schade toe aan de creatieve muziekmaatschappij. Ik hoop dat je je hiervan bewust bent. Probeer altijd het harde werk van artiesten te respecteren en te steunen.", + "download_ip_ban_warning": "BTW, je IP-adres kan worden geblokkeerd op YouTube als gevolg van buitensporige downloadverzoeken. IP-blokkering betekent dat je YouTube niet kunt gebruiken (zelfs als je ingelogd bent) voor tenminste 2-3 maanden vanaf dat IP-apparaat. Spotube is niet verantwoordelijk als dit ooit gebeurt.", "by_clicking_accept_terms": "Door op 'accepteren' te klikken ga je akkoord met de volgende voorwaarden:", - "download_agreement_1": "Ik weet dat ik muziek illegaal verveel. Ik ben en crimineel.", - "download_agreement_2": "Ik steun de kunstenaar waar ik kan en ik doe dit alleen omdat ik geen geld heb om hun kunst te kopen.", + "download_agreement_1": "Ik weet dat ik muziek illegaal donload. Ik ben slecht.", + "download_agreement_2": "Ik steun de artiest waar ik kan en ik doe dit alleen omdat ik geen geld heb om hun kunst te kopen.", "download_agreement_3": "Ik ben me er volledig van bewust dat mijn IP geblokkeerd kan worden op YouTube & ik houd Spotube of zijn eigenaars/contributeurs niet verantwoordelijk voor ongelukken die veroorzaakt worden door mijn huidige actie.", "decline": "Weigeren", "accept": "Accepteren", @@ -247,45 +249,42 @@ "custom_hours": "Aangepaste uren", "logs": "Logboeken", "developers": "Ontwikkelaars", - "not_logged_in": "U bent niet aangemeld", + "not_logged_in": "Je bent niet aangemeld", "search_mode": "Zoekmodus", "youtube_api_type": "API-type", "ok": "Oké", "failed_to_encrypt": "Versleuteling mislukt", - "encryption_failed_warning": "Spotube gebruikt encryptie om je gegevens veilig op te slaan. Maar dat is niet gelukt. Dus zal het terugvallen op onveilige opslag.\nAls je linux gebruikt, zorg er dan voor dat je een geheim-dienst (gnome-keyring, kde-wallet, keepassxc etc) hebt geïnstalleerd.", - "querying_info": "Info opvragen...", + "encryption_failed_warning": "Spotube gebruikt versleuteling om je gegevens veilig op te slaan. Maar dat is niet gelukt. Dus zal het terugvallen op onveilige opslag.\nAls je linux gebruikt, zorg er dan voor dat je een geheim-dienst (gnome-keyring, kde-wallet, keepassxc etc) hebt geïnstalleerd.", + "querying_info": "Info opvragen…", "piped_api_down": "Piped API is uit", "piped_down_error_instructions": "De Piped-instantie {pipedInstance} is momenteel uitgevallen\n\nVerander de instantie of verander het 'API-type' naar de officiële YouTube API.\n\nZorg ervoor dat u de app herstart na de wijziging", - "you_are_offline": "U bent momenteel offline", - "connection_restored": "Uw internetverbinding is hersteld", + "you_are_offline": "Je bent momenteel offline", + "connection_restored": "Je internetverbinding is hersteld", "use_system_title_bar": "Systeemtitelbalk gebruiken", - "crunching_results": "Resultaten kraken...", - "search_to_get_results": "Zoek om resultaten te krijgen", + "crunching_results": "Resultaten verwerken…", + "search_to_get_results": "Zoeken naar resultaten", "use_amoled_mode": "Pikzwart donkerthema", "pitch_dark_theme": "AMOLED-modus", "normalize_audio": "Audio normaliseren", - "change_cover": "Dekking wijzigen", - "add_cover": "Dekking toevoegen", + "change_cover": "Hoes aanpassen", + "add_cover": "Hoes toevoegen", "restore_defaults": "Standaardwaarden herstellen", - "download_music_codec": "Muziek-codec downloaden", - "streaming_music_codec": "Muziek-codec streamen", - "login_with_lastfm": "Aanmelden met Last.fm", + "download_music_codec": "Download-codec", + "streaming_music_codec": "Streaming-codec", + "login_with_lastfm": "Inloggen met Last.fm", "connect": "Verbinden", "disconnect_lastfm": "Last.fm verbreken", - "disconnect": "Ontkoppelen", + "disconnect": "Verbeken", "username": "Gebruikersnaam", "password": "Wachtwoord", "login": "Inloggen", - "login_with_your_lastfm": "Inloggen met uw Last.fm account", - "scrobble_to_lastfm": "Scrobbel naar Last.fm", - "audio_source": "Audiobron", + "login_with_your_lastfm": "Inloggen met je Last.fm account", + "scrobble_to_lastfm": "Scrobbelen naar Last.fm", "go_to_album": "Ga naar album", "discord_rich_presence": "Discord Rich Presence", - "browse_all": "Alles bekijken", + "browse_all": "Alles doorbladeren", "genres": "Genres", - "explore_genres": "Verken genres", - "step_3_steps": "Kopieer de waarde van de \"sp_dc\"-cookie", - "step_4_steps": "Plak de gekopieerde waarde van \"sp_dc\"", + "explore_genres": "Genres verkennen", "friends": "Vrienden", - "no_lyrics_available": "Sorry, kan geen teksten vinden voor deze track" -} \ No newline at end of file + "no_lyrics_available": "Sorry, geen teksten gevonden voor dit nummer" +} From 0737a362d88e7d4d98e9b848d051b5e09bd455fc Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Fri, 9 Feb 2024 05:00:09 +0100 Subject: [PATCH 08/33] chore: Add 2nd dutch translator (#1170) 2nd Dutch translator added --- lib/l10n/l10n.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart index 335be545..51d4ef7c 100644 --- a/lib/l10n/l10n.dart +++ b/lib/l10n/l10n.dart @@ -8,7 +8,7 @@ /// yuri-val@github => Ukrainian /// energywave@github, ncvescera@github, OpenCode@github => Italian /// mdksec@github => Turkish -/// SecularSteve@github => Dutch +/// Stephan-P@github, SecularSteve@github => Dutch import 'package:flutter/material.dart'; class L10n { From 8ed65bfa179000607397f3170c057d34afe37a56 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 13:45:54 +0600 Subject: [PATCH 09/33] chore: add folders to git ignore --- website/.gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/website/.gitignore b/website/.gitignore index 737d8721..ee4209a0 100755 --- a/website/.gitignore +++ b/website/.gitignore @@ -33,3 +33,6 @@ yarn-error.log* # typescript *.tsbuildinfo + +/.svelte-kit +/.netlify From cd669e22c12679ae328fdefdb460cc16dc2e88d0 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 13:48:27 +0600 Subject: [PATCH 10/33] website: new sveltekit based website (#1239) * feat: initialize website project * feat: add initial homepage with download links * feat: initial download page * fix: linux icon color * feat: add mobile nav and github star button * feat: add older and nightly downloads page * feat: add supporters and footer * feat: add author details in about page * feat: add darkmode toggle for website * feat: add playstore and flathub download buttons and contribution button * feat: add blogs support * feat: remove netlify deploy config and add cloudflare config and favicons + manifest * chore: add robots.txt * feat: add spotube logo in navbar and fix build errors * chore: add gap --- website/.eslintignore | 13 + website/.eslintrc.cjs | 31 + website/.eslintrc.json | 6 - website/.gitignore | 45 +- website/.node-version | 1 + website/.npmrc | 1 + website/.prettierignore | 4 + website/.prettierrc | 10 +- website/.vscode/settings.json | 120 + website/README.md | 50 +- website/components/AdDetector.tsx | 133 - website/components/ArticleCard.tsx | 138 - website/components/CodeBlock.tsx | 25 - website/components/DownloadButton.tsx | 118 - website/components/Footer.tsx | 88 - website/components/Navbar.tsx | 218 - website/components/UserDetailedCard.tsx | 153 - website/components/special.tsx | 72 - website/configurations/gtag.ts | 17 - website/configurations/ocotokit.ts | 3 - website/hooks/usePlatform.ts | 26 - website/misc/MarkdownComponentDefs.tsx | 43 - website/next-env.d.ts | 5 - website/next.config.js | 7 - website/package-lock.json | 6391 +++++++++++++++++ website/package.json | 92 +- website/pages/_app.tsx | 138 - website/pages/about/index.tsx | 68 - website/pages/blog/[slug].tsx | 119 - website/pages/blog/index.tsx | 66 - website/pages/index.tsx | 181 - website/pages/other-downloads/index.tsx | 109 - .../other-downloads/nightly-downloads.tsx | 118 - .../pages/other-downloads/package-manager.tsx | 117 - .../other-downloads/stable-downloads.tsx | 195 - website/playwright.config.ts | 12 + website/pnpm-lock.yaml | 4502 ------------ website/postcss.config.cjs | 6 + website/posts/getting-started-with-spotube.md | 84 - website/posts/images/.gitkeep | 0 website/posts/spotube-basics.md | 41 + website/public/android-chrome-192x192.png | Bin 25999 -> 0 bytes website/public/android-chrome-512x512.png | Bin 25999 -> 0 bytes website/public/apple-touch-icon.png | Bin 26572 -> 0 bytes website/public/favicon-16x16.png | Bin 1627 -> 0 bytes website/public/favicon-32x32.png | Bin 2682 -> 0 bytes website/public/favicon.ico | Bin 1150 -> 0 bytes website/public/google7d445d7199e703dc.html | 1 - website/public/headline-1.png | Bin 344416 -> 0 bytes website/public/headline-2a.svg | 1 - website/public/headline-2b.png | Bin 1167053 -> 0 bytes website/public/headline-3.svg | 1 - website/public/site.webmanifest | 1 - website/public/spotube-screenshot-web.jpg | Bin 330295 -> 0 bytes website/src/app.d.ts | 22 + website/src/app.html | 23 + website/src/app.postcss | 11 + .../downloads/download-items.svelte | 25 + .../src/lib/components/markdown/layout.svelte | 3 + .../components/navbar/darkmode-toggle.svelte | 32 + .../src/lib/components/navbar/navbar.svelte | 57 + .../lib/components/navdrawer/navdrawer.svelte | 37 + website/src/lib/index.ts | 61 + website/src/lib/persisted-store.ts | 106 + website/src/lib/posts.ts | 41 + website/src/routes/+layout.svelte | 71 + website/src/routes/+page.svelte | 110 + website/src/routes/+page.ts | 34 + website/src/routes/about/+page.svelte | 22 + website/src/routes/api/posts/+server.ts | 9 + website/src/routes/blog/+page.svelte | 32 + website/src/routes/blog/+page.ts | 11 + website/src/routes/blog/[slug]/+page.svelte | 26 + website/src/routes/blog/[slug]/+page.ts | 23 + website/src/routes/downloads/+page.svelte | 39 + .../src/routes/downloads/nightly/+page.svelte | 33 + .../src/routes/downloads/older/+page.svelte | 138 + website/src/routes/downloads/older/+page.ts | 14 + .../src/routes/downloads/packages/+page.svx | 70 + website/static/android-chrome-192x192.png | Bin 0 -> 12127 bytes website/static/android-chrome-512x512.png | Bin 0 -> 64675 bytes website/static/apple-touch-icon.png | Bin 0 -> 10898 bytes website/static/favicon-16x16.png | Bin 0 -> 390 bytes website/static/favicon-32x32.png | Bin 0 -> 777 bytes website/static/favicon.ico | Bin 0 -> 15406 bytes website/static/fonts/AbrilFatface.ttf | Bin 0 -> 58448 bytes website/static/images/spotube-logo.png | Bin 0 -> 91271 bytes .../images}/spotube-logo.svg | 0 website/static/manifest.json | 19 + website/static/robots.txt | 1 + website/styles/globals.css | 16 - website/svelte.config.js | 55 + website/tailwind.config.ts | 28 + website/tests/test.ts | 6 + website/tsconfig.json | 31 +- website/vite.config.ts | 22 + 96 files changed, 7913 insertions(+), 6885 deletions(-) create mode 100644 website/.eslintignore create mode 100644 website/.eslintrc.cjs delete mode 100755 website/.eslintrc.json mode change 100755 => 100644 website/.gitignore create mode 100644 website/.node-version create mode 100644 website/.npmrc create mode 100644 website/.prettierignore create mode 100644 website/.vscode/settings.json mode change 100755 => 100644 website/README.md delete mode 100644 website/components/AdDetector.tsx delete mode 100644 website/components/ArticleCard.tsx delete mode 100644 website/components/CodeBlock.tsx delete mode 100644 website/components/DownloadButton.tsx delete mode 100644 website/components/Footer.tsx delete mode 100644 website/components/Navbar.tsx delete mode 100644 website/components/UserDetailedCard.tsx delete mode 100644 website/components/special.tsx delete mode 100644 website/configurations/gtag.ts delete mode 100644 website/configurations/ocotokit.ts delete mode 100644 website/hooks/usePlatform.ts delete mode 100644 website/misc/MarkdownComponentDefs.tsx delete mode 100755 website/next-env.d.ts delete mode 100755 website/next.config.js create mode 100644 website/package-lock.json delete mode 100755 website/pages/_app.tsx delete mode 100644 website/pages/about/index.tsx delete mode 100644 website/pages/blog/[slug].tsx delete mode 100644 website/pages/blog/index.tsx delete mode 100755 website/pages/index.tsx delete mode 100644 website/pages/other-downloads/index.tsx delete mode 100644 website/pages/other-downloads/nightly-downloads.tsx delete mode 100644 website/pages/other-downloads/package-manager.tsx delete mode 100644 website/pages/other-downloads/stable-downloads.tsx create mode 100644 website/playwright.config.ts delete mode 100644 website/pnpm-lock.yaml create mode 100644 website/postcss.config.cjs delete mode 100644 website/posts/getting-started-with-spotube.md create mode 100644 website/posts/images/.gitkeep create mode 100644 website/posts/spotube-basics.md delete mode 100644 website/public/android-chrome-192x192.png delete mode 100644 website/public/android-chrome-512x512.png delete mode 100644 website/public/apple-touch-icon.png delete mode 100644 website/public/favicon-16x16.png delete mode 100644 website/public/favicon-32x32.png delete mode 100644 website/public/favicon.ico delete mode 100644 website/public/google7d445d7199e703dc.html delete mode 100644 website/public/headline-1.png delete mode 100644 website/public/headline-2a.svg delete mode 100644 website/public/headline-2b.png delete mode 100644 website/public/headline-3.svg delete mode 100644 website/public/site.webmanifest delete mode 100644 website/public/spotube-screenshot-web.jpg create mode 100644 website/src/app.d.ts create mode 100644 website/src/app.html create mode 100644 website/src/app.postcss create mode 100644 website/src/lib/components/downloads/download-items.svelte create mode 100644 website/src/lib/components/markdown/layout.svelte create mode 100644 website/src/lib/components/navbar/darkmode-toggle.svelte create mode 100644 website/src/lib/components/navbar/navbar.svelte create mode 100644 website/src/lib/components/navdrawer/navdrawer.svelte create mode 100644 website/src/lib/index.ts create mode 100644 website/src/lib/persisted-store.ts create mode 100644 website/src/lib/posts.ts create mode 100644 website/src/routes/+layout.svelte create mode 100644 website/src/routes/+page.svelte create mode 100644 website/src/routes/+page.ts create mode 100644 website/src/routes/about/+page.svelte create mode 100644 website/src/routes/api/posts/+server.ts create mode 100644 website/src/routes/blog/+page.svelte create mode 100644 website/src/routes/blog/+page.ts create mode 100644 website/src/routes/blog/[slug]/+page.svelte create mode 100644 website/src/routes/blog/[slug]/+page.ts create mode 100644 website/src/routes/downloads/+page.svelte create mode 100644 website/src/routes/downloads/nightly/+page.svelte create mode 100644 website/src/routes/downloads/older/+page.svelte create mode 100644 website/src/routes/downloads/older/+page.ts create mode 100644 website/src/routes/downloads/packages/+page.svx create mode 100644 website/static/android-chrome-192x192.png create mode 100644 website/static/android-chrome-512x512.png create mode 100644 website/static/apple-touch-icon.png create mode 100644 website/static/favicon-16x16.png create mode 100644 website/static/favicon-32x32.png create mode 100644 website/static/favicon.ico create mode 100644 website/static/fonts/AbrilFatface.ttf create mode 100644 website/static/images/spotube-logo.png rename website/{public => static/images}/spotube-logo.svg (100%) create mode 100644 website/static/manifest.json create mode 100644 website/static/robots.txt delete mode 100755 website/styles/globals.css create mode 100644 website/svelte.config.js create mode 100644 website/tailwind.config.ts create mode 100644 website/tests/test.ts mode change 100755 => 100644 website/tsconfig.json create mode 100644 website/vite.config.ts diff --git a/website/.eslintignore b/website/.eslintignore new file mode 100644 index 00000000..38972655 --- /dev/null +++ b/website/.eslintignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example + +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/website/.eslintrc.cjs b/website/.eslintrc.cjs new file mode 100644 index 00000000..0b757582 --- /dev/null +++ b/website/.eslintrc.cjs @@ -0,0 +1,31 @@ +/** @type { import("eslint").Linter.Config } */ +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:svelte/recommended', + 'prettier' + ], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] + }, + env: { + browser: true, + es2017: true, + node: true + }, + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser' + } + } + ] +}; diff --git a/website/.eslintrc.json b/website/.eslintrc.json deleted file mode 100755 index 22c30ebe..00000000 --- a/website/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": [ - "next/core-web-vitals", - "prettier" - ] -} \ No newline at end of file diff --git a/website/.gitignore b/website/.gitignore old mode 100755 new mode 100644 index ee4209a0..c1f6d69f --- a/website/.gitignore +++ b/website/.gitignore @@ -1,38 +1,11 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc .DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo - +node_modules +/build /.svelte-kit -/.netlify +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* +.netlify diff --git a/website/.node-version b/website/.node-version new file mode 100644 index 00000000..18c28417 --- /dev/null +++ b/website/.node-version @@ -0,0 +1 @@ +20.11.0 \ No newline at end of file diff --git a/website/.npmrc b/website/.npmrc new file mode 100644 index 00000000..b6f27f13 --- /dev/null +++ b/website/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/website/.prettierignore b/website/.prettierignore new file mode 100644 index 00000000..cc41cea9 --- /dev/null +++ b/website/.prettierignore @@ -0,0 +1,4 @@ +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/website/.prettierrc b/website/.prettierrc index 78760076..95730232 100644 --- a/website/.prettierrc +++ b/website/.prettierrc @@ -1,4 +1,8 @@ { - "singleQuote": false, - "useTabs": false -} \ No newline at end of file + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte"], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/website/.vscode/settings.json b/website/.vscode/settings.json new file mode 100644 index 00000000..e5c5673c --- /dev/null +++ b/website/.vscode/settings.json @@ -0,0 +1,120 @@ +{ + "prettier.documentSelectors": [ + "**/*.svelte" + ], + "tailwindCSS.classAttributes": [ + "class", + "accent", + "active", + "animIndeterminate", + "aspectRatio", + "background", + "badge", + "bgBackdrop", + "bgDark", + "bgDrawer", + "bgLight", + "blur", + "border", + "button", + "buttonAction", + "buttonBack", + "buttonClasses", + "buttonComplete", + "buttonDismiss", + "buttonNeutral", + "buttonNext", + "buttonPositive", + "buttonTextCancel", + "buttonTextConfirm", + "buttonTextFirst", + "buttonTextLast", + "buttonTextNext", + "buttonTextPrevious", + "buttonTextSubmit", + "caretClosed", + "caretOpen", + "chips", + "color", + "controlSeparator", + "controlVariant", + "cursor", + "display", + "element", + "fill", + "fillDark", + "fillLight", + "flex", + "flexDirection", + "gap", + "gridColumns", + "height", + "hover", + "inactive", + "indent", + "justify", + "meter", + "padding", + "position", + "regionAnchor", + "regionBackdrop", + "regionBody", + "regionCaption", + "regionCaret", + "regionCell", + "regionChildren", + "regionChipList", + "regionChipWrapper", + "regionCone", + "regionContent", + "regionControl", + "regionDefault", + "regionDrawer", + "regionFoot", + "regionFootCell", + "regionFooter", + "regionHead", + "regionHeadCell", + "regionHeader", + "regionIcon", + "regionInput", + "regionInterface", + "regionInterfaceText", + "regionLabel", + "regionLead", + "regionLegend", + "regionList", + "regionListItem", + "regionNavigation", + "regionPage", + "regionPanel", + "regionRowHeadline", + "regionRowMain", + "regionSummary", + "regionSymbol", + "regionTab", + "regionTrail", + "ring", + "rounded", + "select", + "shadow", + "slotDefault", + "slotFooter", + "slotHeader", + "slotLead", + "slotMessage", + "slotMeta", + "slotPageContent", + "slotPageFooter", + "slotPageHeader", + "slotSidebarLeft", + "slotSidebarRight", + "slotTrail", + "spacing", + "text", + "track", + "transition", + "width", + "zIndex" + ] +} \ No newline at end of file diff --git a/website/README.md b/website/README.md old mode 100755 new mode 100644 index c87e0421..5ce67661 --- a/website/README.md +++ b/website/README.md @@ -1,34 +1,38 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +# create-svelte -## Getting Started +Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). -First, run the development server: +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npm create svelte@latest + +# create a new project in my-app +npm create svelte@latest my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: ```bash npm run dev -# or -yarn dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +## Building -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. +To create a production version of your app: -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. +```bash +npm run build +``` -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +You can preview the production build with `npm run preview`. -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/website/components/AdDetector.tsx b/website/components/AdDetector.tsx deleted file mode 100644 index 33de86ec..00000000 --- a/website/components/AdDetector.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { - Button, - CloseButton, - Heading, - Modal, - ModalBody, - ModalContent, - ModalFooter, - ModalHeader, - ModalOverlay, - Stack, - Text, - Tooltip, - useDisclosure, - VStack, -} from "@chakra-ui/react"; -import { FC, ReactNode, useEffect, useState } from "react"; - -const AdDetector: FC<{ children: ReactNode }> = ({ children }) => { - const [adBlockEnabled, setAdBlockEnabled] = useState(false); - const { isOpen, onOpen, onClose } = useDisclosure(); - const [joke, setJoke] = useState>({}); - - useEffect(() => { - (async () => { - const googleAdUrl = - "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; - try { - await fetch(new Request(googleAdUrl)); - } catch (e) { - setAdBlockEnabled(true); - setJoke( - await ( - await fetch( - "https://v2.jokeapi.dev/joke/Any?blacklistFlags=racist,sexist" - ) - ).json() - ); - onOpen(); - } - })(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return ( - <> - - - - Support the Creator💚 - -

- Open source developers work really hard to provide the best, - secure & efficient software experience for you & people all around - the world. Most of the time we work without any wages at all but - we need minimum support to live & these Ads Helps Us earn - the minimum wage that we need to live.{" "} - - So, please support Spotube by disabling the AdBlocker on this - page or by sponsoring or donating to our collectives directly - -

-
- - - -
-
- {!adBlockEnabled ? ( - children - ) : ( - - - setAdBlockEnabled(false)} - /> - - - Here's something interesting: - - {joke.joke ?? ( - <> -

{joke.setup}

-

{joke.delivery}

- - )} -
-
- - - Be grateful for all the favors you get. But don't let it - become a pile of debt. Try returning them as soon as you can. - You'll feel relieved - - - - Kingkor Roy Tirtho - - -
- )} - - ); -}; - -export default AdDetector; diff --git a/website/components/ArticleCard.tsx b/website/components/ArticleCard.tsx deleted file mode 100644 index 0bef6f51..00000000 --- a/website/components/ArticleCard.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import { Link, Flex, Box, chakra, Image, Button, Text } from "@chakra-ui/react"; -import { BlogPost } from "pages/blog"; -import { FC } from "react"; -import NavLink from "next/link"; - -const ArticleCard: FC = ({ - metadata: { - author, - author_avatar_url, - cover_image, - tags, - title, - summary, - date, - }, - slug, -}) => { - return ( - - Article - - - - {tags.map((tag, i) => { - return ( - - {tag} - - ); - })} - - - {title} - - - - {summary} - - - - - - - Avatar - - {author} - - - {date} - - - - - - - - - - ); -}; - -export default ArticleCard; diff --git a/website/components/CodeBlock.tsx b/website/components/CodeBlock.tsx deleted file mode 100644 index 111a2011..00000000 --- a/website/components/CodeBlock.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { chakra } from "@chakra-ui/react"; -import { FC, ReactNode } from "react"; - -type Props = { - children: ReactNode; -}; - -export const CodeBlock: FC = ({ children }) => { - return ( - - {children} - - ); -}; diff --git a/website/components/DownloadButton.tsx b/website/components/DownloadButton.tsx deleted file mode 100644 index 1aa43e70..00000000 --- a/website/components/DownloadButton.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { - Menu, - ButtonGroup, - Button, - MenuButton, - IconButton, - MenuList, - MenuItem, - Link as Anchor, -} from "@chakra-ui/react"; -import { Platform, usePlatform } from "hooks/usePlatform"; -import React from "react"; -import { - FaApple, - FaCaretDown, - FaUbuntu, - FaLinux, - FaWindows, - FaAndroid, -} from "react-icons/fa"; -import { MdOutlineFileDownload } from "react-icons/md"; - -const baseURL = "https://github.com/KRTirtho/spotube/releases/latest/download/"; - -const DownloadLinks = Object.freeze({ - [Platform.linux]: [ - { - name: "deb", - url: baseURL + "Spotube-linux-x86_64.deb", - icon: , - }, - { - name: "tar", - url: baseURL + "Spotube-linux-x86_64.tar.xz", - icon: , - }, - { - name: "AppImage", - url: baseURL + "Spotube-linux-x86_64.AppImage", - icon: , - }, - ], - [Platform.android]: [ - { - name: "apk", - url: baseURL + "Spotube-android-all-arch.apk", - icon: , - }, - ], - [Platform.mac]: [ - { - name: "dmg", - url: baseURL + "Spotube-macos-universal.dmg", - icon: , - }, - ], - [Platform.windows]: [ - { - name: "exe", - url: baseURL + "Spotube-windows-x86_64-setup.exe", - icon: , - }, - { - name: "nupkg", - url: baseURL + "Spotube-windows-x86_64.nupkg ", - icon: , - }, - ], -}); - -const DownloadButton = () => { - const platform = usePlatform(); - - const allPlatforms = Object.entries(Platform) - .map(([, value]) => { - return DownloadLinks[value].map((s) => ({ - ...s, - name: `${value} (.${s.name})`, - })); - }) - .flat(1); - - const currentPlatform = DownloadLinks[platform][0]; - return ( - - - - } - /> - - - {allPlatforms.map(({ name, url, icon }) => { - return ( - - {name} - - ); - })} - - - ); -}; - -export default DownloadButton; diff --git a/website/components/Footer.tsx b/website/components/Footer.tsx deleted file mode 100644 index a51cf0a2..00000000 --- a/website/components/Footer.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { Flex, chakra, Link, IconButton } from "@chakra-ui/react"; - -import { FaGithub, FaRedditAlien } from "react-icons/fa"; -import { FiTwitter } from "react-icons/fi"; - -const Footer = () => { - return ( - - - Spotube - - - - © {new Date().getFullYear()}, Spotube. All rights reserved - - - - } - variant="link" - /> - } - variant="link" - /> - } - variant="link" - /> - - - ); -}; - -export default Footer; diff --git a/website/components/Navbar.tsx b/website/components/Navbar.tsx deleted file mode 100644 index 7084b917..00000000 --- a/website/components/Navbar.tsx +++ /dev/null @@ -1,218 +0,0 @@ -import { - Box, - Button, - chakra, - CloseButton, - Flex, - Heading, - HStack, - IconButton, - Link, - useColorMode, - useColorModeValue, - useDisclosure, - VisuallyHidden, - VStack, -} from "@chakra-ui/react"; -import NavLink from "next/link"; -import { GoLightBulb } from "react-icons/go"; -import { FiGithub, FiSun } from "react-icons/fi"; -import Image from "next/image"; -import React from "react"; -import { AiOutlineMenu } from "react-icons/ai"; -import { BsHeartFill } from "react-icons/bs"; - -const Navbar = () => { - const bg = useColorModeValue("white", "gray.800"); - const mobileNav = useDisclosure(); - const { colorMode, toggleColorMode } = useColorMode(); - return ( - - - - - - Logo - - Spotube - - - Spotube - - - - - - - - - - - - - - - - - - : } - aria-label="Dark Mode Toggle" - onClick={() => { - toggleColorMode(); - }} - /> - - } - onClick={mobileNav.onOpen} - /> - - - - - - - - - - - - - - - - - - - - ); -}; - -export default Navbar; diff --git a/website/components/UserDetailedCard.tsx b/website/components/UserDetailedCard.tsx deleted file mode 100644 index fee3bdbd..00000000 --- a/website/components/UserDetailedCard.tsx +++ /dev/null @@ -1,153 +0,0 @@ -import { - Flex, - Box, - Icon, - chakra, - Image, - HStack, - IconButton, - Link, - CircularProgress, -} from "@chakra-ui/react"; -import { MdEmail, MdLocationOn } from "react-icons/md"; -import { BsFillBriefcaseFill } from "react-icons/bs"; -import { FC } from "react"; -import { FaGithub } from "react-icons/fa"; -import { FiTwitter } from "react-icons/fi"; -import { octokit } from "configurations/ocotokit"; -import useSWR from "swr"; - -interface UserDetailedCardProps { - username: string; - emoji: string; -} - -const UserDetailedCard: FC = ({ username, emoji }) => { - const { data } = useSWR(`user-${username}}`, () => - octokit.users.getByUsername({ username }) - ); - - if (!data) { - return ; - } - - return ( - - avatar - - - {emoji} - - {data.data.name ?? data.data.login} - - - - - - {data.data.bio} - - - {data.data.company && ( - - - - - {data.data.company} - - - )} - - {data.data.location && ( - - - - - {data.data.location} - - - )} - {data.data.email && ( - - - - {data.data.email} - - - )} - - } - variant="link" - /> - {data.data.twitter_username && ( - } - variant="link" - /> - )} - - - - ); -}; - -export default UserDetailedCard; diff --git a/website/components/special.tsx b/website/components/special.tsx deleted file mode 100644 index 93b2d565..00000000 --- a/website/components/special.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import Script from "next/script"; -import { FC, useId } from "react"; - -type AdComponent = FC<{ - slot: string; -}>; - -export const DisplayAd: AdComponent = ({ slot }) => { - const id = useId(); - return ( - <> - - - - ); -}; - -export const GridMultiplexAd: AdComponent = ({ slot }) => { - const id = useId(); - return ( - <> - - - - ); -}; - -export const InFeedAd = () => { - const id = useId(); - return ( - <> - - - - ); -}; diff --git a/website/configurations/gtag.ts b/website/configurations/gtag.ts deleted file mode 100644 index 01dcba50..00000000 --- a/website/configurations/gtag.ts +++ /dev/null @@ -1,17 +0,0 @@ -export const GA_TRACKING_ID = process.env.NEXT_PUBLIC_GA_ID; - -// https://developers.google.com/analytics/devguides/collection/gtagjs/pages -export const pageview = (url: any) => { - (window as any).gtag("config", GA_TRACKING_ID, { - page_path: url, - }); -}; - -// https://developers.google.com/analytics/devguides/collection/gtagjs/events -export const event = ({ action, category, label, value }: any) => { - (window as any).gtag("event", action, { - event_category: category, - event_label: label, - value: value, - }); -}; diff --git a/website/configurations/ocotokit.ts b/website/configurations/ocotokit.ts deleted file mode 100644 index b50fb197..00000000 --- a/website/configurations/ocotokit.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Octokit } from "@octokit/rest"; - -export const octokit: Octokit = new Octokit(); \ No newline at end of file diff --git a/website/hooks/usePlatform.ts b/website/hooks/usePlatform.ts deleted file mode 100644 index a502e4cd..00000000 --- a/website/hooks/usePlatform.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useEffect, useState } from "react"; -import { detectOS } from "detect-browser"; - -export enum Platform { - linux = "Linux", - windows = "Windows", - mac = "Mac", - android = "Android", -} - -export function usePlatform(): Platform { - const [platform, setPlatform] = useState(Platform.linux); - - useEffect(() => { - const detectedPlatform = detectOS(navigator.userAgent)?.toLowerCase(); - - if (!detectedPlatform) return; - - if (detectedPlatform.includes("windows")) setPlatform(Platform.windows); - else if (detectedPlatform.includes("mac")) setPlatform(Platform.mac); - else if (detectedPlatform.includes("android")) - setPlatform(Platform.android); - }, []); - - return platform; -} diff --git a/website/misc/MarkdownComponentDefs.tsx b/website/misc/MarkdownComponentDefs.tsx deleted file mode 100644 index f3c901ca..00000000 --- a/website/misc/MarkdownComponentDefs.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { - Link as Anchor, - Heading, - Text, - chakra, - Code, - HStack, - Divider, - Box, -} from "@chakra-ui/react"; -import { Options } from "react-markdown"; - -export const MarkdownComponentDefs: Options["components"] = { - a: (props: any) => , - h1: (props: any) => , - h2: (props: any) => , - h3: (props: any) => , - h4: (props: any) => , - h5: (props: any) => , - h6: (props: any) => , - p: (props: any) => , - li: (props: any) => , - code: (props) => ( - - ), - blockquote: (props) => { - return ( - - - - {props.children} - - - - ); - }, -}; diff --git a/website/next-env.d.ts b/website/next-env.d.ts deleted file mode 100755 index 4f11a03d..00000000 --- a/website/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/website/next.config.js b/website/next.config.js deleted file mode 100755 index ae887958..00000000 --- a/website/next.config.js +++ /dev/null @@ -1,7 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, - swcMinify: true, -} - -module.exports = nextConfig diff --git a/website/package-lock.json b/website/package-lock.json new file mode 100644 index 00000000..89323983 --- /dev/null +++ b/website/package-lock.json @@ -0,0 +1,6391 @@ +{ + "name": "website", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "website", + "version": "0.0.1", + "dependencies": { + "@floating-ui/dom": "1.6.1", + "@fortawesome/free-brands-svg-icons": "^6.5.1", + "@octokit/openapi-types": "^19.1.0", + "@octokit/rest": "^20.0.2", + "date-fns": "^3.3.1", + "highlight.js": "11.9.0", + "lucide-svelte": "^0.323.0", + "mdsvex-relative-images": "^1.0.3", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "remark-container": "^0.1.2", + "remark-external-links": "^9.0.1", + "remark-gfm": "^4.0.0", + "remark-github": "^12.0.0", + "remark-reading-time": "^1.0.1", + "svelte-fa": "^4.0.2", + "svelte-markdown": "^0.4.1" + }, + "devDependencies": { + "@playwright/test": "^1.28.1", + "@skeletonlabs/skeleton": "2.8.0", + "@skeletonlabs/tw-plugin": "0.3.1", + "@sveltejs/adapter-cloudflare": "^4.1.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/typography": "0.5.10", + "@types/eslint": "8.56.0", + "@types/node": "^20.11.16", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "10.4.17", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "mdsvex": "^0.11.0", + "postcss": "8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "3.4.1", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3", + "vite-plugin-tailwind-purgecss": "0.2.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@cloudflare/workers-types": { + "version": "4.20240208.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20240208.0.tgz", + "integrity": "sha512-MVGTTjZpJu4kJONvai5SdJzWIhOJbuweVZ3goI7FNyG+JdoQH41OoB+nMhLsX626vPLZVWGPIWsiSo/WZHzgQw==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz", + "integrity": "sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", + "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz", + "integrity": "sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/config-array/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/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.1.0.tgz", + "integrity": "sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.0.0", + "@octokit/request": "^8.0.2", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz", + "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==", + "dependencies": { + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", + "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", + "dependencies": { + "@octokit/request": "^8.0.1", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz", + "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz", + "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==", + "dependencies": { + "@octokit/types": "^12.4.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz", + "integrity": "sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz", + "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==", + "dependencies": { + "@octokit/types": "^12.3.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/request": { + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz", + "integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==", + "dependencies": { + "@octokit/endpoint": "^9.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", + "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", + "dependencies": { + "@octokit/types": "^12.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.0.2.tgz", + "integrity": "sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==", + "dependencies": { + "@octokit/core": "^5.0.0", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz", + "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==", + "dependencies": { + "@octokit/openapi-types": "^19.1.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@playwright/test": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.41.2.tgz", + "integrity": "sha512-qQB9h7KbibJzrDpkXkYvsmiDJK14FULCCZgEcoe2AvFAS64oCirWTwzTlAYEbKaRxWs5TFesE1Na6izMv3HfGg==", + "dev": true, + "dependencies": { + "playwright": "1.41.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@skeletonlabs/skeleton": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton/-/skeleton-2.8.0.tgz", + "integrity": "sha512-R6spSJSyW9MA6cnVQ8IV7uoYSXxHmP/oWJ9IHdGDU9epPZaZMmOXUHJSzA1gngccB2jFaA/6jXfS1O1CsIlGMg==", + "dev": true, + "dependencies": { + "esm-env": "1.0.0" + }, + "peerDependencies": { + "svelte": "^3.56.0 || ^4.0.0" + } + }, + "node_modules/@skeletonlabs/tw-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@skeletonlabs/tw-plugin/-/tw-plugin-0.3.1.tgz", + "integrity": "sha512-DjjeOHN3HhFQf6gYPT2MUZMkIdw1jeB9mbuKC8etQxUlOR4XitfC7hssRWFJ8RJsvrrN0myCBbdWkVG1JVA96g==", + "dev": true, + "peerDependencies": { + "tailwindcss": ">=3.0.0" + } + }, + "node_modules/@sveltejs/adapter-cloudflare": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-4.1.0.tgz", + "integrity": "sha512-AQQdZAZpcFDcBiMEmxbMYhn4yKZYoPZrKUrYpVejjbO+9obIGIuj/jWjVzAEkHqZMZuoRRqPbq+Zq+AWRm4x1Q==", + "dev": true, + "dependencies": { + "@cloudflare/workers-types": "^4.20231121.0", + "esbuild": "^0.19.11", + "worktop": "0.8.0-next.18" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.0.tgz", + "integrity": "sha512-1uyXvzC2Lu1FZa30T4y5jUAC21R309ZMRG0TPt+PPPbNUoDpy8zSmSNVWYaBWxYDqLGQ5oPNWvjvvF2IjJ1jmA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^0.6.0", + "devalue": "^4.3.2", + "esm-env": "^1.0.0", + "import-meta-resolve": "^4.0.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^2.0.4", + "tiny-glob": "^0.2.9" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz", + "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==", + "dev": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "svelte-hmr": "^0.15.3", + "vitefu": "^0.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.0.0.tgz", + "integrity": "sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/marked": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-5.0.2.tgz", + "integrity": "sha512-OucS4KMHhFzhz27KxmWg7J+kIYqyqoW5kdIEI319hqARQQUTqhao3M/F+uFnDXD0Rg72iDDZxZNxq5gvctmLlg==" + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pug": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", + "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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": "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/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001585", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz", + "integrity": "sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/date-fns": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.3.1.tgz", + "integrity": "sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "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/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", + "dev": true + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.661", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz", + "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "2.35.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.35.1.tgz", + "integrity": "sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "debug": "^4.3.1", + "eslint-compat-utils": "^0.1.2", + "esutils": "^2.0.3", + "known-css-properties": "^0.29.0", + "postcss": "^8.4.5", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "semver": "^7.5.3", + "svelte-eslint-parser": ">=0.33.0 <1.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0-0", + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-svelte/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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/eslint/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/esm-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", + "dev": true + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "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/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "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/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/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/glob/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/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "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/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/just-camel-case": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/just-camel-case/-/just-camel-case-4.0.2.tgz", + "integrity": "sha512-df6QI/EIq+6uHe/wtaa9Qq7/pp4wr4pJC/r1+7XhVL6m5j03G6h9u9/rIZr8rDASX7CxwDPQnZjffCo2e6PRLw==" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lucide-svelte": { + "version": "0.323.0", + "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.323.0.tgz", + "integrity": "sha512-3GEFk1vCwB8BtHTHZTocFJfX6AtTLQw9a74JSuihAGx+MzhxqeWk8W1TkM4WUlvE0x9UdONM2rJGRyx9IyjkJg==", + "peerDependencies": { + "svelte": "^3 || ^4 || ^5.0.0-next.42" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz", + "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/mdsvex": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/mdsvex/-/mdsvex-0.11.0.tgz", + "integrity": "sha512-gJF1s0N2nCmdxcKn8HDn0LKrN8poStqAicp6bBcsKFd/zkUBGLP5e7vnxu+g0pjBbDFOscUyI1mtHz+YK2TCDw==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.3", + "prism-svelte": "^0.4.7", + "prismjs": "^1.17.1", + "vfile-message": "^2.0.4" + }, + "peerDependencies": { + "svelte": ">=3 <5" + } + }, + "node_modules/mdsvex-relative-images": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdsvex-relative-images/-/mdsvex-relative-images-1.0.3.tgz", + "integrity": "sha512-3XvpnaguRAhC5gchpqCH+A5Yl28xG9WDPylVla0+k90c5LT+QqSM+hwHd1v5C7gB2cAT0AIhuMsY/g6aCw+WDg==", + "dependencies": { + "just-camel-case": "^4.0.2", + "unist-util-visit": "^3.1.0" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "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/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/playwright": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.41.2.tgz", + "integrity": "sha512-v0bOa6H2GJChDL8pAeLa/LZC4feoAMbSQm1/jF/ySsWWoaNItvrMP7GEkvEEFyCTUYKMxjQKaTSg5up7nR6/8A==", + "dev": true, + "dependencies": { + "playwright-core": "1.41.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.41.2.tgz", + "integrity": "sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.1.2.tgz", + "integrity": "sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==", + "dev": true, + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/prism-svelte": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.4.7.tgz", + "integrity": "sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==", + "dev": true + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "6.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-6.0.0-alpha.0.tgz", + "integrity": "sha512-UC7d7uIyZsky+srEsSXny9BkbTcVn3ZtBCNX3rW3DsqJKhvUXFRpufA4ktcHzWF0+JLZgmsqjUm/8R82x9bHpw==", + "dev": true, + "dependencies": { + "commander": "^10.0.0", + "glob": "^8.0.3", + "postcss": "^8.4.4", + "postcss-selector-parser": "^6.0.7" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/purgecss/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/purgecss/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/purgecss/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/regexparam": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz", + "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-container": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/remark-container/-/remark-container-0.1.2.tgz", + "integrity": "sha512-E+G7dSALm3aMqyi15N4DxnRFQmBbHwxVc+9GrbijqwbdHzagUDvi2A3oI27y/PwLkSDRjwMfoc1rCIZayZ2PFg==" + }, + "node_modules/remark-external-links": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-9.0.1.tgz", + "integrity": "sha512-EYw+p8Zqy5oT5+W8iSKzInfRLY+zeKWHCf0ut+Q5SwnaSIDGXd2zzvp4SWqyAuVbinNmZ0zjMrDKaExWZnTYqQ==", + "dependencies": { + "@types/hast": "^2.3.2", + "@types/mdast": "^3.0.0", + "extend": "^3.0.0", + "is-absolute-url": "^4.0.0", + "mdast-util-definitions": "^5.0.0", + "space-separated-tokens": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/remark-external-links/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/remark-external-links/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remark-external-links/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-github": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/remark-github/-/remark-github-12.0.0.tgz", + "integrity": "sha512-ByefQKFN184LeiGRCabfl7zUJsdlMYWEhiLX1gpmQ11yFg6xSuOTW7LVCv0oc1x+YvUMJW23NU36sJX2RWGgvg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "to-vfile": "^8.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-1.0.1.tgz", + "integrity": "sha512-Z3yW1JSNgQcjpPavsKmWgY7wmqRQMXIKoh8r5RtvJdpDIWWf7O7MkhuFDZh+Ge/1Olv0tvD1pN4T7LEhwBQnUA==", + "dependencies": { + "reading-time": "^1.3.0", + "unist-util-visit": "^3.1.0" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/sander/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sorcery": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.14", + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0" + }, + "bin": { + "sorcery": "bin/sorcery" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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-ansi-cjs": { + "name": "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-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "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/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.10.tgz", + "integrity": "sha512-Ep06yCaCdgG1Mafb/Rx8sJ1QS3RW2I2BxGp2Ui9LBHSZ2/tO/aGLc5WqPjgiAP6KAnLJGaIr/zzwQlOo1b8MxA==", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-check": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.3.tgz", + "integrity": "sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "chokidar": "^3.4.1", + "fast-glob": "^3.2.7", + "import-fresh": "^3.2.1", + "picocolors": "^1.0.0", + "sade": "^1.7.4", + "svelte-preprocess": "^5.1.0", + "typescript": "^5.0.3" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "peerDependencies": { + "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", + "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "dev": true, + "dependencies": { + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "postcss": "^8.4.29", + "postcss-scss": "^4.0.8" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-fa": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svelte-fa/-/svelte-fa-4.0.2.tgz", + "integrity": "sha512-lza8Jfii6jcpMQB73mBStONxaLfZsUS+rKJ/hH6WxsHUd+g68+oHIL9yQTk4a0uY9HQk78T/CPvQnED0msqJfg==", + "peerDependencies": { + "svelte": "^4.0.0" + } + }, + "node_modules/svelte-hmr": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", + "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "dev": true, + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svelte-markdown": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/svelte-markdown/-/svelte-markdown-0.4.1.tgz", + "integrity": "sha512-pOlLY6EruKJaWI9my/2bKX8PdTeP5CM0s4VMmwmC2prlOkjAf+AOmTM4wW/l19Y6WZ87YmP8+ZCJCCwBChWjYw==", + "dependencies": { + "@types/marked": "^5.0.1", + "marked": "^5.1.2" + }, + "peerDependencies": { + "svelte": "^4.0.0" + } + }, + "node_modules/svelte-preprocess": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz", + "integrity": "sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.30.5", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 16.0.0", + "pnpm": "^8.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0", + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "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/to-vfile": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz", + "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==", + "dependencies": { + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/vfile/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.0.tgz", + "integrity": "sha512-STmSFzhY4ljuhz14bg9LkMTk3d98IO6DIArnTY6MeBwiD1Za2StcQtz7fzOUnRCqrHSD5+OS2reg4HOz1eoLnw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-tailwind-purgecss": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-tailwind-purgecss/-/vite-plugin-tailwind-purgecss-0.2.0.tgz", + "integrity": "sha512-6Q+SaalUd0t3BOIIiCQPlbZQuYARVgjoC78X+fLbQJqIEy/9fC58aQgHMgi+CmYfVfZmJToA8YiLueSGEo2mng==", + "dev": true, + "dependencies": { + "estree-walker": "^3.0.3", + "purgecss": "6.0.0-alpha.0" + }, + "peerDependencies": { + "vite": "^4.1.1 || ^5.0.0" + } + }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/worktop": { + "version": "0.8.0-next.18", + "resolved": "https://registry.npmjs.org/worktop/-/worktop-0.8.0-next.18.tgz", + "integrity": "sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==", + "dev": true, + "dependencies": { + "mrmime": "^2.0.0", + "regexparam": "^3.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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-cjs/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/wrap-ansi-cjs/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/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/website/package.json b/website/package.json index de3f7033..cab83dd1 100644 --- a/website/package.json +++ b/website/package.json @@ -1,43 +1,63 @@ { "name": "website", - "version": "0.1.0", + "version": "0.0.1", "private": true, + "type": "module", "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@babel/core": "^7.18.6", - "@chakra-ui/react": "^2.2.4", - "@chakra-ui/system": "^2.2.2", - "@chakra-ui/theme-tools": "^2.0.5", - "@emotion/react": "^11", - "@emotion/styled": "^11", - "@octokit/rest": "^19.0.3", - "@types/progress": "^2.0.5", - "detect-browser": "^5.3.0", - "framer-motion": "^6", - "gray-matter": "^4.0.3", - "next": "12.2.2", - "nextjs-progressbar": "^0.0.14", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-icons": "^4.4.0", - "react-markdown": "^8.0.3", - "remark-gemoji": "^7.0.1", - "remark-gfm": "^3.0.1", - "swr": "^1.3.0" + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "test": "playwright test", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write ." }, "devDependencies": { - "@types/node": "18.0.5", - "@types/react": "18.0.15", - "@types/react-dom": "18.0.6", - "@types/react-syntax-highlighter": "^15.5.3", - "eslint": "8.20.0", - "eslint-config-next": "12.2.2", - "eslint-config-prettier": "^8.5.0", - "typescript": "4.7.4" + "@playwright/test": "^1.28.1", + "@skeletonlabs/skeleton": "2.8.0", + "@skeletonlabs/tw-plugin": "0.3.1", + "@sveltejs/adapter-cloudflare": "^4.1.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/typography": "0.5.10", + "@types/eslint": "8.56.0", + "@types/node": "^20.11.16", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "10.4.17", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "mdsvex": "^0.11.0", + "postcss": "8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "3.4.1", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3", + "vite-plugin-tailwind-purgecss": "0.2.0" + }, + "dependencies": { + "@floating-ui/dom": "1.6.1", + "@fortawesome/free-brands-svg-icons": "^6.5.1", + "@octokit/openapi-types": "^19.1.0", + "@octokit/rest": "^20.0.2", + "date-fns": "^3.3.1", + "highlight.js": "11.9.0", + "lucide-svelte": "^0.323.0", + "mdsvex-relative-images": "^1.0.3", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "remark-container": "^0.1.2", + "remark-external-links": "^9.0.1", + "remark-gfm": "^4.0.0", + "remark-github": "^12.0.0", + "remark-reading-time": "^1.0.1", + "svelte-fa": "^4.0.2", + "svelte-markdown": "^0.4.1" } -} +} \ No newline at end of file diff --git a/website/pages/_app.tsx b/website/pages/_app.tsx deleted file mode 100755 index 99163093..00000000 --- a/website/pages/_app.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import "../styles/globals.css"; -import type { AppProps } from "next/app"; -import { - ChakraProvider, - extendTheme, - withDefaultColorScheme, -} from "@chakra-ui/react"; -import Navbar from "components/Navbar"; -import { chakra } from "@chakra-ui/react"; -import { mode } from "@chakra-ui/theme-tools"; -import Head from "next/head"; -import { useRouter } from "next/router"; -// import Script from "next/script"; -// import * as gtag from "configurations/gtag"; -// import AdDetector from "components/AdDetector"; -import Footer from "components/Footer"; -import NextNProgress from "nextjs-progressbar"; - -const customTheme = extendTheme( - { - initialColorMode: 'system', - useSystemColorMode: true, - styles: { - global: (props: any) => ({ - body: { - bg: mode("white", "#171717")(props), - }, - }), - }, - colors: { - blue: { - 50: "#e6f2ff", - 100: "#e6f2ff", - 200: "#e6f2ff", - 300: "#1681bd", - 400: "#1681bd", - 500: "#3a4da5", - 600: "#2d3c7d", - 700: "#1f2b55", - 800: "#121c2e", - 900: "#080e18", - }, - components: { - Link: { - baseStyle: { - color: "blue", - }, - }, - }, - }, - }, - withDefaultColorScheme({ colorScheme: "blue" }) -); - -function MyApp({ Component, pageProps }: AppProps) { - const router = useRouter(); - // useEffect(() => { - // const handleRouteChange = (url: string) => { - // gtag.pageview(url); - // }; - // router.events.on("routeChangeComplete", handleRouteChange); - // router.events.on("hashChangeComplete", handleRouteChange); - // return () => { - // router.events.off("routeChangeComplete", handleRouteChange); - // router.events.off("hashChangeComplete", handleRouteChange); - // }; - // }, [router.events]); - - return ( - <> - {/* + +
+ {#each Object.entries(links) as link} + +
+ {#each link[1][1] as icon} + + {/each} +

+ {link[1][2]} +

+
+

{link[0]}

+
+ {/each} +
diff --git a/website/src/lib/components/markdown/layout.svelte b/website/src/lib/components/markdown/layout.svelte new file mode 100644 index 00000000..54426420 --- /dev/null +++ b/website/src/lib/components/markdown/layout.svelte @@ -0,0 +1,3 @@ +
+ +
diff --git a/website/src/lib/components/navbar/darkmode-toggle.svelte b/website/src/lib/components/navbar/darkmode-toggle.svelte new file mode 100644 index 00000000..ec4f757c --- /dev/null +++ b/website/src/lib/components/navbar/darkmode-toggle.svelte @@ -0,0 +1,32 @@ + + +
+ {#if label} + + {/if} + { + isDark.update((prev) => !prev); + }} + /> +
diff --git a/website/src/lib/components/navbar/navbar.svelte b/website/src/lib/components/navbar/navbar.svelte new file mode 100644 index 00000000..093fc09c --- /dev/null +++ b/website/src/lib/components/navbar/navbar.svelte @@ -0,0 +1,57 @@ + + +
+
+
+ +

+ + Spotube Logo + Spotube + +

+
+ + + +
+ +
diff --git a/website/src/lib/components/navdrawer/navdrawer.svelte b/website/src/lib/components/navdrawer/navdrawer.svelte new file mode 100644 index 00000000..68f53e06 --- /dev/null +++ b/website/src/lib/components/navdrawer/navdrawer.svelte @@ -0,0 +1,37 @@ + + + diff --git a/website/src/lib/index.ts b/website/src/lib/index.ts new file mode 100644 index 00000000..f0fb2ab8 --- /dev/null +++ b/website/src/lib/index.ts @@ -0,0 +1,61 @@ +import { + faAndroid, + faApple, + faDebian, + faFedora, + faOpensuse, + faUbuntu, + faWindows, + faRedhat +} from '@fortawesome/free-brands-svg-icons'; +import { type IconDefinition } from '@fortawesome/free-brands-svg-icons/index'; +import { Home, Newspaper, Download } from 'lucide-svelte'; + +export const routes: Record = { + '/': ['Home', Home], + '/blog': ['Blog', Newspaper], + '/downloads': ['Downloads', Download], + '/about': ['About', null] +}; + +const releasesUrl = 'https://github.com/KRTirtho/Spotube/releases/latest/download'; + +export const downloadLinks: Record = { + 'Android Apk': [`${releasesUrl}/Spotube-android-all-arch.apk`, [faAndroid]], + 'Windows Executable': [`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows]], + 'macOS Dmg': [`${releasesUrl}/Spotube-macos-universal.dmg`, [faApple]], + 'Ubuntu, Debian': [`${releasesUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian]], + 'Fedora, Redhat, Opensuse': [ + `${releasesUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse] + ], + 'iPhone Ipa': [`${releasesUrl}/Spotube-iOS.ipa`, [faApple]] +}; + +export const extendedDownloadLinks: Record = { + Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [faAndroid], 'apk'], + Windows: [`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows], 'exe'], + macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [faApple], 'dmg'], + 'Ubuntu, Debian': [`${releasesUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian], 'deb'], + 'Fedora, Redhat, Opensuse': [ + `${releasesUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse], + 'rpm' + ], + iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [faApple], 'ipa'] +}; + +const nightlyReleaseUrl = 'https://github.com/KRTirtho/Spotube/releases/download/nightly'; + +export const extendedNightlyDownloadLinks: Record = { + Android: [`${nightlyReleaseUrl}/Spotube-android-all-arch.apk`, [faAndroid], 'apk'], + Windows: [`${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows], 'exe'], + macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [faApple], 'dmg'], + 'Ubuntu, Debian': [`${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian], 'deb'], + 'Fedora, Redhat, Opensuse': [ + `${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse], + 'rpm' + ], + iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [faApple], 'ipa'] +}; diff --git a/website/src/lib/persisted-store.ts b/website/src/lib/persisted-store.ts new file mode 100644 index 00000000..0581fc1d --- /dev/null +++ b/website/src/lib/persisted-store.ts @@ -0,0 +1,106 @@ +import { writable as internal, type Writable } from 'svelte/store'; + +declare type Updater = (value: T) => T; +declare type StoreDict = { [key: string]: Writable }; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +interface Stores { + local: StoreDict; + session: StoreDict; +} + +const stores: Stores = { + local: {}, + session: {} +}; + +export interface Serializer { + parse(text: string): T; + stringify(object: T): string; +} + +export type StorageType = 'local' | 'session'; + +export interface Options { + serializer?: Serializer; + storage?: StorageType; + syncTabs?: boolean; + onError?: (e: unknown) => void; +} + +function getStorage(type: StorageType) { + return type === 'local' ? localStorage : sessionStorage; +} + +/** @deprecated `writable()` has been renamed to `persisted()` */ +export function writable(key: string, initialValue: T, options?: Options): Writable { + console.warn( + "writable() has been deprecated. Please use persisted() instead.\n\nchange:\n\nimport { writable } from 'svelte-persisted-store'\n\nto:\n\nimport { persisted } from 'svelte-persisted-store'" + ); + return persisted(key, initialValue, options); +} +export function persisted(key: string, initialValue: T, options?: Options): Writable { + const serializer = options?.serializer ?? JSON; + const storageType = options?.storage ?? 'local'; + const syncTabs = options?.syncTabs ?? true; + const onError = + options?.onError ?? + ((e) => + console.error(`Error when writing value from persisted store "${key}" to ${storageType}`, e)); + const browser = typeof window !== 'undefined' && typeof document !== 'undefined'; + const storage = browser ? getStorage(storageType) : null; + + function updateStorage(key: string, value: T) { + try { + storage?.setItem(key, serializer.stringify(value)); + } catch (e) { + onError(e); + } + } + + function maybeLoadInitial(): T { + const json = storage?.getItem(key); + + if (json) { + return serializer.parse(json); + } + + return initialValue; + } + + if (!stores[storageType][key]) { + const initial = maybeLoadInitial(); + const store = internal(initial, (set) => { + if (browser && storageType == 'local' && syncTabs) { + const handleStorage = (event: StorageEvent) => { + if (event.key === key) set(event.newValue ? serializer.parse(event.newValue) : null); + }; + + window.addEventListener('storage', handleStorage); + + return () => window.removeEventListener('storage', handleStorage); + } + }); + + const { subscribe, set } = store; + + stores[storageType][key] = { + set(value: T) { + set(value); + updateStorage(key, value); + }, + update(callback: Updater) { + return store.update((last) => { + const value = callback(last); + + updateStorage(key, value); + + return value; + }); + }, + subscribe + }; + } + + return stores[storageType][key]; +} diff --git a/website/src/lib/posts.ts b/website/src/lib/posts.ts new file mode 100644 index 00000000..02fa3d07 --- /dev/null +++ b/website/src/lib/posts.ts @@ -0,0 +1,41 @@ +export interface Post { + date: string; + title: string; + tags: string[]; + published: boolean; + author: string; + readingTime: { + text: string; + minutes: number; + time: number; + words: number; + }; + reading_time_text: string; + preview_html: string; + preview: string; + previewHtml: string; + slug: string | null; + path: string; +} + +export const getPosts = async () => { + // Fetch posts from local Markdown files + const posts: Post[] = await Promise.all( + Object.entries(import.meta.glob('../../posts/**/*.md')).map(async ([path, resolver]) => { + const resolved = (await resolver()) as { metadata: Post }; + const { metadata } = resolved; + const slug = path.split('/').pop()?.slice(0, -3) ?? ''; + return { ...metadata, slug }; + }) + ); + + let sortedPosts = posts.sort((a, b) => +new Date(b.date) - +new Date(a.date)); + + sortedPosts = sortedPosts.map((post) => ({ + ...post + })); + + return { + posts: sortedPosts + }; +}; diff --git a/website/src/routes/+layout.svelte b/website/src/routes/+layout.svelte new file mode 100644 index 00000000..6908b77a --- /dev/null +++ b/website/src/routes/+layout.svelte @@ -0,0 +1,71 @@ + + +
+ + {#if $drawerStore.id === 'navdrawer'} + + {/if} + + + +

+
+ diff --git a/website/src/routes/+page.svelte b/website/src/routes/+page.svelte new file mode 100644 index 00000000..8b78dbc5 --- /dev/null +++ b/website/src/routes/+page.svelte @@ -0,0 +1,110 @@ + + + + Spotube + + + + + + + + +
+
+

Spotube

+
+

+ An Open Source Spotify Client for every platform +
+ + + + +
+

+

+ And it's not + built with Electron (web technologies) +

+
+ +
+
+ + +

+ +

+ Supporters + +

+

+ We are grateful for the support of individuals and organizations who have made Spotube possible. +

+ +
+ + Open Collective + +
+ + +
diff --git a/website/src/routes/+page.ts b/website/src/routes/+page.ts new file mode 100644 index 00000000..5d50a467 --- /dev/null +++ b/website/src/routes/+page.ts @@ -0,0 +1,34 @@ +interface Member { + MemberId: number; + createdAt: string; + type: string; + role: string; + isActive: boolean; + totalAmountDonated: number; + currency?: string; + lastTransactionAt: string; + lastTransactionAmount: number; + profile: string; + name: string; + company?: string; + description?: string; + image?: string; + email?: string; + twitter?: string; + github?: string; + website?: string; + tier?: string; +} + +export const load = async () => { + const res = await fetch('https://opencollective.com/spotube/members/all.json'); + const members = (await res.json()) as Member[]; + + return { + props: { + members: members + .filter((m) => m.totalAmountDonated > 0) + .sort((a, b) => b.totalAmountDonated - a.totalAmountDonated) + } + }; +}; diff --git a/website/src/routes/about/+page.svelte b/website/src/routes/about/+page.svelte new file mode 100644 index 00000000..7f88ea46 --- /dev/null +++ b/website/src/routes/about/+page.svelte @@ -0,0 +1,22 @@ +
+

About

+ +

+ +

Author & Developer

+
+ + Author of Spotube +
+
Kingkor Roy Tirtho
+

Flutter developer

+
+
diff --git a/website/src/routes/api/posts/+server.ts b/website/src/routes/api/posts/+server.ts new file mode 100644 index 00000000..af78499b --- /dev/null +++ b/website/src/routes/api/posts/+server.ts @@ -0,0 +1,9 @@ +import { getPosts } from '$lib/posts'; +import type { RequestHandler } from '@sveltejs/kit'; +import { json } from '@sveltejs/kit'; + +export const GET: RequestHandler = async () => { + const { posts } = await getPosts(); + + return json(posts); +}; diff --git a/website/src/routes/blog/+page.svelte b/website/src/routes/blog/+page.svelte new file mode 100644 index 00000000..5ee98938 --- /dev/null +++ b/website/src/routes/blog/+page.svelte @@ -0,0 +1,32 @@ + + +
+

Blog Posts

+
+ +
diff --git a/website/src/routes/blog/+page.ts b/website/src/routes/blog/+page.ts new file mode 100644 index 00000000..c48ac87f --- /dev/null +++ b/website/src/routes/blog/+page.ts @@ -0,0 +1,11 @@ +import type { Post } from '$lib/posts.js'; + +export const load = async ({ fetch }) => { + const res = await fetch(`api/posts`); + if (res.ok) { + const posts: Post[] = await res.json(); + return { posts }; + } else { + return { posts: [] }; + } +}; diff --git a/website/src/routes/blog/[slug]/+page.svelte b/website/src/routes/blog/[slug]/+page.svelte new file mode 100644 index 00000000..1931a991 --- /dev/null +++ b/website/src/routes/blog/[slug]/+page.svelte @@ -0,0 +1,26 @@ + + + + Blog | {title} + + +
+

{title}

+
+
+

{new Date(date).toDateString()}

+

{readingTime?.text ?? ''}

+ + + +
+
diff --git a/website/src/routes/blog/[slug]/+page.ts b/website/src/routes/blog/[slug]/+page.ts new file mode 100644 index 00000000..6621dbab --- /dev/null +++ b/website/src/routes/blog/[slug]/+page.ts @@ -0,0 +1,23 @@ +import type { Post } from '$lib/posts.js'; + +export const load = async ({ params }) => { + const { slug } = params; + + try { + const post = await import(`../../../../posts/${slug}.md`); + return { + Content: post.default as ConstructorOfATypedSvelteComponent, + meta: { + ...post.metadata, + slug, + path: `/blog/${slug}` + } as Post + }; + } catch (err) { + console.error('Error loading the post:', err); + return { + status: 500, + error: `Could not load the post: ${(err as Error).message || err}` + }; + } +}; diff --git a/website/src/routes/downloads/+page.svelte b/website/src/routes/downloads/+page.svelte new file mode 100644 index 00000000..50d101ee --- /dev/null +++ b/website/src/routes/downloads/+page.svelte @@ -0,0 +1,39 @@ + + +
+

+ Download + +

+

+
Spotube is available for every platform
+
+ + + +


+ +

Other Downloads

+

+
+ {#each otherDownloads as download} + +
+ +
{download[1]}
+
+
+ {/each} +
+
diff --git a/website/src/routes/downloads/nightly/+page.svelte b/website/src/routes/downloads/nightly/+page.svelte new file mode 100644 index 00000000..279e6736 --- /dev/null +++ b/website/src/routes/downloads/nightly/+page.svelte @@ -0,0 +1,33 @@ + + +
+

+ Nightly Downloads + +

+

+ +
+ + +
diff --git a/website/src/routes/downloads/older/+page.svelte b/website/src/routes/downloads/older/+page.svelte new file mode 100644 index 00000000..9f535230 --- /dev/null +++ b/website/src/routes/downloads/older/+page.svelte @@ -0,0 +1,138 @@ + + +
+
+

Older versions

+ +
+

+ +
+ {#each data.releases as release} +

+ {release.tag_name} + + ({formatDistanceToNow(release.published_at ?? new Date(), { addSuffix: true })}) + +

+
+ {#each Object.entries(groupByOS(release.assets)) as [osName, assets]} +
+
+ + {osName} +
+ +
+ {/each} +
+ + + + + Release Notes & Changelogs + + + + + + +
+ {/each} +
+
+
diff --git a/website/src/routes/downloads/older/+page.ts b/website/src/routes/downloads/older/+page.ts new file mode 100644 index 00000000..e26a329c --- /dev/null +++ b/website/src/routes/downloads/older/+page.ts @@ -0,0 +1,14 @@ +import type { PageLoad } from './$types'; +import { Octokit } from '@octokit/rest'; + +const github = new Octokit(); +export const load: PageLoad = async () => { + const { data: releases } = await github.repos.listReleases({ + owner: 'KRTirtho', + repo: 'spotube' + }); + + return { + releases + }; +}; diff --git a/website/src/routes/downloads/packages/+page.svx b/website/src/routes/downloads/packages/+page.svx new file mode 100644 index 00000000..e7da4e74 --- /dev/null +++ b/website/src/routes/downloads/packages/+page.svx @@ -0,0 +1,70 @@ +--- +title: CLI Packages Managers +author: Kingkor Roy Tirtho +--- + + + +
+

Package Managers

+ + Spotube is available in various Package Managers supported by Platform + + ## Linux + +### Flatpak + +Make sure [Flatpak](https://flatpak.org) is installed in your Linux device & Run the following command in the terminal: + +```bash +$ flatpak install com.github.KRTirtho.Spotube +``` + +### Arch User Repository (AUR) + +If you're an Arch Linux user, you can also install Spotube from AUR. +Make sure you have `yay`/`pamac`/`paru` installed in your system. And Run the Following command in the Terminal: + +```bash +$ yay -Sy spotube-bin +``` + +```bash +$ pamac install spotube-bin +``` + +```bash +$ paru -Sy spotube-bin +``` + +## Windows + +### Chocolatey + +Spotube is available in [community.chocolatey.org](https://community.chocolatey.org) repo. If you have chocolatey install in your system just run following command in an Elevated Command Prompt or PowerShell: + +```powershell +$ choco install spotube +``` + +### WinGet + +Spotube is also available in the Official Windows PackageManager WinGet. Make sure you have WinGet installed in your Windows machine and run following in a Terminal: + +```powershell +$ winget install --id KRTirtho.Spotube +``` + +### Scoop + +Spotube is also available in [Scoop](https://scoop.sh) bucket. Make sure you have Scoop installed in your Windows machine and run following in a Terminal: + +```powershell +$ scoop bucket add extras +$ scoop install spotube +``` + +
diff --git a/website/static/android-chrome-192x192.png b/website/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef2f3e7ccee385755de9846c7df154518b1b0fb GIT binary patch literal 12127 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

a&RA|{>vspp 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 MlTZ+^{Aw8ZKlJOuh5!Hn literal 0 HcmV?d00001 diff --git a/website/static/apple-touch-icon.png b/website/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c171ce48479aa1b1bee546db6c61ba540be094f8 GIT binary patch literal 10898 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 Yc!|W47K!}p|KUO9KPpRCNty=z59y$sMF0Q* literal 0 HcmV?d00001 diff --git a/website/static/favicon-16x16.png b/website/static/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..6c14fa3254b5f22e7c19355fd5d2552610d47c91 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K$eK6tt~hFA!` zowU*Kuz`qczpRgDJi^scV{z zN)irE{yOjc#CKDVKE3LDl+XR$fom`BbAPMrR!D8nD~eq|{pXBLI#Tn^xV{|@=DWns zF3BG1^4B`-v--8uXC|9)g}u~WT6@s0Kg)slo#rLQqE9b4_Xy>_pYeUMz$Zy37CwQH z%4ccqGoCDooiLyO!u;TCi7cl&nOZxAza(|p?amNiV0M93wl0y$TT@%?o!*@__i{D& za0Gty(idCto}VdL!E9PzopM=IhTZK$u?POI?+IUYJ?QiUcDZw|pDP<)mxIE<)78&q Iol`;+08wCuU;qFB literal 0 HcmV?d00001 diff --git a/website/static/favicon-32x32.png b/website/static/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..8106368f759f00c71bf26a7b990482b9b213fe54 GIT binary patch literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz07Sip>6gA}f5OZv>fz*Ow%;usRa z`8LEiJJ?ag*7&oX@9ZgFmn1d{noQ{3qEPzuy4RguV!zn$?D#PK2Ybw}kM0~?i}YN$ zShogDTD5ZJH`Qm0_1`BS`z=(d8}vKQ zLaxPpyJz=%I_zThdfN~eb#!0q!SC!Re(Oo)%L^WV?{{+MPw(#+PEWn4mbG{fTmE-n zE%Bgur_kNK*X~)*sFdB?@6UfySxR)#_OCo`vWxyEGp{N$7Ok8z#j9ZvpLH?Yh6=I6 z&x*CI@7+sm-Y4pPW4q*(3!3_tL7Xqv+;v=jyTy8aGi%AY)2}alaq2m@qw`Vg?+Xb* zeU0lj^FF_I_s4I~ZWqR&jDl66JKo19q_6~p@zu_sH+y1#;movTftuD$+!8bG?(~Mg z2sx*C<>b~Dk3B731)GXlGL~GO@?i^u?T!aZJ?Hfw2-){CS6C@03SCe)4b-)rDXbiL zU`Ld4K=XkTp#{|+T3b|^jB11?d4BN~4-ywtF( z&=&6F$aU-Ti=tyYLxiuYxjd46P}gAWC;jG{R)AguyPnN2@kVjy%@^ADPg%ZKac`5& zjb70k%u!`{n_-bu1>T1y38Kj75)u!z-$C$aXY*}NY2 x;=btRLIp7o*L)M|PY83VKYWrUg%1S(Fex+M{_nocdKD-cdb;|#taD0e0ssaeJXrt$ literal 0 HcmV?d00001 diff --git a/website/static/favicon.ico b/website/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e8e1c26b02efef5c96d1a88266a4de95943c5b8c GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/website/static/images/spotube-logo.png b/website/static/images/spotube-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b24a8c238dbd80e359026b114a0c097de9422823 GIT binary patch literal 91271 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 H-`)QM?;rZo literal 0 HcmV?d00001 diff --git a/website/public/spotube-logo.svg b/website/static/images/spotube-logo.svg similarity index 100% rename from website/public/spotube-logo.svg rename to website/static/images/spotube-logo.svg diff --git a/website/static/manifest.json b/website/static/manifest.json new file mode 100644 index 00000000..a6f8ee29 --- /dev/null +++ b/website/static/manifest.json @@ -0,0 +1,19 @@ +{ + "name": "Spotube", + "short_name": "spotube", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/website/static/robots.txt b/website/static/robots.txt new file mode 100644 index 00000000..7d329b1d --- /dev/null +++ b/website/static/robots.txt @@ -0,0 +1 @@ +User-agent: * diff --git a/website/styles/globals.css b/website/styles/globals.css deleted file mode 100755 index e5e2dcc2..00000000 --- a/website/styles/globals.css +++ /dev/null @@ -1,16 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; -} diff --git a/website/svelte.config.js b/website/svelte.config.js new file mode 100644 index 00000000..b5717e39 --- /dev/null +++ b/website/svelte.config.js @@ -0,0 +1,55 @@ +import adapter from '@sveltejs/adapter-cloudflare'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; +import { mdsvex } from 'mdsvex'; +import readingTime from 'remark-reading-time'; +import remarkExternalLinks from 'remark-external-links'; +import slugPlugin from 'rehype-slug'; +import autolinkHeadings from 'rehype-autolink-headings'; +import relativeImages from 'mdsvex-relative-images'; +import remarkGfm from 'remark-gfm'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + extensions: ['.svelte', '.svx', '.md'], + // Consult https://kit.svelte.dev/docs/integrations#preprocessors + // for more information about preprocessors + preprocess: [ + vitePreprocess(), + mdsvex({ + extensions: ['.svx', '.md'], + highlight: {}, + layout: './src/lib/components/markdown/layout.svelte', + smartypants: { + dashes: 'oldschool' + }, + + remarkPlugins: [ + remarkGfm, + // adds a `readingTime` frontmatter attribute + readingTime(), + relativeImages, + // external links open in a new tab + [remarkExternalLinks, { target: '_blank', rel: 'noopener' }] + ], + rehypePlugins: [ + slugPlugin, + [ + autolinkHeadings, + { + behavior: 'wrap' + } + ] + ] + }) + ], + vitePlugin: { + inspector: true + }, + kit: { + // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. + // If your environment is not supported or you settled on a specific environment, switch out the adapter. + // See https://kit.svelte.dev/docs/adapters for more information about adapters. + adapter: adapter() + } +}; +export default config; diff --git a/website/tailwind.config.ts b/website/tailwind.config.ts new file mode 100644 index 00000000..77611a2e --- /dev/null +++ b/website/tailwind.config.ts @@ -0,0 +1,28 @@ +import { join } from 'path'; +import type { Config } from 'tailwindcss'; +import typography from '@tailwindcss/typography'; +import { skeleton } from '@skeletonlabs/tw-plugin'; + +export default { + darkMode: 'class', + content: [ + './src/**/*.{html,js,svelte,ts}', + join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}') + ], + theme: { + extend: {} + }, + plugins: [ + typography, + skeleton({ + themes: { + preset: [ + { + name: 'wintry', + enhancements: true + } + ] + } + }) + ] +} satisfies Config; diff --git a/website/tests/test.ts b/website/tests/test.ts new file mode 100644 index 00000000..5816be41 --- /dev/null +++ b/website/tests/test.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('index page has expected h1', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible(); +}); diff --git a/website/tsconfig.json b/website/tsconfig.json old mode 100755 new mode 100644 index ace58477..8534dc99 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -1,23 +1,18 @@ { + "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "declaration": true, - "sourceMap": true, + "checkJs": true, "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", + "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "baseUrl": "." - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] -} + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} \ No newline at end of file diff --git a/website/vite.config.ts b/website/vite.config.ts new file mode 100644 index 00000000..839d4507 --- /dev/null +++ b/website/vite.config.ts @@ -0,0 +1,22 @@ +import { purgeCss } from 'vite-plugin-tailwind-purgecss'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [ + sveltekit(), + purgeCss({ + safelist: { + // any selectors that begin with "hljs-" will not be purged + greedy: [/^hljs-/] + } + }) + ], + server: { + fs: { + // Allow serving files from one level up to the project root + // posts, copy + allow: ['..'] + } + } +}); From 90f7c531cdc8640afdbabf5a0592159715ea1e6f Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 21:33:09 +0600 Subject: [PATCH 11/33] fix: non-banger songs breaking the queue if sources not found Now fallbacks to another audio source if not found in one --- .../proxy_playlist_provider.dart | 3 +- lib/services/sourced_track/exceptions.dart | 11 ++++-- lib/services/sourced_track/sourced_track.dart | 38 +++++++++++++++++-- .../sourced_track/sources/jiosaavn.dart | 27 +++++++++++-- lib/services/sourced_track/sources/piped.dart | 9 +++-- .../sourced_track/sources/youtube.dart | 2 +- pubspec.lock | 4 +- pubspec.yaml | 2 +- untranslated_messages.json | 1 + 9 files changed, 79 insertions(+), 18 deletions(-) diff --git a/lib/provider/proxy_playlist/proxy_playlist_provider.dart b/lib/provider/proxy_playlist/proxy_playlist_provider.dart index ca0fb308..0811fe35 100644 --- a/lib/provider/proxy_playlist/proxy_playlist_provider.dart +++ b/lib/provider/proxy_playlist/proxy_playlist_provider.dart @@ -144,8 +144,7 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier } } catch (e, stackTrace) { // Removing tracks that were not found to avoid queue interruption - // TODO: Add a flag to enable/disable skip not found tracks - if (e is TrackNotFoundException) { + if (e is TrackNotFoundError) { final oldTrack = mapSourcesToTracks([audioPlayer.nextSource!]).firstOrNull; await removeTrack(oldTrack!.id!); diff --git a/lib/services/sourced_track/exceptions.dart b/lib/services/sourced_track/exceptions.dart index 517d6ba4..85bc5b27 100644 --- a/lib/services/sourced_track/exceptions.dart +++ b/lib/services/sourced_track/exceptions.dart @@ -1,7 +1,12 @@ import 'package:spotify/spotify.dart'; -class TrackNotFoundException implements Exception { - factory TrackNotFoundException(Track track) { - throw Exception("Failed to find any results for ${track.name}"); +class TrackNotFoundError extends Error { + final Track track; + + TrackNotFoundError(this.track); + + @override + String toString() { + return '[TrackNotFoundError] ${track.name} - ${track.artists?.map((e) => e.name).join(", ")}'; } } diff --git a/lib/services/sourced_track/sourced_track.dart b/lib/services/sourced_track/sourced_track.dart index 3ceafbf7..c73f3078 100644 --- a/lib/services/sourced_track/sourced_track.dart +++ b/lib/services/sourced_track/sourced_track.dart @@ -1,15 +1,21 @@ +import 'dart:io'; + +import 'package:http/http.dart'; import 'package:collection/collection.dart'; +import 'package:dio/dio.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/provider/user_preferences/user_preferences_provider.dart'; import 'package:spotube/provider/user_preferences/user_preferences_state.dart'; import 'package:spotube/services/sourced_track/enums.dart'; +import 'package:spotube/services/sourced_track/exceptions.dart'; import 'package:spotube/services/sourced_track/models/source_info.dart'; import 'package:spotube/services/sourced_track/models/source_map.dart'; import 'package:spotube/services/sourced_track/sources/jiosaavn.dart'; import 'package:spotube/services/sourced_track/sources/piped.dart'; import 'package:spotube/services/sourced_track/sources/youtube.dart'; import 'package:spotube/utils/service_utils.dart'; +import 'package:youtube_explode_dart/youtube_explode_dart.dart'; abstract class SourcedTrack extends Track { final SourceMap source; @@ -101,9 +107,8 @@ abstract class SourcedTrack extends Track { required Track track, required Ref ref, }) async { + final preferences = ref.read(userPreferencesProvider); try { - final preferences = ref.read(userPreferencesProvider); - return switch (preferences.audioSource) { AudioSource.piped => await PipedSourcedTrack.fetchFromTrack(track: track, ref: ref), @@ -112,8 +117,35 @@ abstract class SourcedTrack extends Track { AudioSource.jiosaavn => await JioSaavnSourcedTrack.fetchFromTrack(track: track, ref: ref), }; + } on TrackNotFoundError catch (_) { + return switch (preferences.audioSource) { + AudioSource.piped || + AudioSource.youtube => + await JioSaavnSourcedTrack.fetchFromTrack( + track: track, + ref: ref, + weakMatch: true, + ), + AudioSource.jiosaavn => + await PipedSourcedTrack.fetchFromTrack(track: track, ref: ref), + }; + } on HttpClientClosedException catch (_) { + return await PipedSourcedTrack.fetchFromTrack(track: track, ref: ref); } catch (e) { - return YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref); + if (e is DioException || e is ClientException || e is SocketException) { + if (preferences.audioSource == AudioSource.jiosaavn) { + return await JioSaavnSourcedTrack.fetchFromTrack( + track: track, + ref: ref, + weakMatch: true, + ); + } + return await JioSaavnSourcedTrack.fetchFromTrack( + track: track, + ref: ref, + ); + } + rethrow; } } diff --git a/lib/services/sourced_track/sources/jiosaavn.dart b/lib/services/sourced_track/sources/jiosaavn.dart index 7455f4d7..f731de6c 100644 --- a/lib/services/sourced_track/sources/jiosaavn.dart +++ b/lib/services/sourced_track/sources/jiosaavn.dart @@ -37,15 +37,17 @@ class JioSaavnSourcedTrack extends SourcedTrack { static Future fetchFromTrack({ required Track track, required Ref ref, + bool weakMatch = false, }) async { final cachedSource = await SourceMatch.box.get(track.id); if (cachedSource == null || cachedSource.sourceType != SourceType.jiosaavn) { - final siblings = await fetchSiblings(ref: ref, track: track); + final siblings = + await fetchSiblings(ref: ref, track: track, weakMatch: weakMatch); if (siblings.isEmpty) { - throw TrackNotFoundException(track); + throw TrackNotFoundError(track); } await SourceMatch.box.put( @@ -119,6 +121,7 @@ class JioSaavnSourcedTrack extends SourcedTrack { static Future> fetchSiblings({ required Track track, required Ref ref, + bool weakMatch = false, }) async { final query = SourcedTrack.getSearchTerm(track); @@ -126,9 +129,12 @@ class JioSaavnSourcedTrack extends SourcedTrack { await jiosaavnClient.search.songs(query, limit: 20); final trackArtistNames = track.artists?.map((ar) => ar.name).toList(); - return results + + final matchedResults = results .where( (s) { + s.name?.unescapeHtml().contains(track.name!) ?? false; + final sameName = s.name?.unescapeHtml() == track.name; final artistNames = [ s.primaryArtists, @@ -139,12 +145,27 @@ class JioSaavnSourcedTrack extends SourcedTrack { (artist) => trackArtistNames?.any((ar) => artist == ar) ?? false, ); + if (weakMatch) { + final containsName = + s.name?.unescapeHtml().contains(track.name!) ?? false; + final containsPrimaryArtist = s.primaryArtists + .unescapeHtml() + .contains(trackArtistNames?.first ?? ""); + + return containsName && containsPrimaryArtist; + } return sameName && sameArtists; }, ) .map(toSiblingType) .toList(); + + if (weakMatch && matchedResults.isEmpty) { + return results.map(toSiblingType).toList(); + } + + return matchedResults; } @override diff --git a/lib/services/sourced_track/sources/piped.dart b/lib/services/sourced_track/sources/piped.dart index 8a1ec1bc..1eec8549 100644 --- a/lib/services/sourced_track/sources/piped.dart +++ b/lib/services/sourced_track/sources/piped.dart @@ -55,7 +55,7 @@ class PipedSourcedTrack extends SourcedTrack { if (cachedSource == null) { final siblings = await fetchSiblings(ref: ref, track: track); if (siblings.isEmpty) { - throw TrackNotFoundException(track); + throw TrackNotFoundError(track); } await SourceMatch.box.put( @@ -160,13 +160,16 @@ class PipedSourcedTrack extends SourcedTrack { final query = SourcedTrack.getSearchTerm(track); final PipedSearchResult(items: searchResults) = await pipedClient.search( - "$query - Topic", + query, preference.searchMode == SearchMode.youtube ? PipedFilter.video : PipedFilter.musicSongs, ); - final isYouTubeMusic = preference.searchMode == SearchMode.youtubeMusic; + // when falling back to piped API make sure to use the YouTube mode + final isYouTubeMusic = preference.audioSource != AudioSource.piped + ? false + : preference.searchMode == SearchMode.youtubeMusic; if (isYouTubeMusic) { final artists = (track.artists ?? []) diff --git a/lib/services/sourced_track/sources/youtube.dart b/lib/services/sourced_track/sources/youtube.dart index f363937c..d27510e4 100644 --- a/lib/services/sourced_track/sources/youtube.dart +++ b/lib/services/sourced_track/sources/youtube.dart @@ -48,7 +48,7 @@ class YoutubeSourcedTrack extends SourcedTrack { if (cachedSource == null || cachedSource.sourceType != SourceType.youtube) { final siblings = await fetchSiblings(ref: ref, track: track); if (siblings.isEmpty) { - throw TrackNotFoundException(track); + throw TrackNotFoundError(track); } await SourceMatch.box.put( diff --git a/pubspec.lock b/pubspec.lock index 0d1b2993..0050a745 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1619,10 +1619,10 @@ packages: dependency: "direct main" description: name: piped_client - sha256: "8b96e1f9d8533c1da7eff7fbbd4bf188256fc76a20900d378b52be09418ea771" + sha256: "87b04b2ebf4e008cfbb0ac85e9920ab3741f5aa697be2dd44919658a3297a4bc" url: "https://pub.dev" source: hosted - version: "0.1.0" + version: "0.1.1" platform: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d3fb5630..21175930 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,7 +76,7 @@ dependencies: path: ^1.8.0 path_provider: ^2.0.8 permission_handler: ^11.0.1 - piped_client: ^0.1.0 + piped_client: ^0.1.1 popover: ^0.2.6+3 scrobblenaut: git: diff --git a/untranslated_messages.json b/untranslated_messages.json index 4240c8c0..e4e45624 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -77,6 +77,7 @@ ], "nl": [ + "audio_source", "start_a_radio", "how_to_start_radio", "replace_queue_question", From badd52223af8dfd0d34714a76a5f6bd28dca2dca Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 22:07:32 +0600 Subject: [PATCH 12/33] chore: use piped_client git version to fix search issue --- lib/services/sourced_track/sources/piped.dart | 3 ++- pubspec.lock | 9 +++++---- pubspec.yaml | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/services/sourced_track/sources/piped.dart b/lib/services/sourced_track/sources/piped.dart index 1eec8549..75f83125 100644 --- a/lib/services/sourced_track/sources/piped.dart +++ b/lib/services/sourced_track/sources/piped.dart @@ -157,12 +157,13 @@ class PipedSourcedTrack extends SourcedTrack { }) async { final pipedClient = ref.read(pipedProvider); final preference = ref.read(userPreferencesProvider); + final query = SourcedTrack.getSearchTerm(track); final PipedSearchResult(items: searchResults) = await pipedClient.search( query, preference.searchMode == SearchMode.youtube - ? PipedFilter.video + ? PipedFilter.videos : PipedFilter.musicSongs, ); diff --git a/pubspec.lock b/pubspec.lock index 0050a745..03ea66a1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1618,10 +1618,11 @@ packages: piped_client: dependency: "direct main" description: - name: piped_client - sha256: "87b04b2ebf4e008cfbb0ac85e9920ab3741f5aa697be2dd44919658a3297a4bc" - url: "https://pub.dev" - source: hosted + path: "." + ref: HEAD + resolved-ref: "64631732eefe3d93889756dc2e4ff5c8523ed763" + url: "https://github.com/KRTirtho/piped_client.git" + source: git version: "0.1.1" platform: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index 21175930..a9144845 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,7 +76,9 @@ dependencies: path: ^1.8.0 path_provider: ^2.0.8 permission_handler: ^11.0.1 - piped_client: ^0.1.1 + piped_client: + git: + url: https://github.com/KRTirtho/piped_client.git popover: ^0.2.6+3 scrobblenaut: git: From e964f61d38cb303e3d3fd60c866414f57207181c Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 22:22:00 +0600 Subject: [PATCH 13/33] fix: track loading when not found in Youtube --- .../sourced_track/sources/youtube.dart | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/services/sourced_track/sources/youtube.dart b/lib/services/sourced_track/sources/youtube.dart index d27510e4..5f75c4db 100644 --- a/lib/services/sourced_track/sources/youtube.dart +++ b/lib/services/sourced_track/sources/youtube.dart @@ -1,5 +1,6 @@ import 'package:collection/collection.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:http/http.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/models/source_match.dart'; import 'package:spotube/services/sourced_track/enums.dart'; @@ -70,9 +71,14 @@ class YoutubeSourcedTrack extends SourcedTrack { ); } final item = await youtubeClient.videos.get(cachedSource.sourceId); - final manifest = await youtubeClient.videos.streamsClient.getManifest( - cachedSource.sourceId, - ); + final manifest = await youtubeClient.videos.streamsClient + .getManifest( + cachedSource.sourceId, + ) + .timeout( + const Duration(seconds: 5), + onTimeout: () => throw ClientException("Timeout"), + ); return YoutubeSourcedTrack( ref: ref, siblings: [], @@ -125,7 +131,10 @@ class YoutubeSourcedTrack extends SourcedTrack { SourceMap? sourceMap; if (index == 0) { final manifest = - await youtubeClient.videos.streamsClient.getManifest(item.id); + await youtubeClient.videos.streamsClient.getManifest(item.id).timeout( + const Duration(seconds: 5), + onTimeout: () => throw ClientException("Timeout"), + ); sourceMap = toSourceMap(manifest); } @@ -243,8 +252,12 @@ class YoutubeSourcedTrack extends SourcedTrack { final newSiblings = siblings.where((s) => s.id != sibling.id).toList() ..insert(0, sourceInfo); - final manifest = - await youtubeClient.videos.streamsClient.getManifest(newSourceInfo.id); + final manifest = await youtubeClient.videos.streamsClient + .getManifest(newSourceInfo.id) + .timeout( + const Duration(seconds: 5), + onTimeout: () => throw ClientException("Timeout"), + ); await SourceMatch.box.put( id!, From 9f9244062a39759aa0ce28d2d5f7c8fa53d73003 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 23:01:14 +0600 Subject: [PATCH 14/33] feat(playlist): show confirmation before deleting user playlist #1222 --- .../sections/header/header_actions.dart | 6 +- .../shared/tracks_view/track_view_props.dart | 4 +- lib/l10n/app_en.arb | 4 +- lib/pages/playlist/playlist.dart | 20 +++++- untranslated_messages.json | 72 ++++++++++++++----- 5 files changed, 81 insertions(+), 25 deletions(-) diff --git a/lib/components/shared/tracks_view/sections/header/header_actions.dart b/lib/components/shared/tracks_view/sections/header/header_actions.dart index b050c199..75aa3f61 100644 --- a/lib/components/shared/tracks_view/sections/header/header_actions.dart +++ b/lib/components/shared/tracks_view/sections/header/header_actions.dart @@ -70,9 +70,9 @@ class TrackViewHeaderActions extends HookConsumerWidget { tooltip: props.isLiked ? context.l10n.remove_from_favorites : context.l10n.save_as_favorite, - onPressed: () { - props.onHeart?.call(); - if (isUserPlaylist) { + onPressed: () async { + final shouldPop = await props.onHeart?.call(); + if (isUserPlaylist && shouldPop == true && context.mounted) { context.pop(); } }, diff --git a/lib/components/shared/tracks_view/track_view_props.dart b/lib/components/shared/tracks_view/track_view_props.dart index 1c6c7647..21bbaec7 100644 --- a/lib/components/shared/tracks_view/track_view_props.dart +++ b/lib/components/shared/tracks_view/track_view_props.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:fl_query/fl_query.dart'; import 'package:flutter/material.dart' hide Page; import 'package:spotify/spotify.dart'; @@ -62,7 +64,7 @@ class InheritedTrackView extends InheritedWidget { final String shareUrl; // events - final VoidCallback? onHeart; // if null heart button will hidden + final FutureOr Function()? onHeart; // if null heart button will hidden const InheritedTrackView({ super.key, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 0628cc43..b1e8331f 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -290,5 +290,7 @@ "start_a_radio": "Start a Radio", "how_to_start_radio": "How do you want to start the radio?", "replace_queue_question": "Do you want to replace the current queue or append to it?", - "endless_playback": "Endless Playback" + "endless_playback": "Endless Playback", + "delete_playlist": "Delete Playlist", + "delete_playlist_confirmation": "Are you sure you want to delete this playlist?" } \ No newline at end of file diff --git a/lib/pages/playlist/playlist.dart b/lib/pages/playlist/playlist.dart index 29601a09..89a279ab 100644 --- a/lib/pages/playlist/playlist.dart +++ b/lib/pages/playlist/playlist.dart @@ -2,8 +2,11 @@ import 'package:flutter/material.dart' hide Page; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotify/spotify.dart'; +import 'package:spotube/components/shared/dialogs/prompt_dialog.dart'; +import 'package:spotube/components/shared/tracks_view/sections/body/use_is_user_playlist.dart'; import 'package:spotube/components/shared/tracks_view/track_view.dart'; import 'package:spotube/components/shared/tracks_view/track_view_props.dart'; +import 'package:spotube/extensions/context.dart'; import 'package:spotube/extensions/infinite_query.dart'; import 'package:spotube/provider/spotify_provider.dart'; import 'package:spotube/services/mutations/mutations.dart'; @@ -45,6 +48,8 @@ class PlaylistPage extends HookConsumerWidget { ], ); + final isUserPlaylist = useIsUserPlaylist(ref, playlist.id!); + return InheritedTrackView( collectionId: playlist.id!, image: TypeConversionUtils.image_X_UrlString( @@ -72,9 +77,20 @@ class PlaylistPage extends HookConsumerWidget { shareUrl: playlist.externalUrls?.spotify ?? "", onHeart: () async { if (!isLikedQuery.hasData || togglePlaylistLike.isMutating) { - return; + return false; } - await togglePlaylistLike.mutate(isLikedQuery.data!); + final confirmed = isUserPlaylist + ? await showPromptDialog( + context: context, + title: context.l10n.delete_playlist, + message: context.l10n.delete_playlist_confirmation, + ) + : true; + if (confirmed) { + await togglePlaylistLike.mutate(isLikedQuery.data!); + return isUserPlaylist; + } + return null; }, child: const TrackView(), ); diff --git a/untranslated_messages.json b/untranslated_messages.json index e4e45624..4525caeb 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -3,77 +3,99 @@ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "bn": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "ca": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "de": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "es": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "fa": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "fr": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "hi": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "it": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "ja": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "ne": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "nl": [ @@ -81,48 +103,62 @@ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "pl": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "pt": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "ru": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "tr": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "uk": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ], "zh": [ "start_a_radio", "how_to_start_radio", "replace_queue_question", - "endless_playback" + "endless_playback", + "delete_playlist", + "delete_playlist_confirmation" ] } From 86123456f2ff577921cf62cffca180427dfe1dd5 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 18 Feb 2024 21:11:28 +0600 Subject: [PATCH 15/33] fix: cleanTitle removing feat and ft from words instead of whole words --- lib/utils/service_utils.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/utils/service_utils.dart b/lib/utils/service_utils.dart index 9e3b5893..4d9d1e67 100644 --- a/lib/utils/service_utils.dart +++ b/lib/utils/service_utils.dart @@ -53,9 +53,9 @@ abstract class ServiceUtils { return "$title ${artists.map((e) => e.replaceAll(",", " ")).join(", ")}" .toLowerCase() - .replaceAll(RegExp(" *\\[[^\\]]*]"), '') - .replaceAll(RegExp("feat.|ft."), '') - .replaceAll(RegExp("\\s+"), ' ') + .replaceAll(RegExp(r"\s*\[[^\]]*]"), ' ') + .replaceAll(RegExp(r"\sfeat\.|\sft\."), ' ') + .replaceAll(RegExp(r"\s+"), ' ') .trim(); } From c3289a0ba4e7de094a15246677ffcb940504ebde Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 18 Feb 2024 23:02:14 +0600 Subject: [PATCH 16/33] fix(android): pressing back button in any other tab other than home exits the app --- lib/pages/home/home.dart | 2 - lib/pages/root/root_app.dart | 73 ++++++++++++++++++++---------------- pubspec.lock | 4 +- pubspec.yaml | 2 +- 4 files changed, 44 insertions(+), 37 deletions(-) diff --git a/lib/pages/home/home.dart b/lib/pages/home/home.dart index dbec0564..312ca7f9 100644 --- a/lib/pages/home/home.dart +++ b/lib/pages/home/home.dart @@ -1,6 +1,4 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_desktop_tools/flutter_desktop_tools.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:gap/gap.dart'; diff --git a/lib/pages/root/root_app.dart b/lib/pages/root/root_app.dart index 2ff49737..aaf3e30a 100644 --- a/lib/pages/root/root_app.dart +++ b/lib/pages/root/root_app.dart @@ -162,38 +162,47 @@ class RootApp extends HookConsumerWidget { } } - return Scaffold( - body: Sidebar( - selectedIndex: rootPaths[location], - onSelectedIndexChanged: onSelectIndexChanged, - child: child, - ), - extendBody: true, - drawerScrimColor: Colors.transparent, - endDrawer: DesktopTools.platform.isDesktop - ? Container( - constraints: const BoxConstraints(maxWidth: 800), - decoration: BoxDecoration( - boxShadow: theme.brightness == Brightness.light - ? null - : kElevationToShadow[8], - ), - margin: const EdgeInsets.only( - top: 40, - bottom: 100, - ), - child: const PlayerQueue(floating: true), - ) - : null, - bottomNavigationBar: Column( - mainAxisSize: MainAxisSize.min, - children: [ - BottomPlayer(), - SpotubeNavigationBar( - selectedIndex: rootPaths[location], - onSelectedIndexChanged: onSelectIndexChanged, - ), - ], + return WillPopScope( + onWillPop: () async { + if (rootPaths[location] != 0) { + onSelectIndexChanged(0); + return false; + } + return true; + }, + child: Scaffold( + body: Sidebar( + selectedIndex: rootPaths[location], + onSelectedIndexChanged: onSelectIndexChanged, + child: child, + ), + extendBody: true, + drawerScrimColor: Colors.transparent, + endDrawer: DesktopTools.platform.isDesktop + ? Container( + constraints: const BoxConstraints(maxWidth: 800), + decoration: BoxDecoration( + boxShadow: theme.brightness == Brightness.light + ? null + : kElevationToShadow[8], + ), + margin: const EdgeInsets.only( + top: 40, + bottom: 100, + ), + child: const PlayerQueue(floating: true), + ) + : null, + bottomNavigationBar: Column( + mainAxisSize: MainAxisSize.min, + children: [ + BottomPlayer(), + SpotubeNavigationBar( + selectedIndex: rootPaths[location], + onSelectedIndexChanged: onSelectIndexChanged, + ), + ], + ), ), ); } diff --git a/pubspec.lock b/pubspec.lock index 03ea66a1..b9268b56 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1014,10 +1014,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: "3b40e751eaaa855179b416974d59d29669e750d2e50fcdb2b37f1cb0ca8c803a" + sha256: c5fa45fa502ee880839e3b2152d987c44abae26d064a2376d4aad434cf0f7b15 url: "https://pub.dev" source: hosted - version: "13.0.1" + version: "12.1.3" google_fonts: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index a9144845..82377d08 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,7 +55,7 @@ dependencies: flutter_svg: ^1.1.6 form_validator: ^2.1.1 fuzzywuzzy: ^1.1.6 - go_router: ^13.0.1 + go_router: 12.1.3 # Stuck on this https://github.com/flutter/flutter/issues/140869 google_fonts: ^6.1.0 hive: ^2.2.3 hive_flutter: ^1.1.0 From 3294f657fe8a03b18d9be8974968b6508465963d Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 18 Feb 2024 23:05:43 +0600 Subject: [PATCH 17/33] fix(android): system back button in player page exits the app --- lib/components/player/player.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/components/player/player.dart b/lib/components/player/player.dart index 33283c3e..298458b5 100644 --- a/lib/components/player/player.dart +++ b/lib/components/player/player.dart @@ -94,10 +94,10 @@ class PlayerView extends HookConsumerWidget { final topPadding = MediaQueryData.fromView(View.of(context)).padding.top; - return PopScope( - canPop: false, - onPopInvoked: (didPop) async { - panelController.close(); + return WillPopScope( + onWillPop: () async { + await panelController.close(); + return false; }, child: IconTheme( data: theme.iconTheme.copyWith(color: bodyTextColor), From 6f8271f5e9394cb4053e41dd222aa2844c34d609 Mon Sep 17 00:00:00 2001 From: Kuyumee <69566792+Kuyumee@users.noreply.github.com> Date: Mon, 19 Feb 2024 01:35:42 +0800 Subject: [PATCH 18/33] feat: Sort by Duration (#1238) --- lib/components/library/user_local_tracks.dart | 5 ++-- .../shared/sort_tracks_dropdown.dart | 5 ++++ lib/l10n/app_en.arb | 1 + lib/utils/service_utils.dart | 24 +++++++++---------- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/lib/components/library/user_local_tracks.dart b/lib/components/library/user_local_tracks.dart index f4e782d9..095e6e97 100644 --- a/lib/components/library/user_local_tracks.dart +++ b/lib/components/library/user_local_tracks.dart @@ -50,10 +50,11 @@ enum SortBy { none, ascending, descending, - artist, - album, newest, oldest, + duration, + artist, + album, } final localTracksProvider = FutureProvider>((ref) async { diff --git a/lib/components/shared/sort_tracks_dropdown.dart b/lib/components/shared/sort_tracks_dropdown.dart index 0547beb0..ab35b2e3 100644 --- a/lib/components/shared/sort_tracks_dropdown.dart +++ b/lib/components/shared/sort_tracks_dropdown.dart @@ -48,6 +48,11 @@ class SortTracksDropdown extends StatelessWidget { enabled: value != SortBy.oldest, title: Text(context.l10n.sort_oldest), ), + PopSheetEntry( + value: SortBy.duration, + enabled: value != SortBy.duration, + title: Text(context.l10n.sort_duration), + ), PopSheetEntry( value: SortBy.artist, enabled: value != SortBy.artist, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index b1e8331f..244d75e2 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -41,6 +41,7 @@ "sort_z_a": "Sort by Z-A", "sort_artist": "Sort by Artist", "sort_album": "Sort by Album", + "sort_duration": "Sort by Duration", "sort_tracks": "Sort Tracks", "currently_downloading": "Currently Downloading ({tracks_length})", "cancel_all": "Cancel All", diff --git a/lib/utils/service_utils.dart b/lib/utils/service_utils.dart index 4d9d1e67..60c77e59 100644 --- a/lib/utils/service_utils.dart +++ b/lib/utils/service_utils.dart @@ -292,24 +292,24 @@ abstract class ServiceUtils { return List.from(tracks) ..sort((a, b) { switch (sortBy) { - case SortBy.album: - return a.album?.name?.compareTo(b.album?.name ?? "") ?? 0; - case SortBy.artist: - return a.artists?.first.name - ?.compareTo(b.artists?.first.name ?? "") ?? - 0; case SortBy.ascending: return a.name?.compareTo(b.name ?? "") ?? 0; - case SortBy.oldest: - final aDate = parseSpotifyAlbumDate(a.album); - final bDate = parseSpotifyAlbumDate(b.album); - return aDate.compareTo(bDate); + case SortBy.descending: + return b.name?.compareTo(a.name ?? "") ?? 0; case SortBy.newest: final aDate = parseSpotifyAlbumDate(a.album); final bDate = parseSpotifyAlbumDate(b.album); return bDate.compareTo(aDate); - case SortBy.descending: - return b.name?.compareTo(a.name ?? "") ?? 0; + case SortBy.oldest: + final aDate = parseSpotifyAlbumDate(a.album); + final bDate = parseSpotifyAlbumDate(b.album); + return aDate.compareTo(bDate); + case SortBy.duration: + return a.durationMs?.compareTo(b.durationMs ?? 0) ?? 0; + case SortBy.artist: + return a.artists?.first.name?.compareTo(b.artists?.first.name ?? "") ?? 0; + case SortBy.album: + return a.album?.name?.compareTo(b.album?.name ?? "") ?? 0; default: return 0; } From ba69496dcc9a1b7f6ea4e104e71764a854d27f1f Mon Sep 17 00:00:00 2001 From: olivier2 Date: Sun, 18 Feb 2024 13:47:10 -0500 Subject: [PATCH 19/33] feat(windows): Install Visual C++ 2015-2022 Redistributable if missing when installing --- Makefile | 1 + windows/packaging/exe/inno_setup.iss | 76 ++++++++++++++++++++++++++ windows/packaging/exe/make_config.yaml | 1 + 3 files changed, 78 insertions(+) create mode 100644 windows/packaging/exe/inno_setup.iss diff --git a/Makefile b/Makefile index c2678d2e..1add46b0 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,7 @@ publishaur: innoinstall: powershell curl -o build\installer.exe http://files.jrsoftware.org/is/6/innosetup-${INNO_VERSION}.exe + powershell git clone https://github.com/DomGries/InnoDependencyInstaller.git build\inno-depend powershell build\installer.exe /verysilent /allusers /dir=build\iscc inno: diff --git a/windows/packaging/exe/inno_setup.iss b/windows/packaging/exe/inno_setup.iss new file mode 100644 index 00000000..64acc2b3 --- /dev/null +++ b/windows/packaging/exe/inno_setup.iss @@ -0,0 +1,76 @@ +; https://github.com/DomGries/InnoDependencyInstaller +; requires netcorecheck.exe and netcorecheck_x64.exe (see CodeDependencies.iss) +; path is relative to dist\{VERSION} directory +#define public Dependency_Path_NetCoreCheck "..\..\build\inno-depend\dependencies\" +#include "..\..\build\inno-depend\CodeDependencies.iss" + +[Setup] +AppId={{APP_ID}} +AppVersion={{APP_VERSION}} +AppName={{DISPLAY_NAME}} +AppPublisher={{PUBLISHER_NAME}} +AppPublisherURL={{PUBLISHER_URL}} +AppSupportURL={{PUBLISHER_URL}} +AppUpdatesURL={{PUBLISHER_URL}} +DefaultDirName={{INSTALL_DIR_NAME}} +DisableProgramGroupPage=yes +OutputDir=. +OutputBaseFilename={{OUTPUT_BASE_FILENAME}} +Compression=lzma +SolidCompression=yes +SetupIconFile={{SETUP_ICON_FILE}} +WizardStyle=modern +PrivilegesRequired={{PRIVILEGES_REQUIRED}} +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 + +[Languages] +{% for locale in LOCALES %} +{% if locale == 'en' %}Name: "english"; MessagesFile: "compiler:Default.isl"{% endif %} +{% if locale == 'hy' %}Name: "armenian"; MessagesFile: "compiler:Languages\\Armenian.isl"{% endif %} +{% if locale == 'bg' %}Name: "bulgarian"; MessagesFile: "compiler:Languages\\Bulgarian.isl"{% endif %} +{% if locale == 'ca' %}Name: "catalan"; MessagesFile: "compiler:Languages\\Catalan.isl"{% endif %} +{% if locale == 'zh' %}Name: "chinesesimplified"; MessagesFile: "compiler:Languages\\ChineseSimplified.isl"{% endif %} +{% if locale == 'co' %}Name: "corsican"; MessagesFile: "compiler:Languages\\Corsican.isl"{% endif %} +{% if locale == 'cs' %}Name: "czech"; MessagesFile: "compiler:Languages\\Czech.isl"{% endif %} +{% if locale == 'da' %}Name: "danish"; MessagesFile: "compiler:Languages\\Danish.isl"{% endif %} +{% if locale == 'nl' %}Name: "dutch"; MessagesFile: "compiler:Languages\\Dutch.isl"{% endif %} +{% if locale == 'fi' %}Name: "finnish"; MessagesFile: "compiler:Languages\\Finnish.isl"{% endif %} +{% if locale == 'fr' %}Name: "french"; MessagesFile: "compiler:Languages\\French.isl"{% endif %} +{% if locale == 'de' %}Name: "german"; MessagesFile: "compiler:Languages\\German.isl"{% endif %} +{% if locale == 'he' %}Name: "hebrew"; MessagesFile: "compiler:Languages\\Hebrew.isl"{% endif %} +{% if locale == 'is' %}Name: "icelandic"; MessagesFile: "compiler:Languages\\Icelandic.isl"{% endif %} +{% if locale == 'it' %}Name: "italian"; MessagesFile: "compiler:Languages\\Italian.isl"{% endif %} +{% if locale == 'ja' %}Name: "japanese"; MessagesFile: "compiler:Languages\\Japanese.isl"{% endif %} +{% if locale == 'no' %}Name: "norwegian"; MessagesFile: "compiler:Languages\\Norwegian.isl"{% endif %} +{% if locale == 'pl' %}Name: "polish"; MessagesFile: "compiler:Languages\\Polish.isl"{% endif %} +{% if locale == 'pt' %}Name: "portuguese"; MessagesFile: "compiler:Languages\\Portuguese.isl"{% endif %} +{% if locale == 'ru' %}Name: "russian"; MessagesFile: "compiler:Languages\\Russian.isl"{% endif %} +{% if locale == 'sk' %}Name: "slovak"; MessagesFile: "compiler:Languages\\Slovak.isl"{% endif %} +{% if locale == 'sl' %}Name: "slovenian"; MessagesFile: "compiler:Languages\\Slovenian.isl"{% endif %} +{% if locale == 'es' %}Name: "spanish"; MessagesFile: "compiler:Languages\\Spanish.isl"{% endif %} +{% if locale == 'tr' %}Name: "turkish"; MessagesFile: "compiler:Languages\\Turkish.isl"{% endif %} +{% if locale == 'uk' %}Name: "ukrainian"; MessagesFile: "compiler:Languages\\Ukrainian.isl"{% endif %} +{% endfor %} + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: {% if CREATE_DESKTOP_ICON != true %}unchecked{% else %}checkedonce{% endif %} +Name: "launchAtStartup"; Description: "{cm:AutoStartProgram,{{DISPLAY_NAME}}}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: {% if LAUNCH_AT_STARTUP != true %}unchecked{% else %}checkedonce{% endif %} +[Files] +Source: "{{SOURCE_DIR}}\\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{autoprograms}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}" +Name: "{autodesktop}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}"; Tasks: desktopicon +Name: "{userstartup}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}"; WorkingDir: "{app}"; Tasks: launchAtStartup + +[Run] +Filename: "{app}\\{{EXECUTABLE_NAME}}"; Description: "{cm:LaunchProgram,{{DISPLAY_NAME}}}"; Flags: {% if PRIVILEGES_REQUIRED == 'admin' %}runascurrentuser{% endif %} nowait postinstall skipifsilent + +[Code] +function InitializeSetup: Boolean; +begin + Dependency_AddVC2015To2022; + Result := True; +end; \ No newline at end of file diff --git a/windows/packaging/exe/make_config.yaml b/windows/packaging/exe/make_config.yaml index 2f6b352a..97dcd87d 100644 --- a/windows/packaging/exe/make_config.yaml +++ b/windows/packaging/exe/make_config.yaml @@ -4,5 +4,6 @@ publisher_url: https://github.com/KRTirtho/spotube display_name: Spotube create_desktop_icon: true install_dir_name: Spotube +script_template: inno_setup.iss locales: - en From b6d42659b7540438067417f53fae81c6d12572ad Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Fri, 23 Feb 2024 20:57:35 +0600 Subject: [PATCH 20/33] chore: debug linux tar not getting updated --- .github/workflows/spotube-release-binary.yml | 2 +- macos/Podfile.lock | 2 +- untranslated_messages.json | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index 3ef0ff61..bfe97328 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -190,7 +190,7 @@ jobs: dist/spotube-linux-${{ env.BUILD_VERSION }}-x86_64.tar.xz - name: Debug With SSH When fails - if: ${{ failure() && inputs.debug && inputs.channel == 'nightly' }} + if: ${{ inputs.debug && inputs.channel == 'nightly' }} uses: mxschmitt/action-tmate@v3 with: limit-access-to-actor: true diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 65fe3535..566e8196 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -143,4 +143,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/untranslated_messages.json b/untranslated_messages.json index 4525caeb..70a2d0e6 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -1,5 +1,6 @@ { "ar": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -9,6 +10,7 @@ ], "bn": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -18,6 +20,7 @@ ], "ca": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -27,6 +30,7 @@ ], "de": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -36,6 +40,7 @@ ], "es": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -45,6 +50,7 @@ ], "fa": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -54,6 +60,7 @@ ], "fr": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -63,6 +70,7 @@ ], "hi": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -72,6 +80,7 @@ ], "it": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -81,6 +90,7 @@ ], "ja": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -90,6 +100,7 @@ ], "ne": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -99,6 +110,7 @@ ], "nl": [ + "sort_duration", "audio_source", "start_a_radio", "how_to_start_radio", @@ -109,6 +121,7 @@ ], "pl": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -118,6 +131,7 @@ ], "pt": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -127,6 +141,7 @@ ], "ru": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -136,6 +151,7 @@ ], "tr": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -145,6 +161,7 @@ ], "uk": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", @@ -154,6 +171,7 @@ ], "zh": [ + "sort_duration", "start_a_radio", "how_to_start_radio", "replace_queue_question", From ab08c82c8dd501263049f3adcbd48907ba13e3a9 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 24 Feb 2024 18:38:18 +0600 Subject: [PATCH 21/33] fix: friends list not scrollable with mouse drag --- .github/workflows/spotube-release-binary.yml | 2 +- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Podfile.lock | 6 +-- ios/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- lib/components/home/sections/friends.dart | 40 ++++++++------ lib/l10n/app_en.arb | 3 +- lib/pages/library/library.dart | 2 +- untranslated_messages.json | 54 ++++++++++++------- 10 files changed, 71 insertions(+), 44 deletions(-) diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index bfe97328..3ef0ff61 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -190,7 +190,7 @@ jobs: dist/spotube-linux-${{ env.BUILD_VERSION }}-x86_64.tar.xz - name: Debug With SSH When fails - if: ${{ inputs.debug && inputs.channel == 'nightly' }} + if: ${{ failure() && inputs.debug && inputs.channel == 'nightly' }} uses: mxschmitt/action-tmate@v3 with: limit-access-to-actor: true diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9625e105..7c569640 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/ios/Podfile b/ios/Podfile index 5b0d5a2c..bc3dcaa6 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 35f3dc18..0b75217f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -196,7 +196,7 @@ SPEC CHECKSUMS: DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de file_selector_ios: 8c25d700d625e1dcdd6599f2d927072f2254647b - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_inappwebview: acd4fc0f012cefd09015000c241137d82f01ba62 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 flutter_mailer: 2ef5a67087bc8c6c4cefd04a178bf1ae2c94cd83 @@ -221,6 +221,6 @@ SPEC CHECKSUMS: Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4 -PODFILE CHECKSUM: e36c7ad9836dfd8d22934c7680185432a658e28f +PODFILE CHECKSUM: 5129d2e80ab0dfc533f262cedf032011b1dfe4fd -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index dbcdd7a6..13f624a4 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -406,7 +406,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a6b826db..5e31d3d3 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ 0, diff --git a/untranslated_messages.json b/untranslated_messages.json index 70a2d0e6..41251435 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -6,7 +6,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "bn": [ @@ -16,7 +17,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "ca": [ @@ -26,7 +28,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "de": [ @@ -36,7 +39,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "es": [ @@ -46,7 +50,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "fa": [ @@ -56,7 +61,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "fr": [ @@ -66,7 +72,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "hi": [ @@ -76,7 +83,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "it": [ @@ -86,7 +94,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "ja": [ @@ -96,7 +105,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "ne": [ @@ -106,7 +116,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "nl": [ @@ -117,7 +128,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "pl": [ @@ -127,7 +139,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "pt": [ @@ -137,7 +150,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "ru": [ @@ -147,7 +161,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "tr": [ @@ -157,7 +172,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "uk": [ @@ -167,7 +183,8 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ], "zh": [ @@ -177,6 +194,7 @@ "replace_queue_question", "endless_playback", "delete_playlist", - "delete_playlist_confirmation" + "delete_playlist_confirmation", + "local_tracks" ] } From 846ae82084d2241982a52488253e3375bb505de0 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 24 Feb 2024 20:21:09 +0600 Subject: [PATCH 22/33] chore: upgrade flutter version --- .fvm/fvm_config.json | 2 +- .github/workflows/spotube-release-binary.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.fvm/fvm_config.json b/.fvm/fvm_config.json index f1f9ceed..7ca74200 100644 --- a/.fvm/fvm_config.json +++ b/.fvm/fvm_config.json @@ -1,4 +1,4 @@ { - "flutterSdkVersion": "3.16.0", + "flutterSdkVersion": "3.19.1", "flavors": {} } \ No newline at end of file diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index 3ef0ff61..772c9fe2 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -26,7 +26,7 @@ on: default: true env: - FLUTTER_VERSION: '3.16.3' + FLUTTER_VERSION: '3.19.1' jobs: windows: From 095587ee84f7d867c69fcf4b09ed608d63478e1e Mon Sep 17 00:00:00 2001 From: powen Date: Sat, 24 Feb 2024 23:22:23 +0800 Subject: [PATCH 23/33] feat: Add iOS background play support (#1166) * Create build-iPA.yml * Update build-iPA.yml * update-iOS - Set AppIcon(same as Android) - Set to correct app name(Sptube -> Spotube) - * update iOS flavors * Update build-iPA.yml * Update spotube-release-binary.yml * rename release-bin iPA filename * update appicon * Update dev-Info.plist * Add iOS background play support https://github.com/KRTirtho/spotube/issues/1061 * background modes edit --- ios/Runner/Info.plist | 118 +++++++++++++++++++++-------------------- ios/dev-Info.plist | 4 ++ ios/nightly-Info.plist | 118 +++++++++++++++++++++-------------------- ios/stable-Info.plist | 118 +++++++++++++++++++++-------------------- pubspec.lock | 68 +++++++++--------------- 5 files changed, 213 insertions(+), 213 deletions(-) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 5ba9991f..e1db8f01 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -1,66 +1,70 @@ + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Spotube + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + spotube + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + NSAppTransportSecurity - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Spotube - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - spotube - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS + NSAllowsArbitraryLoads - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance + NSAllowsArbitraryLoadsForMedia - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSAllowsArbitraryLoadsForMedia - - - CADisableMinimumFrameDurationOnPhone - - UIStatusBarHidden - - NSPhotoLibraryUsageDescription - This app require access to the photo library - NSCameraUsageDescription - This app require access to the device camera - NSMicrophoneUsageDescription - This app does not require access to the device microphone - UIApplicationSupportsIndirectInputEvents + + NSCameraUsageDescription + This app require access to the device camera + NSMicrophoneUsageDescription + This app does not require access to the device microphone + NSPhotoLibraryUsageDescription + This app require access to the photo library + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + audio + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance diff --git a/ios/dev-Info.plist b/ios/dev-Info.plist index 022d5419..3581787b 100644 --- a/ios/dev-Info.plist +++ b/ios/dev-Info.plist @@ -41,6 +41,10 @@ This app require access to the photo library UIApplicationSupportsIndirectInputEvents + UIBackgroundModes + + audio + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/ios/nightly-Info.plist b/ios/nightly-Info.plist index 5ba9991f..e1db8f01 100644 --- a/ios/nightly-Info.plist +++ b/ios/nightly-Info.plist @@ -1,66 +1,70 @@ + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Spotube + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + spotube + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + NSAppTransportSecurity - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Spotube - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - spotube - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS + NSAllowsArbitraryLoads - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance + NSAllowsArbitraryLoadsForMedia - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSAllowsArbitraryLoadsForMedia - - - CADisableMinimumFrameDurationOnPhone - - UIStatusBarHidden - - NSPhotoLibraryUsageDescription - This app require access to the photo library - NSCameraUsageDescription - This app require access to the device camera - NSMicrophoneUsageDescription - This app does not require access to the device microphone - UIApplicationSupportsIndirectInputEvents + + NSCameraUsageDescription + This app require access to the device camera + NSMicrophoneUsageDescription + This app does not require access to the device microphone + NSPhotoLibraryUsageDescription + This app require access to the photo library + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + audio + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance diff --git a/ios/stable-Info.plist b/ios/stable-Info.plist index 5ba9991f..e1db8f01 100644 --- a/ios/stable-Info.plist +++ b/ios/stable-Info.plist @@ -1,66 +1,70 @@ + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Spotube + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + spotube + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + NSAppTransportSecurity - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Spotube - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - spotube - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS + NSAllowsArbitraryLoads - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance + NSAllowsArbitraryLoadsForMedia - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSAllowsArbitraryLoadsForMedia - - - CADisableMinimumFrameDurationOnPhone - - UIStatusBarHidden - - NSPhotoLibraryUsageDescription - This app require access to the photo library - NSCameraUsageDescription - This app require access to the device camera - NSMicrophoneUsageDescription - This app does not require access to the device microphone - UIApplicationSupportsIndirectInputEvents + + NSCameraUsageDescription + This app require access to the device camera + NSMicrophoneUsageDescription + This app does not require access to the device microphone + NSPhotoLibraryUsageDescription + This app require access to the photo library + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + audio + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance diff --git a/pubspec.lock b/pubspec.lock index b9268b56..c7ac5085 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -543,10 +543,10 @@ packages: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "6.1.4" file_picker: dependency: "direct main" description: @@ -1263,30 +1263,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.2" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" - url: "https://pub.dev" - source: hosted - version: "10.0.0" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 - url: "https://pub.dev" - source: hosted - version: "2.0.1" lints: dependency: transitive description: @@ -1331,18 +1307,18 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.5.0" media_kit: dependency: "direct main" description: @@ -1411,10 +1387,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.10.0" metadata_god: dependency: "direct main" description: @@ -1499,10 +1475,10 @@ packages: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.8.3" path_drawing: dependency: transitive description: @@ -1628,10 +1604,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.2" plugin_platform_interface: dependency: transitive description: @@ -1668,10 +1644,10 @@ packages: dependency: transitive description: name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" url: "https://pub.dev" source: hosted - version: "5.0.2" + version: "4.2.4" provider: dependency: transitive description: @@ -2250,10 +2226,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "11.10.0" watcher: dependency: transitive description: @@ -2262,6 +2238,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" web_socket_channel: dependency: transitive description: @@ -2274,10 +2258,10 @@ packages: dependency: transitive description: name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.2" wikipedia_api: dependency: "direct main" description: From 87e203b8b4135985814f06c588eb50b242fa03ac Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 24 Feb 2024 21:50:10 +0600 Subject: [PATCH 24/33] chore: Minor typographical splash screen correction (English translation) #1256 --- .../drawable-hdpi-v31/android12branding.png | Bin 11057 -> 10655 bytes .../src/main/res/drawable-hdpi/branding.png | Bin 11057 -> 10655 bytes .../drawable-mdpi-v31/android12branding.png | Bin 4042 -> 3954 bytes .../src/main/res/drawable-mdpi/branding.png | Bin 4042 -> 3954 bytes .../android12branding.png | Bin 11057 -> 10655 bytes .../android12branding.png | Bin 4042 -> 3954 bytes .../android12branding.png | Bin 12793 -> 12389 bytes .../android12branding.png | Bin 33287 -> 31989 bytes .../android12branding.png | Bin 20728 -> 20612 bytes .../drawable-xhdpi-v31/android12branding.png | Bin 12793 -> 12389 bytes .../src/main/res/drawable-xhdpi/branding.png | Bin 12793 -> 12389 bytes .../drawable-xxhdpi-v31/android12branding.png | Bin 33287 -> 31989 bytes .../src/main/res/drawable-xxhdpi/branding.png | Bin 33287 -> 31989 bytes .../android12branding.png | Bin 20728 -> 20612 bytes .../main/res/drawable-xxxhdpi/branding.png | Bin 20728 -> 20612 bytes .../app/src/main/res/values-night/styles.xml | 4 + assets/branding.png | Bin 27368 -> 26973 bytes .../BrandingImage.imageset/BrandingImage.png | Bin 4042 -> 3954 bytes .../BrandingImage@2x.png | Bin 12793 -> 12389 bytes .../BrandingImage@3x.png | Bin 33287 -> 31989 bytes ios/Runner/Info.plist | 134 +++++++++--------- web/index.html | 78 +++++++++- web/splash/img/branding-1x.png | Bin 4042 -> 3954 bytes web/splash/img/branding-2x.png | Bin 12793 -> 12389 bytes web/splash/img/branding-3x.png | Bin 33287 -> 31989 bytes web/splash/img/branding-4x.png | Bin 20728 -> 20612 bytes web/splash/img/branding-dark-1x.png | Bin 4042 -> 3954 bytes web/splash/img/branding-dark-2x.png | Bin 12793 -> 12389 bytes web/splash/img/branding-dark-3x.png | Bin 33287 -> 31989 bytes web/splash/img/branding-dark-4x.png | Bin 20728 -> 20612 bytes 30 files changed, 144 insertions(+), 72 deletions(-) diff --git a/android/app/src/main/res/drawable-hdpi-v31/android12branding.png b/android/app/src/main/res/drawable-hdpi-v31/android12branding.png index 9e62c813076506454218bc984cc90033539443d4..fff3f1487b79953c1791418afde72094233927b5 100644 GIT binary patch literal 10655 zcmc(_RZyH=)U6vd5H!Kv-5dAd?g1Kiceen+-Q9z`I|K+0jk~)9C&8Wle*f*Rv-j0G zr!TswYM^?pcg-=!c;<>wR+K{dg#YQohYu(+(&DNgK0twhpGy$nfp;xQ7|IVH=*(rr zMZS4Lo#%Y?T=+&Xe0gq9x7Gmr&D<;;0h6{6hQ2T=P#RA(K}AGFS`qH5$;64=n!l4p%Ix0uHV#oh9oiBFou+{xqPkt;haGP+jhC-uPEKN{k z!-SU3VWk=$7dLe}k;Q#kfZ#tiH+QYx?9I!^XHLY}}o%6{06Elqh6vI!bX{&mVEN+4;e#J_-3g!HN+! z-2PZhXbBO}4~+pCj;FIF#ov0Fd5Vhm`TN6M`S|!O)oM3e`(n07FA@JxlV)fmzz@A#s8C-65*=2Fr@j1S|Jfem|%+q%x7ZCBpd)*HpDPi@|z{k&} zp|f4^rhX01;rMNf@2W!tLE^|>s@rz~SrmR-->)Y`d76$23JaygMusXyVREd`>PNJwLA|@?c3GC*c;~I?k-50iKQRYqe^yUy4W?qWUkIgEXhQ` zlqjD-V%&&8<;HGa*~rl}NL& zJ7sF#55h%9M;F(0foxI@PKhrr zE?%IzKbk3|o_j+OXVF`(nSDqQZ-In&fKVI*E#-&q5^3fB+k4>I)U*~&n%hg^Z7DG2 z4Pr=ib@_NS0|A}%FET}QwOtObZh~Z&14?)Wh%mjS(0c_iJCRK?bro|7H8!J#cL`s2R->} z{;PC9_?96{^_AVr!v{ost~>z?Cz0nCReGK74aIJT>AS(|h+6XU(X7hCCPT=V+*{w- zH?swfu=OdqnVBzc-OpEFZ7*6{?AEYR{;WS<{|V{6n){%kkWNLe@u7RG(PAns)wIp) z`taUS^jpErZXc@>qXv~JY=_Dv8Xm|LDR_K&FhkC68tYkrmevygmpKw1Y$XR{9_XqL zcwNlQ%p}3Uz)0z6*j)FzAJdhhFpl0cjat~)$X)N-3uJ1uMYq)Rk-50J<%CCdVZ@O2 zT5EkFCf-EqU1>C*z>kXZ|MGHBm!0+p5f$}~mYw}t3~Vt)HsQ4pX!f-#v`{Y9A`=?c zi5ixTa8nec!DKl0ajDio7~bu4u0SGcbh#Q*W@2UHH9I$_c5phv-w3P&2B@VxhAMA1 zVAoHAqkk07yU!FzD2R!PX%Y#22jj~pfYl&FD@=V1_c9umfDw-lXKbYq{1+@?7ppAt695APnnO{h^NzH zn{j%2YGWN4Y$7c^g0PQAhV<+(nn=~`b9>?@Le<4|l4e>UA4<0fE{;#&x;b09_F!B{ zcA5^Wu=WxV5J>IQqAy{)ou4-RrLFsXcW(9l#77SDd5-} zaRHf&QFLdIO%srcC0u#xLt;S?MvI7v@ns}0fh+5bxl0s^Nxt?gZEd{|+okC?pev~O zd{c8OIHSZ3wFBoj&p>qBK_l1t%@w0QIq1OjUnn#TjDaq2N`<`DqlFZ;e(Gu9gS76shWNsluU*csloH++ zDR1pR2KA_XA7AVlczBj!Vg-99)W6Rp$G3NOdZ2f$sHmuf6**d1SV#eVWXB}Ei;SFH6qlorEj~Ir8vgHW7(!Yaotin>?4PIEVA$R4_vg!=-oNn1E1^+_ zpE{_uuCCOtmMPHmf(;BK`ku&(dTQmvoNblgsq3PTJUr68Z%;UlZci4tFE+;1n)Zfb z2sZTn9uMS}ah?WLe1d0$x4XrCjTM^H67$8vm_y?yf;1ma)s&T$)xq>>m~Ji#va3$&GPvkzm9xthIL9T%Rn?3ku^(S)qqw4+FCl&96KjRcrvn`+ zqB$DBJK>zv=xl%gfVv!sY!JbxDVkEfzzJ|~3HiHV&}2D-SvAR|QZN7_#4+>uMq@u_ zs>2rdaRLEP(fEXX21}I2g}`flwpdOR9u^iscsm|GFd-NA09NlCI_R}XCh7ZdG#&=c z*di2-9&AUE+uO_al&*>F$TdwWe8YKj|C1-3zFnOcB$;lf*=7kf4GvEE5xp`LI7ou@ zhjTfCJ}quB_?#_c*SiIutH#8_P*bee+ngG}VOe0v3`uU?3H0Z}nsnD+nMaH-Gm*&j zc|svYIz4{A%%A)3?EC5Hkgnw9oE*mnsr{sqayK`v|l| z_sd_`lhF8IW8>o9)jH4x1O;s%;%5T0ieKBA>Z+lVVR2^cyidFjAXpU^SOYT~IgAO_ zjxIv}F`#Fi&B#CrbBf5qy4=*e>FKXLT1tV+w##)!FQZ8`7+ZeN=jGB_C~{or|GKsf zinRakkxjAL&lC(QAJZ_Q*W)?v8=&$AN<0uC4IEGrA~lFw4If|2b9HxjzpJGxkxQC5 zw$Um0U3T3cZ50NR()n+d2DEtZ)>)JFBhHXSy;Rmpks1?YV~Wg?>CZ+eiBO4nomRIx z`%1}Q4Gj&shf=((Akg?(4n|@X2OPeZ1S1#ye8`;r#0+}^y_iO`TyG*Z8H7+&O}1z@ zS)pEO+u?dl9-fqzrum0TF7+k!?>AdD*-dOY>?`n%Wy~E?lxfIph?dr;ux3?})L6eK za^3X0@0qS=%PQ%TAmf2>s|I&+k=DZ~wFk5^sMCllaUZtLxvzd?B#f4?fWJI8KuwP8 zzLrFjAv80?3TvTv2RFxaTF+Y&cj)knE&|>sinzBH=%xpM-W4ZB>C?&@Aco(pUX8Su@&i@G&u-N&lB8b?_M;TO{!e;w}~@=DxX% zFM^X!cjUIPAy!L|<4&J{L!IZST8%F6fiBO)MVJC%;wiP4^o?}I%3EWY!B|%~`AJ>9-xQ`zh95k>4_U7d9iW23=?9^@Rt;r}1kH4eIh5Ge9V`4v}5OBS~ z8jVenG_!wdxAyufc>J-KC89DTA|gTo$Rs|}ROQvO%M?Zre|IqIrY|om?ABTo9`?Qg z#`+jBPYdSXM>OJJQBi8zZlF|+0IkM5B&f;^HI*MN#-G9$kno`7`V?OJTQ;Yr97xw+ z5Hfi8T@Ruimy}^oR>Yq$Jgu!ygb&8jG%?r;q5~Xv6JD4JQ+I?NM^uqNll(XXf%KEb zw6!yJ;~5{L=6K~!%iKOqYsf>*1jo#A;C!dAfdMlx zyS=?_^v$nUze`^qkY`D-y0?LWfw!^MVkJ!3+*%odLL%iqK`1gcjCI}f*o&*yL}6Ce zzd_JvfieXJ1%AhXR^zJQ0`FqVTN!`-i+xyUQeEwt`}&G*!2Y2nSigOAG@@@fz+rcE zPS=MMoxV>uUZ~HVTKCF-tMR$Hxx<2kgI|z`bXGOSO}?^=N^VnHC1hk|FrjLDygr@Q z3U2va3gYvWdYN;OrNT1X0k+M-^cz8Mr{d7Ep~^>Vdxz*b#IGeX2TO$w;ccD}G5 zn3Wi35FD%@i&J;7`mgudV1f!^cKrPOQucOtkLuelHaxaA5Xt8HBOkxepbL7J+UIvA zC1EJ=K4__=UKOctc(}G^*Xp*5z7H4iY6gb?wxBxhY4QV+^{C-kqA@QWg12X&u1EkYshIvP5@`*4*Z+0R zp~v?r$76H!cQ*_AeU1=~X?cA41-k+dkf~iAJkM3S&xc9;bzd8&gbKrOs7bO(9T2WI zzjj}Nppx~eKwQ)n+BkBnK=T9V#E;UXRMZ0wztY-6752c35j7wS!J;7Gd|n-?$NQFk zVzqimXP`34lkwq34}#00@9&=LG1hlR5k~>=u)l=1+wL#bIRV_~HnUtH+>^#;NT0wMOU_+qD2 z`|Yb|Dd20VFwI`8;0z45_@@M}^ohd&{4GiV?_D?8b1BszD%y?jdvF_KR(e6OR z0^o`7F;}3cdRI%l+-`E$drF zS^%q0Z&Jc%8ylN7^wSi~HU9XF46Vt@$qQbw104oN)A1z9%r@L&5Ggkml|)){@;4kD z-2L(fPyT3LPX@Xk-@9moK=<&OrYc{fsm@m%E`(7JXu~| zZZfDhmWTjkWix=&1J6l)y!_*pc{aa?J^MgqCT0uJ!E5sK^TVtctIDOaf2Jc4)GpL8 z0E99fim?D&Lhs|3bo-5t4MDFf(^mlY5J$zuEqVF)RF+i3P`;O|m1>jLzK5a^ycE~v z3i{Lp#+zje`naC}G;y?PZ0M;p&YOf73wYv%&>hA&l)@e6RHU#1?*inSz^gl?2fYbp*_o< zy1a6LeBq+@G$2*c0lZWaPIoz@LEW3@FJ~%C@dt!iP8cl=Q!CjMXAcsjbMHcCnr!OO z-F*{NSXi6Q)7lRA>&);e zc3NUQyhj@VBaAh0Ozl^O9vVeaO|B21FZk8XKhgIawQc-}$MgA-kNDqT#)vcC?nBuu z)wt0|2cDmwE1+)Tz@t<4f{>Asb+33@O5y(J|KqD=c9@M}(*VN%jJbVz*;5*Rn*0$f zNQsn>?@5oRuwK4y9}y6h-M+rcoZDW}Apw=`-8@O`nATR0NKsfzcu{VIbx7YTHY6(0 zq!z(loM<(PhJk^B(CXK>hNrXT`hF4ly+96~o#KzEv*}rrM3T$E zctA+B*RG?Bi;JSPv?tLfTK(DSTC2mu%j0!VnEzl7zsJ+Q2XP9}#{@r&B*MWl%#Dn- z)Ys?Bw5F&>@@)V#*0tyr-HQ6Ro!lZ$s=B+odl!hE{gR+U3;>_4d^|jDbb*bDiHTp> zL7@5BFg`xM)y!qiN`QEK?Y24X!AJB>{e5E$VFK4}bMn+iY;YECur>$y^#P`hGCN^t zHl1E9ff`$}s@&DteydwSiQNGl|5iiwKNW~fAr{rRiuWHGkA(WaNy+~+RF6~tq?JUi zAPaDj8SdH3Tt2sxr!JrS$PU?%K9?!MQU*--crwG@}2gE4z`mU z>g#3r9Jjx!sw_##*>3)72cpT6gC&1XVPT;V)A=ZWH2_W<8XMDkk7c*i68#BDDJb@0 zySjWw3o5mGdxd5$2k9Y;$EWbet@az*@J^>{!RidE7h63&UvLa?avtn_>h+G0P;&-q zg;}Zp{`;3f{`mUx^2^xRxCPtHHxjz?GbsD_sH5!BmETTq6^`bU@;Xp@`nNYXx;4!# zm?J{YQZ;ohyF#mJ%z7OjfT@57FjBK;dXD+-#YGLj(=IHcMokb?3z9F1jY$|P(b<3Q zs5~{#You5%&HY=o_Cn4JDk|#mz7u+TN!{|%rIP#McRuM#a7g?PUr!Z=1oB2CmO>WS zIkWE&&f+qMj?S7h)};@f6UPjJu); zT&T~TKYa{C%q+~!C3nmh)cFp8ArAw2eHw|EEU0}B#YVId*Dv~iUH zccU@!nwy>VE-fm8?IVctjbKgX>iKEMztQd6>EY=3H~it@LDvJ}%;7`!(lk6f01xnL zQw?mB9O@|ZWBVso4gqI93W|SYO;#kQUX(!i@pFMaK4o81=+f5*i%&8$?T)qd>MU-E>q%Y2WBP-gCXQN z4QRqIjz9MefEGq$ZPnp^j*pFp=N0nOwk((2MojfN@Wp;jM3OO3E#HAF8S!FmUnR>h>iV z2gW=~THa61slq7q=a>=McxEnomM1^cwniF=wj46&~2iu8k~$yT5VUZ$oue>JBo^moDi}| zu_9W|V?*v*Kiz5apbEb|m`wEsePl^=z#dFE_>N(ugtsP)umnANd3suTH}NE3yV^w8 z07P-JE3V$V!{3k%IEJ)U*(Ct?4+BjXF)u(LSZuIj4xjH24$}o0f9{izTc0u#6!q+0 zZ>I9^O_$tlGTz2{?orQ)(SulvR{`|u6&xY&Ujp+|IWGyVH4(;To76S6criY|5TzzG zxF^I)Aosx({XIH5a)N?_!Wcnom64YpCy}=P*B<6B97N1IuQH-$d2Df znsUHK?^zMi^l~C(bTJCM?PVYFyuLkOHtuY#03N~%^Uu!CKjC2i*gbb?Lf4WTf8)>0 zfB$nHl>qlvqmoVb%w4RXkdrQaX%}a9Ol0cwn=x>>shczh1{5RtDut3;1hPsS^gN=E ze-^EKP7(hL6ou<9O|5!tM82B{&z09jdCtc^xPTY+!3OELU{+k@ z&Y1nAB?b1aD;8%m7}QkCRC`p{Is@O^1?BYs6VsWg{sKO_q36DQBxVZ|Kz@%rZYMEg z?B@yU;9++La$d+GE229`cN{<<{g~6{ienpI9PqFgmfe}?+8Sum@ERBxIJCQEm+9N&AwkK4Xj``I4rT-T>kOD+Z)V6l+=23|O=5Fk zXEz12GlA<;k+9kedB>=9+V!4BkyD$?pV%8+VSU$HvKZ49$*A*!Fm*!+1mXqV1$Ykr zl9P=FvoX|ydygg=otgKVaqGXSRA|E>lG}p4DzUUStk`4btFc+NR(HI+@-SRKd_}uQ zu7n=$KA#9Xb&@gVqCC2i(qpn>H#Ej3j-tDtAn4wSQKCfpd3zaPC%}#E?vcDq>q69IZsn#=`{xzq55tooS z_#!7W5ML6435?fTW)eyCaLWz|lb%h!5u67nn%H zB*q_$8>!SyD(5fNWZjhq*+t|E^Jd*gmDZVzVLOM4#zj{*yS^UVh*5;v zaAg;a7t@NU_My%cAMa9@8{MAG?PUH~yFeVV!BM(RmzEI(y27yaX^N=2qQh5&SIZaz z2gz-4ZKSiA*k{PXMDeVwtYi!koDVRk3vqDVNVv`^ERYR@{tE+I;l2Knvx}@>(ipG# zD+X{@oft$T`-KFYf$jVKnUN*l0^oa>?x&0A1ZL3dZU-J~;%2|_2FinZqb?A2zl%-7 zdD%AR1MZRmEZnvx86m>)U?)4WFYL$3TT?W)_0?{2+riVb&3=(_!GeX?iqyDfUv%K& z?RLq40^p~QNf~STWFPQ7$k~b_vO8mns1g`#NEJ7!GoOV`0N!^c)v*|C4*wKEjsx=6 z22KuFzVH$-l6XHR9+!a(&J;=&*BH3Fy58U%CL=Kz)$b37aEX7e_ScO|J_R%$PH%P0 zVlsOaOL0SYd#l>Dxxw;Y3!YTcbRX{!-c?DGW&5Sm9^r z2rKd?R+jj|t6P-{P)N4ejP>PzPmY(fc(B9Vb`6E@#>{{f^QO|R*46BXHTzOIXjFXEF0Z1|V@ zTAlhSUZr>K7TaT*$NRGt3N4an*M@fG22T?`&LCs}qcJl|7_EK?wq?u~5Dn!(D&}Z= zu#6Oq2gT3z~-!sDo@v(fHi(Qwf_r;{&->U0^z@h_yF7isp8*Z*iWA}VTZ=}|2ivpxQ^k&%%Z zFd$2#{AZ|{qBMl@8Py%=1=-h!ejgMN#JRlX9gsBBIb)+j^lczsDxCmDIbW*Q@kn^7 z{dFaa-SUX~i{D7y6`#kERFLX>M;#OAd_G^y#7-dcw-uIMDc#`r_>Wne^2SV|tub+N z2H$~#va`%Xb444vy#X5T6z@OF$PbW9sz`wpUm``g$m_pMp2?~rM+#PNkRXde{S6;NR zZg1nD*TQyt4s1DonMHHFji6)F8}r{^gF4PWR;kgw>50cA-M3< z=0|3_{fR3|@m{v83a|g{4#M7mf#0LqHJi!MSw1KzDCo2raN(YQ_wP=ISfX5jVCjHw z>h$k^GA!zT&dJHnCJYL~D$9H%n=ef>r%Q6F0^9}4G}DAko!{$|KOkwhC8eb_f(c_o za6g+aR89Q|G7RYKx%k-Yo12SYwc}o`^KzamiI0z{QNpI*XqANhULH>JzF$R!0u^vM}Xz^tuP%;biG1amiCrf&X1PAT-B{F!6@v&Qrw z-V*Ve+9{e`2XJ#J&#D-^@<~bWlA7H{o}LeRp%AtvyX1QKgSk^Pjze>U?(dHps=5HR z&*cYJ$n=HQsyj=Os~GkCKBBAZ)sroIwy4nFZYY+h6HT-PXD%LVT-2NyfFFH?RKVc* z3zarVO;vT=+X**yF%D?OK1ljm z9`wLigLsJsH&BZO!{*B=C`{b$j|>im96qEonJ?GIM!rH46~0akmgf0AOk~if* zko8O&8ma!u;bG8-8E}8+N&xk5rR3~%ug0rr4%uf=Nc$}X+1J%))2A%8nsgzhcG=Gu zr-m1r_nv{nQCA|B+yy8z(Fj)^9+hy}7Kpfc z{c8ao8M_3m{&SkL8r9lnSErPVKT1N7sV}LRzB5D^Rb>F;u~qNNc;bx-tMK3TLS%p% j{r_;W@P7j`f8JH|1rOLNyo!N~mmg##6vb;q4FmrdW&zeJ literal 11057 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 diff --git a/android/app/src/main/res/drawable-hdpi/branding.png b/android/app/src/main/res/drawable-hdpi/branding.png index 9e62c813076506454218bc984cc90033539443d4..fff3f1487b79953c1791418afde72094233927b5 100644 GIT binary patch literal 10655 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 literal 11057 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 diff --git a/android/app/src/main/res/drawable-mdpi-v31/android12branding.png b/android/app/src/main/res/drawable-mdpi-v31/android12branding.png index 80579983440f33182388472285e5e7106ca027e3..5a197da3c16283569e3797546269db62ec6a645e 100644 GIT binary patch literal 3954 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 delta 3819 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 diff --git a/android/app/src/main/res/drawable-mdpi/branding.png b/android/app/src/main/res/drawable-mdpi/branding.png index 80579983440f33182388472285e5e7106ca027e3..5a197da3c16283569e3797546269db62ec6a645e 100644 GIT binary patch literal 3954 zcmb_fWmFRY*G7?&oB~7Hq)TdmQlkY#C8fJ1Cr)J`DWgVr38SSXB_$<V&fL?i?@ zKx%Zo{QJ)NetqXX-#zC(_nha){qx*7Pn5pyWBQwSZ<3Lb(Ld2re|}X*uJR={6KU~9rlGp^z!LHF5B06>%PoMpn=NKwo!d;gCn(X|w= z!kLf$EJq<4Pf4BMKi!mQ!3-A^yf4^5JuxKx+0|T=)AgZ)SsK^1Cz$oiXJg$d*>ASm zR$+(V4$oicjvb)40#<+R{mu2C@7UryWs898e4e3%Xd5EI5%zR;k@jrlKkeE2$q;N2 z67T;D>V28)$YicA@BdDzO&*(s=%C(l#Vu~)*p zrEw(77|+6>h7rar6m(=HONwd)4L#fmQxn$CVa%QsD3#ioRT5V^12H5kOzr9E z8J^|wwse9wSOIKb7x)zymQuPuue>g}Ug;rAt{=x}a05?9T&A&T*HNz|i zENVRU^yH=h*fm)FP2JWqBwob2HFeAc9SZy2Cl2t*#A305KryQp%Q<)0&suv(A=KIC zOMT!& zb99r#w7iql^~v?O=X{CikZQf7lkf#bu{-};Z-*ZHv!KfXlm$L8({-pb@RW6BW#u<{ zAZ}rNhB;q=AM*R{1S0d3f_jY&6}R0qV>}8<$FN+As;&!&-(@bmGuP_j&`L~Qgw~|^?BC78_YQU772=>rYyCp(n|FuzJeU7#le$Tb}%KQ<;Z4>DX509c=vDyyAgJ(G__A%*+`uE5Jfj_pj6qLxlV*sM8=SNdPd^jAgCM_c) zm_;kYRhh=#M-~7`hF~%HRc+lCDOg=rW)?y+d%AR#tCAXYcC^Ot7|5cKM*$bBVdBs&q(w<+KdXFHSUv`7A=504%KG6~Z$cyU8vGcVq_Wl+t07ulW z&2&(4RiYxY)yf*}4cgJ11Zy5M;07m(xj}OwN)Oj*71G`>GwLR#4P^ zok`MzNwXkGdQm{*SjqNWdijAGKasz{^SWo@4Bcz}bng=qp;SsrY9KLy(}m`N$+mb{ zwovfONY+7>Wpj0Hytxb`KdQ-}2~n8sh??ao8AwPLZH=-_^cqhfZj=qH9(asAK2=$Q zG}f2jei+#enkd?7*2n)%56|JFDx}izU*y2dm*dhEV26@fSmip9#^G^aE|?(wnZY1g z5UOG>J4}j=jZGaI8u~!Cl)Ue~`9t&Nk7#uz8hLkT|z=blB2O5zI93^ zH$1MHuE!$Z-YyOOYf@`o{{rEa*xw`T5K;DWaQRXCLMNoUygbX!Q~=EG@!qA2?8$%h8ejG2TMRJnBI}#5L03e1RTVljGqZ&^N0;2iOiiMEBB$?w zd)aNs%NQ$HfX_d6Q31E!%adf833GpzDRFmz5nTqQV?Eq6Gi(Shp_pc&{ir?tvACGm z)YP;MM>z#n#|SJaJGz)tyC~cUq-O=~cDMqH#)$cDPvxy*NV|(jYxHwN!!DH><2C6x zPZr5t%Ikqb1HO}8E1$aHa9O(Z%by>A@zkzr$h_Hf0Kvlrn$rmErhTj{)XtwODsrDa zd*%jkqzi##;L*kKU;u@1^LcbGhFOa6*H{okq~$^tHDS zTB1VsGwlV|3+L4{Ubnup^h~N7Yh03DjLP&)7h&rQZbMd9R{j;x%gy1Amhp8<5n7bW zbAd#h2JZWiy|eF^)tR>cDi?N3_E{8W;@&CH<}ULMlB|wP>_Vl;pJsW-Z2onKnW<=d z6PM8~P-kOAl+K6BUPvsk_6n|TKaZ(ZIdQX9QMthuOS@%u*b!A zkx_CWFFeFdw8H zgQ1AC0^6=2DG|wwPL;`dR9R*aE5)}}fK2lNN6&U>1USO&{l0+ObyTnjTGy?9vg%)l z|KZr^@US6xtob&z`3X83sL}dmvAEGDh=m18SM>K!cPMej3>Ub+@zHKy*hO$|Yeq{` zkT6(FfaeX^PGcB)ACRqk*K6gjV?V}Nam?UzV17luky?2l=gDq129MqmQ%x1$eJ#vy z9~ou)L5RSd_0-pz~tC%{!SMuUi zbGGSeW4rMu6AN_oh#ThTd2GH*ZEv5@(W^B$Lt!w^Li2E3HtHTryD?X*O`>um(LU}qjznp7LPfG(I zV)>iDB2JitzF_>6G8WW=S~+Mrv?;kA7*ejHHuy5=*zCwYOc+pIFgQ3msw4mE&-*!^ zB>=f~FtRMN=Aw>dNDWH>$vywU%#gZ^!8B8ogcL{rp6YCuPJ8EQY8lcxEDSn<0dLp{ zBE)>3O?=w#HlM9GWo^aTu{IrkNrvdTdKbMSLn)#ppizBpwe><@?*w0Tkr`^P7^V}y z6j2?Ix?iv!o03yvEp@e}rk|R)^FqqPrW2VmfroDVJ!R{S98GiIW=`tZlCQ0q@yyy&Wqijv_v!V?ca7vATyP zA?D(ShSf8Y7^Z4$yTV|zO%G++_qXPi%UfDxY2g%V(!^nJ*d`}>w%N;zZNUCig@gT!Y(0ZFeYD&7tElQTJ-IVBZ-%Lo}cVD8z{V8)0Yd$D~}^^ z>c@tDv8jC2TI;n8No23Tn#PPsdUnm4FE768zRrmgyp+Rl0wk^JA}T24{cuy={mS7L zwiJkrXeG-vqJa{HWJ;1}!ziB%9IG?tFsOI4+h}G$C_M_*Yv;h~sK&~Lle+PcWU;}X z>Pz^T@jR)7wpY7Ac}+tx;AlIp*kPYIB~+vt*NSQgsFMC(U|xLm^yM?5+sna|RMtZs zz_6G7YQ;77^4ZdCQZKYiw8YfQ+F-3OMn5RmnAIT}j?S0*<7iJ}fJT}L_pIlRZgCT> z!e8BV?5*vuqJBPL5SI8oIu=^EBR8Ucwq(VP<%nKX#t%B~jAw;i%%-EH8_=@4!uRQ# zj`sHUyhKGs&r3`ESbMBc3gMkD?nJ^cVe%0FJ<^>qr1Mu!_`E7x!R(B#0_N2@r$;P}<3jmoibi4M za$uYhMteN9S@j(kNo?}_*dcIalF}gDJ+#(?;jLnLfBH}~F9&*|Ir?(d7 zmmrMpZO*uYar|&$O8kVhRd0}skR`)h<2HIqD*>x*+J_oig|Ph+7IX4MN3kZqlpv5= zH-=3py}OE-iqRGwg25Tc+1COa%LYo>NcOfKG|-s?_je8?kbO)uDONG2w%wbdozm@f z9Q305vn!s7mZAPNzQHYc4^Pd1&>dgNF$QVaXSXsknxtG`G57q@8C61`3#ALpTx+D) yp18)KX4#RzMBQx@JYaV0`7J$)0HFs#mMoA^!u3rK@WI delta 3819 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 diff --git a/android/app/src/main/res/drawable-night-hdpi-v31/android12branding.png b/android/app/src/main/res/drawable-night-hdpi-v31/android12branding.png index 9e62c813076506454218bc984cc90033539443d4..fff3f1487b79953c1791418afde72094233927b5 100644 GIT binary patch literal 10655 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 literal 11057 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 diff --git a/android/app/src/main/res/drawable-night-mdpi-v31/android12branding.png b/android/app/src/main/res/drawable-night-mdpi-v31/android12branding.png index 80579983440f33182388472285e5e7106ca027e3..5a197da3c16283569e3797546269db62ec6a645e 100644 GIT binary patch literal 3954 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 delta 3819 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 diff --git a/android/app/src/main/res/drawable-night-xhdpi-v31/android12branding.png b/android/app/src/main/res/drawable-night-xhdpi-v31/android12branding.png index 0bcf138d3e17cace5a37b4adb6a97afa76ae805e..efc7e6c8c995fb3d26927d09c6b0448b0ff1c42a 100644 GIT binary patch delta 11605 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 N002ovPDHLkV1jRz_$UAX diff --git a/android/app/src/main/res/drawable-night-xxhdpi-v31/android12branding.png b/android/app/src/main/res/drawable-night-xxhdpi-v31/android12branding.png index c7d0177681e63abe4a1d58e1b5cbf7325dbadfa0..593877e01266445699239227caa666a8ef43118d 100644 GIT binary patch delta 20410 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 delta 21718 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 diff --git a/android/app/src/main/res/drawable-xhdpi-v31/android12branding.png b/android/app/src/main/res/drawable-xhdpi-v31/android12branding.png index 0bcf138d3e17cace5a37b4adb6a97afa76ae805e..efc7e6c8c995fb3d26927d09c6b0448b0ff1c42a 100644 GIT binary patch delta 11605 zcmX9^bwE_z)0PH-1*Bz{PD$yIE~zC{I;E9P$qOtJ(hbrfAl*odpmcX5u&}f&-QT|7 z@BV-1%sFS~%*^vV*OqYecqV|4OGQEU?I*OuY@94I#fv^aS*?)Q{PFIiA+L!sF=Z8) zOEEuB$)jPEtol4o39R^(61m?iUJ457qHLNBWl)}I4% zi(=_W_)waH3wA2HKJ>j<)5p20`xlkq5Q1~ZUSlSE1? zmm8Q!;P{OfuT`9E1KBLTLCHns^saId0CDY@$Le61yiE@!4awG8kpTf$rEaQ%gDg+2xUZOXwXOv#SHMo*e1vJh^G z+E$!_9dS79A=|Xo@m|W>8HNDpeSfmtdrmv^O~$nq?Kct1|8pQqaAYt4!up66@?qQz zbH7Uru@sgkh$Q>>B9k~#s^~LpV0hRea$U_}tux?O4s+~XmGSkt<5H7J$T{Ft+`daj z?``x=H64l{-i}72Z)|4tcS_HG1wQf#y%wv;R0`}x^So)Z*>@`sUuMv1 zK0cXMqrV%FS1eA7QC(9&`~Yo36_E5SdXOcyd~c>%PO9?{v3Udz&ky^&YPh0VEG+geNA~b37l>)F9eA9v)G@ltY&x>1ge!ft56-UFnv#yDmN}daHDiRtj9ju zz~``2Fl#15f4|AD?j#F>>{>aIf;? zF??4Ul%Vo(K+bbcdGORuR++TH5TVwMgsDFu1mZeNvC6f}ad20zKmej{{`R|$H8Pdk z=z{SM7i#`&@uPXj3r(tZXR}Xr=(m_#EBtA4KUdf*0HlF3u;o^ zhx&DSiqX2>agqA?@^yk3WMpNH}k+21y%+D4H9f z+2WFpf4bYrOUoP70IQDq!Or>$YM5hayddK@2!S27W^v3P zKO{|pupuiEsN+7DSDr(MtQ36mpzrcXCfXeIC-lh5&QqZr97BaTrI85HzN_S@+-h7(RX8Nk)?)X0+^Q9ttudKnicku^g9rEr zF#xNo`*40AO2`yi#LaPRzBgMbp&D>CNB!5rLFDJnB|@F3=cJ$9kD~&pwq95-P%X}| z=kcKj1VL}Ces&W<@et!}-zThi&F`B;J@83lCkUtWG51_vSEiZP+i1K|3vl^z4suO( z-mfBnAaVaO@45Lgw&F7EYM{~s4T9SLyK-I0H`S&cMsIg)i){rzOe44&#a0yit~b!) zA0r;#uYo5Iif9-O)_f{VJ8r7A72rL+Mhv%%brok7Z<#w@IqZTu47|xod*VR5e&%K| zH|P702hBg(;gHW&bv*W=#EFWAqNt^IvT=`$TioFCxJH%<)PdH?2D3wt@F5`W5tr>u z5r$3pFs6Ys315n#oN4tRIX)*0m;7?59`Q)jY7)-K)IsK8e7J4=)+bf~w^WeVi(|o- zc>0%)$?vG10B}>lk$kwxs-cL{&z*6hWu`9CR?EO4)Pb_uZ<;%dUrQ3RRAwu$jxlTP zBT0570|!H=O80truG8z^C)1r_pA?DpKTK3RkU{7S%OD%WW6HLuAa>^qC6+^CC*{8s z0lo|m4|9_AKMr?gB_y2WE;sdU{le!>w*UBr*Z4<`$ghx^lg{O)NM_1|&C^<-&-~ov zU=7E;RQ);=FTA?#TxDvyeIKvoc&t`Bd@+OE^tei0z1di zSAXz~ih_EiFuLv8d+b>cNe5np6DN7N@CEv)uGuX$9m@IzthW2Ssa=s@3KU}_9NIxZ zjOWd`HyLHB5b}V0e4m(wnD?x2cC6(9-{j69QEbbJDE7HTWazPutG1_PNMCKgS@0vt z;gx!UI9}xEyDjrFyZzg<&?uf(z;4+#H-I&6!RqVd!r@Z0_uUv(qW}2r=UCYTSn%Ou zqaSVgH=%^fihiirSpMpgVtbpw!OQ{7*+*vl3-|>*FH9f zd%s}r8=wSX?_4F_2t&6bI1XLqcKX%cZGbMinK6^vAGWwZb3Egor~;k=Lz}t35{y~Q zM5+FxMDga>Jzd|bvaRkxtMq#9e6?GWtJ_PCz%ev_*V|ZES1tb8b^IO+c^qLw zfJ{-KzrkimzQeB_R$LvyB@#W;+8OxA2*Ihp1qzYJf z#JU!8b(m1fRWHMN|7nM(U*M=XPp)?7xqo$55c7H~$|3i-Zg*!5xY1zdnsZpOm0wNZ zI`L0?e5Nh8?28?dy5351HapPa(guUqt~;7%?~NgXbxStO}Wzt+2MIHhR#?W-t@^6-j{pg>&9U%^UsNvxJJ5v zZW9(i+0!9BApzpJfu;f;q_V4YA_n@5{$ah}h8`SL(qp}X|tQM1VM9_GroJnu}C)Pk4DLA!d(e%*N%GvixW zk%;}F`8bJ`gLRi)?KKHo|4J<)=*}O3*HQYrl^{Q*%d&GA;3k4Le1o#_AqS-uP0JJ^ zzZtzHYz-EUA#y$iqLle1o_p|pQvxWS(IO&J^gW0gfN zM0#rS z8KJG?h5SWp4)&v1K4uE5H4JSp+x_B`9`q3GSP(#&d805+s`V^Ujptfx>YQl$GSE7z ze}B}PW%7BMe+ko?)c!R2N9(P_kh6ul;D59Z;aU894LVaydW9RzaaRpXq(WKkSrp{? zsIFm3I4&PD+OULnEv+=Jopk@y(=LbW)-8duX8st&`*KqFJx8P$m7V>lfi&$;f!ED+ zx%a@j_N+=jNIo;R`$U`Cw@JSQtf*kLJ#{bZAMXXi#%b^<+s1KTiY`Z{r%U=>beOby zT+2BwLQeLZ+)0XhW+9l+I);ebw&Lxs#T%Zfmfoixlrzow&Z&QMpW8QuN>bEkM-8$; zx--Ju{rcP7*kAm}yqiS2XO`UCRKPxFj@5xI5a#lOdkkyjeAagO7s#VG+6zoYqj}K?6-RG1w5)sK#e;Ck11=sMuS^K|O_JeM3~(erR|rop?S6HP)`Vk@P5 zd-MW(u^3alQ$8{yBJ% zXuZnfN6I}`Jv}em+ArAv&%`e-`$a1*`#(t0A^(266eCv@d?aaIO^oYs0VnxV>!Q@m z>|hU@ko$c2?Qxg%(_6>VRKa)KmvT45q8?D0)f2SR0ZptPS|}L7{*#@^9B^7Qrl{*2uP%Mxi&!w3K?!t|S^DBj0 z0w)W3HeEF60eNEIgOEeYnlUFet@B@)$RqU{hi5APGkpk{`<@{fAhQttMl+r}HEaJll`sZQ$OqH`~d`IsnCuBZ`4GHxOC8;$3f_@H&RYvT*2;RgNV3!IVo zI8u4<=j>eo>)=|RARYMFKHXp0yfk83-vn`jRsGyP35HA!_cz7@SNPR zH*A{1v7_5J%bcD2MHCj#*pVZ#b6_Kj(dUQtx=YE*rcUxT-?-e1F~rjm%&pR|pC?^_ zl+vXFe1|xz+xgGB7!k=`y%+YlkS_K=cv@h4=wmiOLWuywp-fxmdADzR-)UJ}|CI8x zD-o5uB}p}I@e`+-w&e5}3U|7Y$fC(Vh4uta(A~TdE)r3`dGEM%K>t3_I8A*EH1#8j z1jkV#y~|*M4q}5=yAUseBh)Z6JECliT+y)e!kO-Pxwv7}NM{AD){R`uWrk|jb&h|= z+IxZO=<3cMMpPYuctKV((R9-eU+&+*ymUktb(`ZE4)qc~q(uW%0oQs%lh9pPMzeR` z@AlyqW8S#Zb-x}D)TQj|rB@Hu^=kbU%Dnq)0JaUeH$U6&FO~@XE|2b`Qaf>%^z;`1 zuXoRPZz$K;5-yzshd{*lgI9tFJ%-2ar=x&x28G$`keyq0?LBx;0BzqkkH>jewZ>#= zz7tfJZ?R#ApD}erNciqV1N{B2}_Y*0h->nS!;Nbng6Nc+a2|J#AMC{;$5 za~ECr_ctY}y=YZy1#!KJaC4WsnH+xW!J*e_1L*LVGZaj1rhm|eGD`W8=rq>Lk^H@p zZ-3X(2oFSFr2fPx~)gv<$P+!;X&fCfJ2Mx#C4CMh%J&;qhjyPg0zGx z0IOTd*w+1I2QMEz9r*{FhXPMWMBqK@KE{lCM{3nA+h0rB0{Od^FW(SJ*Of-SS{!WM zR0!B|&0VHGO3;|@bB{+yN(Ze6voqcd6G^wI`VgxHV9m3{Z65(Hs!{LKCNFVAl$R&- z-N7NQ6CPIyDjq=m88aNBE*{KzVOQ9dhz-3m!ByH(Fc3rA+dTWht6lbCKWZiPH8a{F zQDVq=_ZFWEqZ(>FWUJ@m{h6{#D?!WlZTRAq4(Uqf<{voI`0D4?Pn$6~HN30cfw=DU zH*2K0@ofUOl}rG$WFBn5=WBjXB8lUq>p(950w7?lOzC@nK6jldtw!04UYYcOhUdSqIU(zJo@CtDin&Lh9#0awb{BT$0KUq30CFaWB4)wFTZs#Xh zk+Q1WNqqXZ?$csN!C;RCAz*kaPAQj&pX5Rjn`B1e4GgfgUu{J7kZ`qKZ)Z}97I`XZ zk=irOcnM)Tf~W7kz)AZdF8Nd}WShr+On!{ce-9N+cf5#JW#LpF6LIV5Qf(%ZIZRg)DD}moGLnEs zxB`}2H-#roC5NQ!E9j+s33ozo9arP+cuUd^!1S>THkYG8=Ta#i%gPI_!=Tbm&MybA z5@dZcaI632FKvfDbq;%w#2pKbJ;JT-=0_JcgB_lRfgpRzbB5E^RkW^~F(Rol4{-es z8nsjywWRM^plEuAeg}9To_8xDKgO+pL4Pe*zf+v406-_v8D3y|NnpKbuhot;wb;> zr_=t{K$54a4?Kmg=2|#4gw|k`nlnSt>BnE}7Si1>@KO$f5`Mf<#Z~u#+j2J7Ic69w zKgna;)-?Tj9t!jR5i&T^8tF0d$m)AD+v@B+uP!#70M2cd-v5hHT*Ue6=bod0JLgk()Cx^=a#l4dJ^ zvVg%;2TcyUbA;l_ic|e&<(diTS8U&+6SUL1$0KF!kIL`fP>6qs&yfneyE1X%%e82f zOg)^BrFxc=`=2@BM+m5~l7yvjXcm=g<>Aqvs2PM;-1@-CcEVO1iGE1rMDHiju@d86 zlhNKtQauZM{GB?YOr*w;d@(`R=x^jNy7D+y8=F0O9QoG|i~^~jL=&&2&Yk4?d{aK= zFF>kBWf7y57Hx`2dGf3Ecc{O#o(-zlqfU9i>_-4W27rk2lRg%7gIu*Rd^j)1d`Esl z!QjCcy2Y!i{#9_`xu}adyId3ZG08g)qP+zw*;&6rGz@GHsMbm@X*2shidSHMq-XjS zR^Yy3m?smweSdqoCgOwKdU}6zZnQz48Qu4K;`O38Ln+K(u!ZjYdWNNgeviE;{16Sl zOMY4N1elNTm(1I@=WGiwro&5g_|GvmD=RC4q2b|VXVJ2}q~$0UIqY3$`6?0JHY^9| zo8(3&)f=Xo&91K|+h?5O2E2!V&H0I~*nM1uk&LEbS$hp#sT%*ek{D0ODrDh~*0=`%zbkQSn7%GxP7S-#Bj(Mv=VdXZ8j5>adLf|T)78Wi znyKsP)xS_W05yK=djr0T4q8sA^yr^eQslhq2iBzpICySsIVVCg&7 z^OYP7apoO$8G=Uj7$9aE4MPF(#D>;R*i@hW;ttljC2m^EeO zAiCwP9~;A&ge0+XROb%*LEG2v%#@p=ELd-Y&hzLj7U3(dpK#v->hj_cVKIfHEG-4m>XfAb5j{?2nnS-N*s6yA3!{G%7I!~sZ4IAvbIKqX2{&0;Ml75J$PnU2DSk22w z;bZmE^oMCnLN~?uhjJ21aov?gLkYTq9Q*$E*sy)`5+!)Ul!|7IjTlU^yM{$D+@ zOZo@ftrUqcyt3s}k~@g?(0V9(YU_~P9eIQwR=IV<-5As3WzFHMW;YXdCx;=X+8xVj z2H_5@%p#bmNnE%_pH_*cb_tISZ4tL3v9A>25);@@kUII=IhiBwV9@-YE7=wIFD}q4 z`T2+3*RM6@D*fuA!!xaw?8nEJelz{a`q+;LeO-cX!+-6)&RSD$H8ctG%D1mXQPF+DBAO zm7YMNhFFgP{yJ;v(A{;5ny96j<+#S8C$*=T*6@LW5d$*Tx+SfrMEjTC!w)bx?lr4C z;55%v(~k9c5x&Boo;N&#Th_`<8B#UsmME45{$24J$9CfdM#nwZ42O9D#(`6Klh0_+ z?2PV3b_{9bH&|FU_18NG%oVTZC(Bt4W0ZXi7nnFR4Skcm}8kiwkQw zJaCR(xFVVCf-c-z)e-}QH9dgumOp}E>hF?k(X9m=n38)qOC5|uk>YZX3~Wpcexwec zp6$Ao=q$=AjDCjcUVWC+ZErFiR%y;ue>TQu0+6JA61naOb9AM9+*K+QqsksJMORDZ zx}J%6D#i{r_x>w`-(mM#_C?%U9jM}TOxg?_*IqA1B(A%_FKP!b6FdMgwb(LOd>~4z z#kiMZTPe^Q#*J8p<%n-#U(!bN+Mh{;+;NlSgl0V;cv<_tv~o)bRY<>m;4R%8!gcl- zpg{MrHTXMfO?8m?gRw?UoanZ!OVmnQ)(7&wmiIY(3Ep5$^}|?L$C_wFfc<=#M4D!v zJnb!6XpXh2t&c`vGWii;>?C(Xz{1N!T3-I?eoyK}&52hb2sq8u`x%(PFw*MogPJj8 zYKR@a+E^2LQ#|c{Sh*noA)YF{Alw6LvE(eV(v$6b7vJ)9pCOznyZl>LR6`@VPlXWQ zaFToPQAK9CyNu{}BxTK#0bT^p65gQesThi(qHB}a_>h}~v6BP@x}M^seF|LKk{c9F z|E89f`m#V*?CGCBBx(=`QR0&CKcMU%KN~)F4@!M9EOWg7-I7(|&UL6-gW_3!r*Rvl zeuuAo`SxXTR)T9+OX<7kt(9m{EYn+M#Ebh8k+o24!G8UKqCS3MGx3SIGu&xc+%sdM z4!6eTLW6o6CvU+Ups?DW-MgV9_&hP=@9L0iuSR>`;Rr*)Mas5T!vGoQZMx*&_vNn^ z_w1Zy9>58GQrFNV>axl%jO&+Q{ka=7UW+*Fh6sN>>^V?Xf&`u=uwh;dnJjL9m?v}7 z*LS9mORacADZKN10X~r*U_9S9$+*=f1AoLp?t2Rw^hxab0<4R_1I-xXrXKdJXpoOI z*XM0$VmMI7NBhNEp17Wa&AggPGyGkeX20fX#%&LL*8UtCM=!8B@my&r%+gSrJ5^U%%C()O1 zRX`Ik4gAalYbS{XdqRS*;$gu#M#Rih-Tfx&2vx|%xoZM`8zM-9&1B2LDJnIh3Ac?? zsU=vm1lH8{W=#olkL*uzWxM8*`CpG zY?^QN2yVWpO3ZZN`fwgY&Z(OYL(i(Io^9Pr5dEH7NGiQFNQ*{3TNNSg4IfOIsH#dj z`N8|5bcxrlhlmC>n>^WHGh86$TkJPhXELt4$**aCt-jTZ;|O*-)e@fK1Ip6ur9*iFjyPW;wy=LT*qF;5E=dtY zYLB45^+2`%#|9m~=M&7ynPlq-t9~b@O~rr$$c^_ZqeZXp4hbeQu%e0N5^|v@aZnxe za_^>h^61WmJ)-Ag-+ZInwTdf|e~ShueGv2qrG0p(;(?2^GC4!63qZygT0z$7aeN27 zsqoB@9K-hZvFmmeKFR+=MakCD3?%^wZ24+TS?E7QA02@~jdewMkfz(2~i%&qFI5 zD)dpOO&?!@dXoSG2(VNbH6N)V;%VzQ^(ypVHfa|sk-#wB@I5|_{kn*typ@W7oQm{C zm+_VkpmEIaD)qVv(i~f20A-@1-SRK?rFM3^nnR^^h|j@aF6a)^8NkiW4%RB7?BaEaNG@J{+_a7=Fkq7UvnxX8kBkF(aS4b zclXAqi)KjTYlZp{iEtgk&9AWA0)l`CwuwVu#n^VbmT$j<{pqP&qmq5)A1$@Fq`N0& zlce#HF9YgIb9ncBz56z+0K9z!cEr3sa8&nJ)rSnBhB)Iz5+xCe2s zT(htg=2vnXQofDcRsIur!c6kaClu~`rv`-FXAf^mk0t4VY*t!5kp=D26amn>ZDcMl z?j_T`42s~k?yvOGJLQHBigcW9Dx^_6!6m4!#cu#z#AG<%P^2TME1BWjPU$&+zce0> z*8D5g2tO*{FvjBrQ#c#`{J#i8?vQhu2`S{&pNCXsn`Dq52hq~e+-wOAjKen%)RV_n z{wC>0|Bta_E8pIY-$D3zvj7q<+5~q-|3I(NnG$~~iPUMYU=^T&D-D0##yT^>Sjlh0 z`3{I2WX8J0KuVTC*G^$~v_)x(S4phA!cy1<*YBkqyteFQbRYDTr8@C7(9k=O0RxBZ z?rAT~V$tk@3}2R^ZhDPvcw+U$;iXQBMUQ*`Esk}Ze`NKVy&}y~PFX(}#`DMY%($}53SU^1qlg7HL-ms>g;R2Y=V+!AV#BH+11vrWp z+y_2O{iE0_ptfca^mtXBr~^{^8S5`!JXBLxtt3C8KlmO;T#|H9cSM*fn3+%;vk+Klcdg5VnGr*O;j6p&hHJ7~l{^oq^e_qnteGurhNZD1{VCdrTM zDR7PNhjIQK@Ak1$_&iSeQnjzlR>ALeIL9%+L%6Rva{rjEXxN>e?GbR2Xi_WC>!Y5z zaQkbXJC3C_`(ge?Pbs`W{zwLY19L6tN(_YjOaiq!xKN#+kS6-4=y9PW7HBDK<`sNe9>{{Z zXY|}{<8A%Xa6He{2?{qQcQFqzEL4i&M^U%&eGL56xl`_A%^zkf#NKcIiHVH<0VF^_ z@SUlLqHnoUWyIxzZ@b&8Cnm!M31;_WtL) zQy26hZ;9NG6E@j43|&bAO~e4tU|`SS1N*xjo+3$Z>w;(;tuRqGYT^k9+k(BQN*rg4 z{@$Xd#_)HbhwP$DS~MT7ZTPYaKz>PA4$dFdsjjoTEz_sOITXyzSXPnx;+0;CQWG5x z;+`MZ4d<^7(OU-QABVnK!V1VyzO^-A`*onbGvR{^KS^A*ksw*a?u%OCL1M~wx*7z1 zDxqctpWh|~cRnq&8M4u)%^1Y1}5+ z?m_1XV+>m>nfHk5S|YzUiODG9(Q6XT)7I_H`Q8ltLw63_!9Ns%5*V8}L+(LPP?$Ff zSBtAFq<1I{^7I+A1nBC?Zngk}z_6SEkoE3Z0;H?!go*Tb73_m*=A3z^G1k(WFF05- z=NJ-yiNBTPB}&=4RS4+#7_)oZY+B55m5AG0t10^tB8Rfy==L2=r;fk*#bUbp{r85| zk&*#F-8+?J$+rtHPAfZbOePr)Vr5O0JP(6S`tDMl(X;sv0~BYD6yKWkCeXT0MZH?m zZW2vF>US-O3-$Dp^=isV&FwyR#F9!M+9UpD7f-^0&x|(B5x)VY7UH*#HfGnkGTA*_ z@twH4wyj_RylhSO#~Nd>OxLUTV~b`sVjEO~H1Oqk`~ou#iJ6nNKcdGMa?q~yskPIs z&lb1A@pT|2WeBdT7`c30KwfVJzK{1tp6~N=&D-R-^k>Yp)VbCw9q-+=45fCtj$`YM z#qy1pCP#vqRwHrs&zQJFphQ)Ah6@7CLu=2^6#eHB3K^VydeOsZ{~@o;13x3@ zfod(P{So3p{$*Lg1hFTluTYQ{aiZ0WcV*Low-<-VPZdzI+FAZP@e+qYLS!2(p%&4M zDuvowoiY6aq&m;!bTT0lUI!tkrAGO3Sk$hpOdOi>SVEJQ^BY!c#NkldV*ZIy(P-4f*kVis#6m{|L=C7QDo9ljklvAw6cH6e|NqW=v)8$Eckk{k``)|v z{l1^i-r1cwbLPzK?wl>Na|>C75JE@*6v}M_2qA=|Cv-4`5R)Y^DwD7;pMOX@2UE6e z*%AoO!BPOrX)Gsp@7{e-rIkUD;gC(_4nXdtq32wW;?5w?9v3^xA~=fl!%@<`IEDQC ze9G>J>ddMYx0_xWn=_g&%b=w9Zcrl8|c9c~~lb?s+Qs^&&_5V5O z+m4_V@)YnYn-G#dq=kbybLLDl1dC;T$BrF~5WG~eV#NvDw{O21>wle0dDAIC?w$%2 zD!c%vaKKD+av)wn&m^^ak(-RE7j-y;U<#tUxnzl!76#g&m(*X@Ro(uK)t<1cC)SH2 z{J}%T87CW+zA@0z8|IEdavvpE1>2{gcQe+@8TD$4-~!k*!jJ8Qkn|zt9gK9CRLT`FDGYsspl`U(e1+po3&VCU zYW-ydQokM&kBK> zTby(_y#TLLrHVbQ`Dra$oY~*8BL(JGE?s&Q zI^n7+T7TY2To#X=2EIp;MFV|*{Y3Jkt$Lu%mLq%`x^93??>UIA!%_<}cPCO7Atbd) zX$OOjZbvs-bX=IANmt0vfddC3?le%wUC^J%6}|6K zWF90uTo`TkH`GV&(qwURFa;AWgAkJXq_l&nQGcVxe);|as|&CsGKx$($s5seo(-qv z`-^uSl| ziO)jE-oZzf(`E$nb&>Z58#Zj1kM+17XCdz=O4pMP$uqHZj7M*>fHOW9ZIv~Z3v6^8 zxPK6XuF`7tgMvol^oj^iFCt*~?hJCl1|0gky9AbtsNH98v3~)~#FD$WkAiV!chA z<=eU|LWev8JdL{Cn}{w#NP3g<4n{yn*MDlwnl&%fu3h^s)%ls}8TISeKVNOW>!PEH zcmU)-roY%Xhcr9shDg?T9&6XG{c{vi`7rTr$i9Lst34|fNf!@Wu7%#LI||g{dx!LI zVPDlcb?W@+x4GJKyD{5W7=J)!B!yd(U9>o6(-L6BCkzNuuu61)RsyxRT1XP+A zyOrz<2&!YLqT;B)92?2%s_-3hH=Z;H+28qq^5>0djZ9EXc^I8-g3`rU(?_hxZ1#opQ zA)K&svNpE27c5xNPD}1>h>OF?Qw}DLxXUBGF*@2TnHDWtG{yQ?9`bnwnOwB7r&J_+ zDta1o3Ne2hxm*@12mMvQzw%6y+pFaiLowe=P za?-GTj^4qA{nauq0_2K5^fv@~oKu!_XRX)iB$f;#{ZskDF*gdwpnfNj@Leh{s%}T{ z3>Nt-@ZX^wUr1CZA+eC3984u`{eYfu<&}R|zBza9TzSkU)BMkB-MY2of5wpHgHA7W z3}PSjYSpUMzpz?L6PaN}cFK7U_1-Sx-JS8DI(I?tRj2$o1`nbBw_){mEX#2Wy8f+1 z4EzI&{l7iDQz1D{zHl%&$Dh@=aUw@dX^#^+M_#HDcd!q}BN*@XCvPcCk!Xo_{gZ!K z9{&`Mu0XI>Z&oO08Z}O_BtHUT8H#{bLPw`k1Nm*wYbWN%e1nuI)yi( zdmi%djAjh-l|Uf+`XH42i?Do(yju|-aVp==4*f4^58^U=5zuh zul!Twue7M+SmbW!d@K9CLnu!a=OWx-{qpkopq2gC&HBG(PPL5p7ARZpa;E4}SdOT& zZJNXOtteZ6UnT$Y*+Q+~i%#MtE8MvR!4>*OyLRoS>f5lP!Y7}6Vs>WVTiJJUcD;*9 zM~S?J5T@e$hmg$;8#aI3gZ&rk*ij!jj%0rqHuB8Ga;*>Du8$z0`;cLSK1iW3>{x>1 z<1#%@KG`264${)W;2Z`B* zNYnKM>idYYMdWqovKndiRKBy3?|}8o6>CN0?SS-IvVrhHY=@jO>a<$ZBUhv1B#-&D z+Y>dMyo?qVp&K@A*EUa}9nQ1c0r@{c&{mWE0(EGbEcPd%5qh>+zc`ABw#=vdgZLor91IR<=~T@R-nJW8 zxZ|g1nTvB)XN;4@+0EUGva32E5`A#O^y*iWuZ-rqD|%Tn;ak8 zp=XknePI2h+4^(}s!YgueOa%>_=JULM)>m(*A339zws zqMMEyG9370s{XwFTb`Ay|($Nn; z{O}2cp%gY=}|*X?+8>ZBDTKun~ViIH@x~`skyuyA+i1UzfaVqQuv8 zNt5y_+Z$-hJN%jH3-dX@&C?FfMX2gSr;HK|b!ajG0XF|5PW$pICxTFlM z;r<}5q@9BiI(6za6n71St?VzD1$jC7HV*1rl2n9SC+&t?$DI)9fUklxmG36X>hXx{ z;F5nua2rA`BemS@45Tv?><=wJ_~3)#*lz>1q$x7L7t*K4p>s6yj?$v!4l><3G^Y_; z34?v$I8;3m^2z=n4y2`n5pYmnWV~1CcFi@{)I~?O+BK7ZqFvEB;rS>7wpEPP2sjd% zW<(z?wqeGM8SSsT?z(t}g2q~>q=Nbnnm&Jh`oe3kz4i?)TJFMl0C87Kv z$kqLoAc^b`l0u}dgAveS-GR&k?fxNpCESp4<$o?QHL|T74 zn9iL$ONVtIR_&Mk8Q7K~x^<)F3jpc#qdFLHQ>;o+zc$OdJ#!~mAj{dK|Q{KZu!v7euvW^I`22^7yY3>WkY&X zq%YOB%?={w$92g>?l6tJ7;(_HgL%x#{^&3Zh|Pk$IjEtfwr)P+lJ9Opvpb;f4bT=} ztNkEzdSxbRf08&m$@)SU7N~!#9D~Wy`|)2EGudu; z@+L@=G5YeamZhB1<3zry?x@zw!k#?{KeodE>`Xprvp?Q!<5#hKM5=eluzwfgLQ}xJ z^Ugc+9QZP4*EuRmI{6;joL@3L z)Ba~n8M#!_)RAEMolt+CJQlNGV9SXfaxPP+PVI8@%{RXbncEx{cq3Ee+^E)zt0BHw z-@5NeKOG@NFU;$ zFI*mxy_e_cG50c)bgM*RD`40LKoHAuf2^`@1E&4DlSq=s#TaC$+C%=YtnJiEq zQ*AS{>t!6WoQWzUFR)R@{U}46NM$U0VUwJgf9%$+o7bZQFWp_xDe8ZuCf~;t*V6Ao z*&9)|OjPOgUg3Xp*wP+$9Ct|b-Nrufr3ZG(qd#5tY%OgC>e2|IJVLA%ncLcqy7Wa| z<~XEDTeL*}$B|zq0F_Ss1mtDb=znQ>WMGDUwSAeB9-ruSi2C(9?79Yay$HMHorSz7 z+WYCJpVn{Nw(Uv>U2eyquCG7zZBg~CY-K-!J&3x>+OFOu-)WU)Lt1e7o#PlP1ZBnewP>d9;;v$BFvL<371F{8lzmAJ0Jw$UhXp&?qAM%nv`fN_h}V zeFfMhkLG{wb4rUz=?d-y?b|=WqBd4^uD#@aZ<``&%-p) z{W)%2J_7As_^r3z8j5`}4f`R?f#`ovAVBW^oV9aZ6gS?wVLz4+fTj*eN z7&wm^2xcJcpWC+NXVCsKvPqnIXe8O_(W6`T?b~;LE}BJ1T0sXxh=R_AkmN#>AQs(| z5HKiza*0;}f<<@UdFLpHw1Eg3BkfMLT@1lLTvTm@*z;Q6hY*yv^SYG%R|Lf%a-U0j zKLqu$oQ-7*QdN^nVDd+MO1*#o-K&qU*7YjEv%HT{`6I(KaR z|MqF4Yg?=2zroH2WnQm2p$kx&$pszS|t;Fh|uw*%y5hF$%goBxm)$6cc25qy)&~q1- zZ;>{~XSrzu9Sk8U4m#3l==A1c^~!j4pi_Ur%62ZVqEj7c=ocrj2{Plbeh8g^_rD7{;X}~ z9Be*v@ZiBqr%s(3R%htz483R2CR^cP&avYWWjoNaan>cJp@ShLJvcYP{PL)5kLg@= zUVH5|=|f8+Jc$l-H9FH036|-9RK^T+;{C0xzI2|0u>U)(%KIlj4#p8U zmp{8C-G*fx%6I@}Jq!C=V!JAq(WqBkPB_(}gCQivdHwa*hazZ#Ws{ez6LLi_;T?C} zQO8GFr_foxjn!M?Da#M&oW+xk#NEu;WI7lDb-etIH{RF?{k>3**Ngvui%{R!jr?*a zBJYomo5G?GdgW!l490jC_J4}-4B~&CEc;UpIv7Gy2)TuDNs{*#)%6H;q;L3C+ed!h zeDlr2euPoZtzrk%w?~KTII=7We2t}n9^qCW*l>qmrKsa3rRH~7yd2E=QFKpqioE^y z+iRnYU1*-o*es0gh?o9<`3X80LQ;snz#)3ym@#8!nvv+-ZuhA+;$4FupuSFk4rYsG zI2gD3#NuEyA_fsS5b=_~PoF+@Mvor-Dpvc76G8gpditnQqjtl=%*ASJEIY8hFb><& z209o*QV2MbF@9yEjk+@KgyMQXfX?=#c=GwAni&zpC^A3n^C1&|;ds&fYp}FL^BusZ zeADu{DFZXFQtkV6;%25cbTEYEE)gFV<^s=R8HtXw0-VMUFJbhZvn3omcI^59ZK`Kw zebf^2fK{dh4ry?%lh~aAO$_b^=S`i4!Ll z>d~Wze8pcfU|Yt*7P*@mg77eGkq<9NpzJ-cp%vEqz_tM*i?H>iNt3>hMZeN!xTH@yA!+Z)WR@)KnUbqM8PvOWrh?zx73;ZE2wEFS&ZAb={+ z`?aBaA8hXg+vj=Ns8K6QnZH4CQ#|tX9ZYT;KuCUn2OX6>5*lj8qqCQ*@8fE{hLt_D zu_us~xv!#rWe=Hao%Ept{z#l&w{G38u(D@5mOkPLmaUT~Pu}RFOYR8#ypvg{hpc7lAtvhz^F8MsaO@Yh@9_fo?C{LV=?=S8lFU}wq{a+&Z(x>by zZz*4T5}H9E(fsL?VHR(HfVp$${sqDG)~#EAk=wSU3u)nC=FOWYfBkwjmP{-AZ&?>y zdF7Sca@D9j2HHseA~#cQE<*dv$W43l3##4gVJU{?zi4-MUU`r+K&=kNKD!6|>EF3( zP@0g^4rc!R`O{mpXweR<=a^|YUjDaW!Gcd(wrqJ_E|`{QKs(HTL(l?Ch7m6()Mm8N zM6}T(xnf+Jg5&a99GA~vwT>0u?vJSB@^!TN-MM5QF~B|v+ZWh3_aUHzNdhV9U~qzF zHgDcsI?jSo#LmGG-OlT^@#9m5hvx+j7vf zv;}P`cZSzQ5s~A6@-E1=MVr^jDZ5Bi78=|8oP^NtbVhI+`ku?N@2UlFR_c>-4hGJm zXl7=nc|dH(av$P%FIu!nuEzDdmJA#a$hNRJ!XI+Z(%c0d*iTltb2)-#tXh{7rJ|ic z=aL-I=I>aM&Sg4|%O`ML%A+#5GA^#-f1jhq5m#{he}#R2Hvy|Xv8==Xy2?oo{l|Nj z@g#smC*>RrcK#uKyIHel4Zi&H%a!&v4wlZBUw(PC+g zA~;uzT8DP2t!>|pHo63D)D`PL<*aq-3EEuVv2@YnaBP;wv3XF|(f*4OJc^ENsM`J@ z=dC1eV1M*~LeR@gEGKM9CsNA6phJ`s_$)2zJ>9w3Anph{(4q)WYtiS$SXN&I<*`ge zN3kV_eAgprt~TFCUh{5Cmo0|$AB{M<>*%jGM=)Gwq5u6@ZHg6?S;cI3wNGkAvq9M^`(QVJWM1}BjC#4(=PTGn3Hcr+X-DGic%S-H!uynNJaP|1Eod+H49hY5p+5K3pk7YRG2P>JK z2+C=Hs-8sLLFl^yEFvdbt&TmGdCte?(rnV;HT&;_EMxzv0U2MKHbps>q`jWf^{9Q;Mvh^m zpNsSjR`_u)$J#cOaj8+p2*}Evt{j&cDy|6PHtPAMt)c%_=pU%I=OAdUsj|<7OCS?} zcGrw}{n7RN>TbgFBa^K2$tqU3yfD z3OO4be08mC=OPTkG8j8vWQ$mlTmbp`I5~Gn7roVN>W1-r-mhM^G2-<#d-M`)t1GQpa$A0SB4N zC}S1MsAoqghgVS9xCG_3h5jQ>MnZM~Y;tNPOv=UP9WTjrK*aT&Y-LkJBIwt z5T1sd{^&0z$BMeG_+?mssQjN$$JY?{cgYq4d1qST&SennlDHzUOF9qxs=pXyKSOzK zVzDn8D5oLHu&@3vguTlh#1dxge=#a-g1)*n!(pgrMA8v&^mjOtBe^1HF$iylt zUcb7J3T(XBsKaA^^9tB6GNf5|E-yjHKM@v&O;fGx;m$%~*uU4l0$0b<7TadnA$M$L zl0B-4T%@h7$YZUpVV;~Lc4ysGodd#YmA`=9&PqUZ*-lW7o6nIh z-~QMgYEt{095|o!i<{qny2SI_CKpo1!7N+0>;fZdjiX>}9JAEHh68b`iff0mR;l&x ztn7oQncCK0oXg2N+tRKC8#QWFY{iNdXSBTEV5y|G^$trql;LXKJ{b<7;|SFex=Jly zzC1LbLB{GMJ(jWg(usboN1%@Vpyzhzm8<2>jT<+1yQ9$`eN9Dwxg+citd}?w?!6pG z+{6po-W(!oUuh0Rn@qN{kJ(c$w#uWew)O_(FA{m|lRcWuKy7^*N_})jJ5ZEsdXq#(cQ^;Xqy{!s1I zp?4o~9Lrt=c0TF*0(pMx6i?hq83%&{q_+`u%26;jDj%6=$ z;(Q|UkunYjn4Nbrkh>H8MdWZ(04LHRBT8N*k2B>OG-wdkQR9G?M*{lGMArcV;9KK_ zbt2~avb9Ajd0|s>k!0;91Qf_g&>&@ zM($!lSL(2@tBYLNMF(s;?ILG$Pqaj|Mc7?2$_;!v9kkv3`ZntDttkULrW%ht+nF*N z`yJxK-VZ|Ggjj4efsN(>hOqZJI6hi~kAFM~NT)8sjh;VQ}2VG$uI=0DRDm?OiYA%i+X4hDxp2RJN0?{0)j-Xaly zM02dXGS7kYiTERB9E=08ej6ezOG3H!v*obI0&pVr9AuxbQ>V^@YuBzlo`iCf0vw$T z*{yH9s86&*-{UP3Myz)pK_KtPY8Y{Qu)kVie{GIY*JqY?=Z8Z<9JXHv6AzAaWs#I2 z-#EZjb}-hOHET+sLpbb~u705t}UaIWOUY! zb?esUm#fJQG0ImC!iYGKQGm;_&*a_PVeBub_ZOZZ|2=R@{j{jguELRohSZ|8%0B0MOlC-$q;LFRGnB;M4QAiNmHq zz`l(3v88Wt9GKIO6hu7-qWwoWW(Y^VAqhDc>mrpd~*9AP8Npf7B= zFUrv8e-hoUSLDe1v0GXk$On?4yGW@w^#47I{AXC&X!7SnKBjM0q9FT!{~>z=dWS=Q zMT8HVf{6bE;{PG**iU`YeqFVEasdxP=BVR|~4PE+w5N0{C&Ec0ar1T=SegX22#{m>Jj}qdZgr0%Od!bkP$pSV! zrB;hzy+7JV9^csC^2m(RVK3!j+aucgyT)LO&Zxs6=*jBTq&}80SDP-3y8Z_HA@uEx zd^wJ7`I~^MNRw|RQ zq?bncgC;LF{vERN#eCT8$kBkT{I8CDd>5Jm1bXHBl6z6+ZdJY<1JeF7^-7k5L7L3V zC10c4@1-ijhL@1{x5^&*5?{a5iZ=Ar2Tfu6y%WSllI2(IzH2KCU(8)42 z9zwgfG|y!nnI;K;Hp*OQ)nR8n?EkDmM-IpTF>K2a{*p+u=aLJ3;4R2SGs;S6=y+Zw zr5uca9r>0_mtkdJjfSGJl*SHpdR#UVc?LMdM<5*#f=&)eC#zSl9x)6RaTPXh+!*?Z z4EcM)Hn|#=4okkg4$WzV_-AE$8b5X<0r>z?f8UhVK2CyvsDsnoPcoc&p1py34TJsv zRGa$8qx+>})ia_!q{EbV8MZ?`8~OG36H?|ykdyyEw;kKn(W~Q(YJ0hGuutd$C~GZj zm0{F!(II!B1#yCJLi}t8`LhszM9IrQ4Bh$0{QeB}DvmOw?)t0~#ZX4XBOUoT5^Z<4 z%2yHjLIWj#AU*`?GC!VNNr%mihdeD~wJWcK`Zv zrsJW5$t&Q%np3rE)eAOl+9Z!dWHLUd=bmp@t5$7)$mY$P6B%(Mom5}w84o=X9S+Jr zjx@1jzh=YPR^%7_a?nk)-0`y?eD5o9sA!)*z%KdYHE|5)G&@o2h5Ykz0?T(hpKH-( zon|7xlQXsue=*8_%gX*JRp$YuJuhXVjG-t)oRbWQxE3c_A)KTqm0T=!?XD)~)W2a0 z``;gboY3+pt*BplMa-kXP-m%EX|#Q1tc!zon$Jw`B%ek*jM4J##dbx6`gd98(C-zH zF~87v!l~_oKF_25v#b+g_Nepd5`^-2NpG`Vh;M=8#cmgQf*{|xEJVE13=@v}{m4LH zIo1B5b7lYj{h1eDc;O;V=3K~x%_6Nhh+|BD?oOsFx#EzMK|sw7Iq8#rjrz#v5c2NL ze)QMChrKCDN;((;JL!#&;AW*lsjt6=+Ek7KaM^SuM|&O<(b zX@`rUOFk-<$AxldHVSslbgGk9wsf?&BEQ@@Wp(UMZ3#WaUE<}PS}acHPbf>~qbh;2 z2P#`-zO@<9B^|=v802MC*SE0igx~T_pi`#3FR$9Yh^mV?(qnFVk!J_W7N=4c>vvke z%rG$-@#B%tb^3p=b^!Ge@Vc32kq^yI{ zQ3pa?PQ}n;A1E>FLf&0CsGi5_^FHMxrUZ#c#%Eblub3Q^mQOm%KgC(DoKUVBZRzH~ z5pPb<gv6muqQX5gCT^F zB(rVXwuY4|RgxLakAL&cH><7encL-W4Q@t!*yu!=D==4#%mL_N2q7fNz=_y@uW%OD z8zYouu!CqKa{%Uf=wJvTB*|2$P@(mX9XsUlSj{M6&1Lv?PT7fHxCZr^Uq&7Qu?%WOMQL9|Jax&sfMp70+oZP|8Kz}1I^$+gawd-VbEvZkwb}%>q zClaU7_lMn$~k^xW_{6DVrQq~yOS3>{* N002ovPDHLkV1jRz_$UAX diff --git a/android/app/src/main/res/drawable-xhdpi/branding.png b/android/app/src/main/res/drawable-xhdpi/branding.png index 0bcf138d3e17cace5a37b4adb6a97afa76ae805e..efc7e6c8c995fb3d26927d09c6b0448b0ff1c42a 100644 GIT binary patch delta 11605 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 N002ovPDHLkV1jRz_$UAX diff --git a/android/app/src/main/res/drawable-xxhdpi-v31/android12branding.png b/android/app/src/main/res/drawable-xxhdpi-v31/android12branding.png index c7d0177681e63abe4a1d58e1b5cbf7325dbadfa0..593877e01266445699239227caa666a8ef43118d 100644 GIT binary patch delta 20410 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 delta 21718 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
CK#VCD;@I1#{hXJxKOv?1C9y~- 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 delta 21718 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 diff --git a/android/app/src/main/res/drawable-xxxhdpi/branding.png b/android/app/src/main/res/drawable-xxxhdpi/branding.png index 5477b799402ee040a54891c591185621526ad5d0..9d233302d7f782b2651e8842317004812aa5044d 100644 GIT binary patch literal 20612 zcmeFZ_g7P0)CL$pnlu#!X`-S???qZbQBZpCO?nF;O(`KDAksy87wNr+PC!7A-b0Vl zLJtsnNHX#L*34fpYi8E0@2AVn3is@@_p{5{`?-nK(om+k$$S$40MNXB^GXK*AQ1up zh}tN~2%oV2@!$pkv{c`|dZG7`Xn&dR(0n5sajvZ1YV0xO`qifYb@V*LUmqwh3%vKI zRVvfl9{-)2FGVG^vg}{y(ct%}McANZ{d4A=(4`86y(d~ui3>gKO-IbX=+_?l7%|0A zK!q0;_!3NQzV5F+o_!ZRU|+8dV_!yYeF!@Lkb{&(E_oeDjbS@1MU`RY0b_FKEyx`C zvGYp|BO5_FfbFUvZT7!E0B>FcNC=mQEH?0((;oUH!UKa;uE%H#rK=J7#c!h?GQ@z%1y8fs{;FQ^c2oZK^Y56xkw;l=F~# zFR*;G9%h6ajYL6ysh`;~(k>$Lp08W&Yh82aeBJBiQ8gRXrW(gXt)-_B*P(jok_#%} zd#IRRT|?j;ZV9nkNe-HKcWMK^U%b+QjLhP-drp?EAZ{NLZEz(WcpCmmf;WjM07PE` zJ?1x7)At*Lj8S;Y(P7K=3{t_3{r#pf$bd*NBk8P6;a^|Hq|SQKTUx7O(vbdA4d
>ExW6*FEI6ue;4Dtv#9MppPT%ubKu+DNT9%HGSu)6*0G56S{E=Q1WL!Y-vK(Y~a)0$3PMj}=6V48|`UC)sTsa8*{@OY+>4?@wX>1qGo@ z6Av#36)bjAoV}AG+ecRXUDiRh85vdP=0{7<%tOEVtGaNZ1DEs;=g!(r8#RGtkfJyu zQXkXny4r@Spq_~R)6AjW4_jYB=M}BVfmbIipkvKa&dt#>=EsFo7HyOKGtxl|DGPvK zxss_#ISVp%T{HlIcMQP(261<^v%VXZokH6I>JLe>Y4KI$by3dlv6sEai#{(@)`!QR zb$nPaVp>y7vBCvKhOcYBZ|ceHUrNs2$m=-TUaVMX*J%}iKArAW7k@@4gAfzAyQkKI z;1_3;5$O+R1^}qT0QRg&l)U7E6S#zv zbHl*3dxKw@XxozG7})&}xF91LiCxJ`=#BFI@Air(P<~Ee}ABL3T z0QOd$+Xhnf61In)vK+2Xla98pbw!dL&nKu$BR$c=vCf5nqB#e{marnF@^JU4({FN1 zYn(4)QrO(O!0Yj)(>{WAK9;^tY*+H;{(&{co1O%#*-}`2{-C~n)cq(l^>*9$laDZd z$X*I@n*LM_Uo!iQDqVD5B>bsF|4z93%4{#Hwea>FkIcy~rn&H8W*i0psCaxsh~zlE z#@db1?q^0Ea8@dJ-ptZ}r#o-*@x76L--|m~7PgUrPl30*T1=&j1ib!sJ_9eB`MH;wM0bP2=y`0m1qNH5xIdK0sxEu%u^Ka0-gsRblEnwhfPnIKW#& zQy;MN6)LO$c2r_0#tAtG>EH18$shD7v%V{Gsj|8_<8BXw$S&tu65VDyCjuB1Qdp6# zswNDHQ%MeAqK6d8AhS3~Zl*2sP@)5FMRw}0hsE|0ZgNeTb!6a2pt`=)c!0Zdrh!7j zY^hyKPwB{9U_{UeOMQhREHg0GQ{h!V7yvL}B2N38q#7Ggx&3Cq)y;c|{LWVrMH-mt zVZK@=zg%Pf$3K}&6EPJQQsXkgz^u zim+PxLr<5UZx;oWw^XZmA=*E{crI-6goUjupe)->bqB zoOOKX(BwKUth~}Ej9blgfG(cbfcl$8O77}gjgwg{$AM$&p0tHk_g#PnMqll1e`B6V zc2cfZ2GxA|0eyw-wDxM#@%o1)QV^N-MVS> z%))EUS!ostbgJlM<;&LX2U}9frBdQiCNbTdvROKAcc71IE#Fp+3|x8JZ68@R%Hf{3jq{T}GF*H~Psr@!_lbr* z#A1##@J6DAFrO|d!?V^xD;2LPYUVCIF?Q8t7tuOka)d_EyBa;Uz-4|?Ar@<1VgMlQ zRu^?|d`*Gz@8}k*>2uqXBIONAx_fHNLWhS9hBMW7z=A}>-@H`gVNymsoP**D&uCHz z{`Xa!IPIO2!SN5vuFX8>cRZZ3diD8_NYXrYYs`Jr7p@%*`?T7`IMA-Jz;6EB+Msbi z0#pF4gvieqTj7&#no)uZYHIHd%yIKn<&Xn8PX2CH<<5^+FTWqV2c5|=hNB!H0^D*w z2rVaWCjSS7fKme>fLBjg8=;h(v5018ddSbby&Y^?7JgaaA~6jz)KO;7G^lzpxx`T} z5q!iEzr35`Y)Kn$YxS8*H9nV>?;auRyAZq+-AKOi8&_3>&vhF6pil4B(A|2TJo)}W zL49FRz3YMNVW;PUA&C6FWoV&E`49KxApCw$q2tdnQr)VMmVlB503f)XVCvvc_lEv- zY^8`~vtaS^@D~nO?2>Q#+0I&a67yqhzzL<_n?0U~;Bc=qk z<^knL&K>uZ4qx$sX$BRSEv$3B&RIn>*?HxFbE{ZHqg^7TU29}OOe71JLSh1;c0G!A z&ejmP(6#QO*svvB^JAg<9KUFx!OI)v!EpzHG%sw=B?>*SOJEUkKR7Y2K<`veY=e%sTSbaoO5Yvl_ z)}Ai%ey=uiamh$?I!{PJW)xOJH_asjnEluJ2`+OI3ix;2P>`UoB3uBr|L@<{4A)l0#dpevSn??avDQ49PXap6XS}$MF|Gaa$!drPcP5 zkT0Y@mEBKkh3(HOMgZ(TGPZ6MT1+k2<_LJrNLu-E9$wE> zNq^+#(tQC4&EonvFSV=0H&q5=g>Gn@0^c#sv5&N>-x!fo1i_Gz58?36is*``PrsKsgc7@TwnVy%G7iy41SH)wsIBB=U*SUqR`xvnu`kqoI_0PM#qr?ziD||z9tA+XLSXR*O@e+W zlYh6!yQT$$9Dt@jf4o~8n?^!GmK|MF3rfe&x{<0Tc=Qo3 zTU`L7844?gu-sR|zPbUn7EVMA;m+*)Oa9TB!$;#pJclW(WoVYvjEXxI=AKej%c(Z~?;%G4cPVcp+VJ;FD9}Ox$ z$sTHC#_b$6^#q#n>$C?XktW>LKkp6~*s4 z$e)GhGT@@i-LrZ4`GxTYYS|y^m)qSutgfV_BUIO7%|TzD? zia}B}Iah|@u1Z-!AAu$7YRH7Xrcj{8`kG+F{i-v(yg0ZZs|`$_eDPqE*X+)PbF=ho;?`ZuWx*(1t(LP@zPpsrPk*N(I#6AiDp zm1Cer)7)rW9MFbO!29oR_$Tx|%nCVjk#{AaZuHW#W(y7;p83#=FXKO#eACqX*&wL# zFEq~OBh8F3IJ^T%4EOv2m&#=ah!FNC49Sa+{aP?t(~0EQN-S12^Z9kcY{>k(Kh@O& zzAEZ%&pgM5~b9G_SYhh zY7rJNG#gNkyF2=~I|!76~a^DBYqjP(CFHWXqr_CQ3~T%#7x2q#0E|H4W^V zb!YDCm7O`Ep&4Cv>VM|%6A7=FMDj0P5`AaCA(YOuY-H`W+ol-;<1R0Nm4*3&w5g`L zW1VaggUHwdEee@LTuK`S9_<#XdX`^MPd1rLvJKtq;v&&!dOmx7wyTQHF9`!~v_Z;! zR50gf11`!s5?`M`@w&M`!~zOHn9_(FFwNTyjYc6)1Hiu+W*o~nISQ>F`G|~hT8{wA zvvw9p1;Yzm3_{Q(3iLOGm{j=g1vtj-hv*N{4}N#AJ#nT$f?qOAUN~T4j>@#BqLe>}`kNiGajL2X#w?oMx3Q=R)60eWd9j!+koJBJ`5i7eQ0*zNw(|uKVObqgd~bMuZ~vc6m?})%E+Ng@XFscc}P==Ni`V+id7(EmvML zvzEvk1cz3?-DS&JYdjs|r}1W6b=AkKbjP(c2H~(gc*4Wc;Rt@UH=ku1w|q#<~%I63UXkwUn2{1AP*p%C>96#CsZ9x;KY{ z1b}nP5K8GWAC#b`z8_`FwoL{7T2F&CCyQV z_B0IL-#dfIn;e;Ny}9FaUG28EuY($OLLEvKFze}}=e zx5$iABjv}TJ(!rYww;DbA6|E%WT%s-Y5w;IyNam|%UK{?0BJ`Qn?J?m7HaMMg<}D` zRPoN+T*@yq;}sMZ*GO*NnwFv-*qH+#$E}-IFVmTmSIV3ghH&_@?n@`DShtpNK zy@0AMdRVJwYHY{w51|&&gHx*vO`3NwnBov&voBE|x7T%#u-qXpw zx4n`^`6)AXoou<#C7HHdJuGeW;!GN?g1Ng^EO~iaHbhF!0aw*69uM!h-kh{*C>V=( z&G~FhY?A!OGRH%W8+~_h_<;t~-IwaVuJ~UWv7InCmNeee?Q#~+kCvR>(Sg9f&+$c6 zg2hE;@g5O$H_$`mK^~Q@0w8MCh z7oyJgJ5vNc28unGIPg8nNHWsBWw&LcUP&9Xet-X`B6R8NN4|a$O@z~7x^odD&%pEg zZr^cv8o>u`v=5kSirPziB9Z$;r{#L9*MRYxgihY&j$iEfojt}?9!^@;Qq9xm{rv=Z zT#Qv!RKKplaj4i0nN{+jH8e-2Y}RqhYNky|3ZLFLrXh-Ui~7qRM1@icP~P zN+d=l%W{g7r@g31|H&&CpU4Vm(}rnqB8Te1Kl>>G5*fu4qkK{fbn6zC z7U19C!%{wL#I_s23v6!DD5teaeLIRIWl--6Du&Vro?#c8tTE_{V?372w~Q$I)N&m7 zhQ?ZYNbGVGT&w^2!2?#Ox)PeRpe6K~)c-vFw){e(v`&B7pnHRluY=woJo#6T0NrcR z#l>7IGZO`^7$HX9SXUOK@4cusnQIiiOn(DR*IDMb7|}aI2r=OZ{vGpqrGYwSVKqV} za)w$d|H*r=`+_6UU+;LAL{24BO+ucq;8-y&(dWv8c7Lb=00vqjwH&bqPuH`*G(4|I z9dkk^4oAMcY~2~k8yj!u&okiwk0J+H>H5d`kK7pDSBe1+jd-Pq9YZ3(chi6QBModM zQ0tRHdzn!`cL-DOy^^?>pXU?(;E1SuH9%(yR+T9r~@mO#%t7vymAe+iTo2^@1&e> zb5FjxJ12KJXW#H>ISjEkfAOM%fm1rmt=~(xA^S~@fqLbW@!6LIMSOk%NR%|c-c|XM zX&c5k!$dP1OZvh*?(8YEw3OJ3?M*VtLnEsRZ;#NqED>d9H{Jl?c>8epxlIK_k-$`v ztmNyLx3nc=_V}#5GQ7bWR;NZu1h5fWDk7VzU)+8Fs@1s8cyus#yIO2Bf7z6A5{3Mx z#BtsqI{YBLked5l51U@*JaIRPr|T_K%p-{ps;))5MM2|#p`LeK4v=Qe{}%Dq*uBdS zKM!O>#kBvT_~_`OO^8nMzdI*OMYMwsGaJZ@>d_LB?dRb^^vvMH)3bS;_zt-)OrX}Xvoh{e*kt57H z7n#kUJ7`HQRlLjr`CX4C+<(sqJQ`V0PDqWf_+-+a)@qVAw&3a3haQv-zbXySsXne6 zaLEH0iK!TEyfWa~T9jvT1B*7;{1Y%wH97F(1b~d20|UAVA}xg>h1 zOE{AJbg&lua75eGbT#a;w)sF#EPJO1ZvH%YUdu=HgwW-$9%Ry8KC$>PlRjhg?A##m z@YIg6>h*j^4gQ{0SP*96;edmY;>dV|{Qbzmmg<&6_ktLlgKK(Dz}xgoLQG`5BcV zz@ByB^Y@R=qQ9DW$rLha%zG!0hV&tK$i}k3O8enW$Wq5D9+FXx3nF**8yPvuy07J` z@D&tv;lGb@pP8XOd6LpegL`nuhR2J#O3kQOMKZgA^@xTk2mnie9BeFG7Vb9}E^5re zfqjwV{g-9Uq$#Nd_nigx9pIzBEzx?hx6`^^dRLbTI~bQIC()TFHa>VfkX{T5UoBttj<*7@~jSL*AML=#OL>l|UmNW%#z{`|mSvI!q!@=h9u7&`_P67~P z#%g*qIDW@MM-QT++f-a^o(_jM4S)Luye#rYwuRm9BaX_zN$f z^elUn`SQC`BZZdLD__~zppH5B1$`5l`O&Y0LaLoG zai|!Ju7bU99Q}G%GSLrg0bfjCus@RXANuZdfz`ZWA?l{gG`rUQWh^XvpA&p;e()h- z%+&|H%Ts9%LFN&RzNQQy2@99r_BDu-7F4t?`^s5w5+5%0>}$j@!OOi~0!Z`@#ToMK z4XZ~)`Md6WXaE4eJ^{!|pmN6xT43qmNAC%rD1`vXsMI+sTRvwef+Obc<-hS$cA5;% zx}=?q7h|gEhIfXIQu=vph7ke2ej$8SwO*s`cUX?$oQ)5~443J7uXF{5HovLuu%>`q zMw3hE87^!5)_BvL4NWDcg#SbTCnolB7sthMsrSKg(|}+CP`e-VO8RLpf@y?Xe{0TO zl9=Y?n&8c=f^Z?3(yDAikPWYw{rRY6>f7-68;icLgkVvU@K2dN7AmmQ?-kZ)+wJE^U%^JIDYcL>K zdv`6XW@C`Hi5#GChxk5US*)8#Ti`PF3HLOr@NKD>kW$9QQ3=(#ozu(iq01965rF!i zZhn85hIGX@H}t8iw z0RS-tKxnu<6MrnQsPO(fHMT^A+tAyp)}GE!DT;0)!+Vuzm1jb9oxj#UDjZ}cai>jO zdbINIlDO-R|9ByIwpbTx!U*UZr?9GVz8L-G{hVy+*s5rF?9vlz8G$AR2uTyDFTwQJ zZvtYV<7Y5w>2f3@*{8yJGg;@D(-6L1v-zD-`<6mf;pKiU-^ z#gGyH!x{1p9#L&Vh8ZP8VUw`)TllvA6-?LkZsz`&yTqH(+___O(;Vo=BD4cydX&!I zC=Z#!pSwUu-6iLO{A6VI#saP(sD}N(-}10!oY}N}rY>$NMRUOy-vzw{23+5RVG&Ry zuAdeP`vk(s*UBRok5eX(4M9?UDV8-G4p72mg47h(!jIwS$5$2qUyPmQC+2WvD3%oC z6^=(eGCi+g*yeR#`wm)Ti`9*)AoR}xHP4~*$8fBToo^z^eYCLTZ`L7L?M6r`yt-jy zGG+TJ#ZCmDV#k-8?T_?X%e9dD+f7QgpRo(5ssW+qSbqkIm0 zRlEEBP0uAvQM1!@heR7s3yW!?YP=$ZzzqOgow=EI+N6(^^LbtM<dd8pV=lET$ef${goN?L=35?~35m-BMK{K6G(in{h2X!;z znTqyxc6=Q_{zad(d))?+YNB&f(A4B>F3y--ko+F{NCZ+!VywcoN6(YvnWd(dVs&50#wEZ+DeI`(`ob0Ux6w&gH}pVX=e}emw~k$5vm& z;`d*O%&v-(%{@m>bw|&6;j6JN%F+8s z{1OglV>-%J`NQNZq+;Q|>G_=O9g`R8dpYOv@Nfei7^7kR0O$g@XF9Y=kMO7 zzE6F8NM$hCHLHlA09>V;Uq4n*a!WLnRN;RhF}8FJP{J}CuyOHI4T&68n`~Ne_?JR= zS0_~^=h1C@ryOXFL^_FY7qnQ+l1^g1RzwiZwpu?{Kjz=eb$C&0B%LAWiov)D5A#jT zh#?g4mBXD%Tr58r>_2S3SCM}-^D_{kKH2_55k}ZWZ3B?)-0;!AbTZyVr-sdKk@mNJ zF|0kbg*R`SW>u|fLIR87n+czzv^MyM-G8>wl>I?nThvJ;~ofkYD_<3Y?k?$4d_*O~5z@$!$TMkBeHA!l{yGmV^S@$#C4e zIDZW&`=89ymUYw{y9sc-oM}+r>Lmm;grFTJ@+t$Nm-(l>RDMclys3Tr%$FuPFsJae zn14!)EM5bPAAWS_FSc_Z?*f7Vzt+{w)}M;Q)F*E2w@wauFIjHW z)Ijcj#Oj&mWbnUj)BrVCDUA=o8NK45q;P*kejr?X;7Yh}+C2A~T5x3Ji0aZ2rVwe(8SRsYh`aR>h4 zyKMOeF-|Y2C7S`(DLpY(8hFD!X6D-Tj z-=F%$^Sh|v*`EX->0$J52(gfa}%Dor|ar~-RalM!L$%TmWpBjx=tCJsS z#xLFVCa^qVRuG)d`R{J6JxT1)8PYu^M~A%t5B|Om$o}Un>VyYJUfoG9RtFDw_>HLl%Y<>yT>WNJbg%K^3sV|H3Ks56a}b%1I=Sl6 z=?tU8hRdh7!8HgSaL!#W*G&Iye8YzOnB0q;!d;0bS#^vKGMMP)f9u~$5e}ReiGje? zKYjZNaUZg5LY|&4LPuff?6a|^4fgqCXq0-k#nF-_w;T>#HQAmqk2)j}T|1!H7-+i{ zY{ZKnnukys=@VO>v&{Ctyk{yk;ur zz*Dm!51eYi^=;D?J%4Pxz2@ptDb&W_B8gM%=OX^r$9=h=^cfhfZ1wem4EEdVxogX4 zP+LA*K`9lvYfI7}Qu9aukkDB?c8N#C&gmhVcy4##;(ylBn zAf0nidm<~ehIF~3Mnn8Pc(0qODg3`k-9=odmM_xK#`pEIEc3==2h3}tD3MQy#tkOZ zPU~IVD^#ryJ`Srb%6s~Ie8BGY_aAY8@P&|y;7!OrS33E!4t<$?);k%5AP6}>iM|Sg zb$Xr}(5lNBfPM>-&4N}nm!2Fp`|e!AkenE0u-VEEzARq#_M1}U%uhGOk-F%vw*3#+ zFzGjAH-Uh3afdCYW8CB(H}8<;xMCO2?sWuwC0aj5Xa;HWsrD93;Z01% zD0)<(qq(Q)WL6dbu-rwN!W}e?lQlWICeUEKR<_f_tHb@lTi)J%V@UK=-V_ma?7zVC z|0NC(L7M-^s7QbQRn(bSzX&|4!)3O@&uZWV@aUg$0Oe_<0_;%v5A$`G)4!&BSQE%zj{N&%f z`P|mU3CrR3?KZeqfV1f=_hn2roe6;wRm;EYY=CguWrxBDT^u?l+4Wy>2m&XckcA}} zfh$c{KIe0}q0npEe(77AE|%8k@l?oUhKKivh5>pRe>p=`xg05tcNvqvnAt#3`Fgge zbvAzpaqEt$hT9?3CurUlW#|>s4{8a?V2Vi>+-n(CzZsyj-9G0ygmosffe3CqC+F$# z+q&^@fIOTaD7Unqu^gs&cfibHQSUd#SLMDTo#n14EYo(>KF{V&;Y=nd(-La4#Uc8P zcI&JBtj|c68^e6kXtMj_S=ELK<#1~CU#VPTL+?m{y~Z_V1t*QV%8+h}7&sn;cyD7N z{=n;Wq%UJ!_!3QM6buiO3z|RJy*cMoc}qodNkOR(?eEnfK34Bad`##`ig~BzPhoLWp7SG7itdz(4Dx|zA+YJ`j-;Pr zA6j@Pf3YD_cASDpZR|R>S>U784rjJH%BwKpN0hUn>5BW%=ZyHtvk!9twBw@z!pSO) z)?x!aiBMU6e~qVBDBnbzlAY(*X3r>Zw4%S1(^+^|K$cSk@4a}tol&aMKc()Ie0y>7 zy>v*p6>|J_5N(<&NNOa7z3n$eilM}B-3wW|ZYqCez?6KlbMGg{<*@1so_i;a-2EOZKjg($f%Jh3wY0>vKW6zKfSQR$!DmvqCVL~8NZG-3u`KZe(29#`jnXQ_8KGy~V) zRF^#kX1wKNuq?YLlR{e{M#Af+6{HYJm{;g3zrA6<8IM+dT+VfCK4ntRpuZJ_3UJdQ z>5O%GEX0VU&IVM_-VnmJavo>6_3H1dhX%^%i^pF;qYWpVbHYZ{p|KO?EY~=#RG7&OcIg+O}Pqrr|#>M&fdLL1&6iFa~gL96Q8(e+oEOo8lBXBl5sm zG{l_|S&CO5^Hqft`TbHKZ5yp3rKwV#>hJ3;+CGG%HL6`iEezRRJlm6l5|4ptyTXg9 z)F@56Vt6(2a2%jWzV;3}zdq(_JyWT~_u1Wt*%g~EwV55TL-4N@y1C<4XWue`k2ua^ zlumMO^Uv!1(OS!G>nG)eR~CbD(gR5Aj^sI0nYn;R z)!c5=B4*|5SA%S?)Rw~_{_tCEUt#hIPqSS~CEFW0o_nN!|5%OJkh z*Z7CPFP!j}zZ}!9^gC%?hcw9$Z_n>c<(*qHN^`388#vN(gA|$mm@<>m_g%ivkfW72 zDsRa(L&i5%hi?{Sw7To>lT_w&h6c=V%L(t-c59y%GB6CcX6F&4uTCgL+n5|$*rNP| zzJ-;IrS+f6UrPRJzSVW|%;4L_EAmBr2Ab$qS3q&@AtPj2b}+k{Dud4rJ$=PoCuv74 zW&X+`M{mk&pHK*G+r+BOU>rZodZS2)RaP9EMLHh&Eo~%rr({lOa-nR*uPYS zKV`FAG{d5bz!!(!wK zA+Uko!1~bmmc>4jw0ng#otNpK-&9B^NG50YH#CQ+mcJE`9|0mm-Hckb@EcJqRRS8R z%{weGx6jYqZbhb#^R&*(PI%qQkM`MHtriPxMs3pf+viTbk+evrbyMMg#HQ5}sgd4^ ziJZVOvr1wV1&5n0c|`+t7g1=|T@}9IOE=Bj7ByweTUbQr(CnK{V|byKf(Y1LC&WWQJ+bVWLom95>%2If zX6^(vu8sQ(N*Ec{fPrI>%}ShD*nb1!xvDeMkxlbO8BYg(6dF9_Fpx z>=0(1*0+Z`^iuF}xy+=~51KWtjHD3v!P zW9Dxjeeg8_(`)|-BiO@Y13PIEQ2d4-CB zlgY%B%Ew?IrgG~~n#n&pvJP9Gkpm@t^Ovo+$IlegwF+NgF7*s^Yqins7H+q2O2yxP z7|~Pj_q$^VNKfo%S2rCCgN7Ves{i&7BS>bukX>{ zZ&bxJy0Nr&!wxvF_muX%S>#WZ* zp=|Dhu5av5Q7Yn=(bC77O*OpJ)dz^bX386>SpQkM$TQw6-3y(|<4cyzE^h&(5&6p9fcLcO9Qr*>RL2Ht zS=*tC`v{}MLZEOm8wTt1w%aCg_gludoHQo6yfe2eNwfEAPm>NT4}K!I{}BLy5B4spB6`ow~W*9Nib_{{VL9Mtw0w7&o8@N@)}C;FJ?#sL45%{BodYZ zg%RCU-nla;KvA}x9zwvSUB=k4rA?q+A5kQIf1L%hb5EX3BP*LOh>tk?=+b89o8kzAMW2TAvm#zA5IXMQJ{$j?=2B z&xgG&h$EgNxBHyg-~i4BqqfC3bdiJ6DbaN7JJ!k z;|c@bE%!O>-aB`8=G+9wjjR?7xX2$IdX;U>Q6-zOmkfEA=KHCWUAGS`!gf|eYwtd| zNm>R3ylsIlvtEwe^=R65;m8BPDg>-%wU&K2Oh~Ioa5)C>Uf*Gc4cv`k8X~pxU%)z@ z7wMl`qp>St!=)-IibOF=`NqPJQr%7Nw*FyF?G%oDB%HKTArN4P}&f2Zyhop^Nd{!CV zJ)j?JyYgzT`kr4Uq+w0eQi3<>05S#q_A9j(xXEG_!THK(1t zS1?s>j;?*DImFg6LC0HG-{bQ}Yb!1kM2t+9zi-&N_BJQ(bph*CJ1Z zCcN9=Ka-qMD3Sd&Y17fJ+h=zn69ZJL)tMl$<@=noc_LcaWMHrZN2UR;dVNV_^9tK$ z0Se%wyvW|DNJC{#1CDw(#>xnCtN3^s& z&(%|~v_VB0BDjR5+@dEMwvJBz3Qx`$37k3_<-+$%&QnCjNvtoPB6feKhqT(e*HV9& zT^mm&X4*%@x7f3Jy2FL)LYSM3lmaXh#R$y5z&ykO4Na4{d+o4mKDG6T)I(A6G3E=_ zA$2|vw~QnB5!+z!FEZ{g=BY1x+$E3H$QLP8O7gONRyQlEM`-x=2vU#`aJ?hK?%;i4 zocHb>jXt)v+|4Ljrb(gdvUink%Wg9E8`m900*76jqyp5_Ouo z6ZVoEY%|+Q11=fULd;lwt;7_$8-g=|553$*Yy(8j61o`P?y+tKV2pEYSTg~^BE)Gy zy`L4$OvNQtRBP=eZJa~{3i?4V@|JIrzx*i^_kTMo6Zcqc`o#5Z9)7jly+jjLyezj3 z{u2HQFcoj)pfM3X6&F3;(SOq0om9-&c(z>m^?A2Z!NI`nQm2N zXkhJvu0Cv$K0kj$FDVZ{&y-^DTOe{$w-< zC@CR(mMMMBD*Z#SGmHGOvA6k3xzHWLF|VYJ$$jf#VqM|pDVwOPOgg)-xV``L%~rJr z&iR0uYUR^|K>nc%PU`rDlh15zktYTuiMRH~Fq;M+XiL1XeEncwWE%VR6Nx+N87nK} ziY7K8uPa*Yk_p5@utZ^B*Y)@NwYzUpyM>rb+HfD{3fR4r08=Co(YWM2eOlAZL2{Z} z<{T0)*+=qs{VI>vO`$*z%hO_kd<*dqYd&4SUuvbs2eq_K;*|$!%%;Dcs)=U4j0vk# zFta$m41Z}(AQo?Sn$se#Lus4Bk1o|lcGW}Qc^6mJe3&KXAiPvwByait$Ruqp6%#>VnD74V zB_6AmP-XD^>tYGisy9i^kAIv1!@<=bX-VcjP>LeR=akTSH<-oeQzz5!%{qT{;>1XI!>z%m6aH6RzVuHN?k{osrYgPeU`ffSwod=$1Rtl zPIM{H&+flWqF_N%THcl5#?1;$aH88EIt@3K@z>zWn4L;@W z_o)o%mz65`p{J3h@pBz+8zZ~HRD01x8TvD%pHq!9?3rlzhP;L)Ayc&vWbBi1ysmQQ z^x|R{C*r#BXCo~6-}LP?qHNAn&3r&n#4+QYlfq|Kd;SKxZKW>@jnHqYhsg;LY;Npz z3jnKLnw>D&W-Cs?0uGtiIQxyNh}528kG%y;cs?G&_wXe@is}xos$Z6=76-A+e70CK zSn=`}Fu?wb(MsVaPQy8krbd`wtQu+At3KPgC%(U?c;@q5_sl8fGh~}{riqzt=PSe_ zed9yR$I{ONcNT3}G>7k2Hw&qwnIh;~3;$?H#w(@Qv0hMlnjf}~3f3~W@?3RPRTvjn z>0SG(uCbI81K8VpMRq1|W|U9YGp}!C?*OXu(iHoPi3`0r>c_`q8~o^TtY7SWPr&T; zJ_6OH=2Nvt$KJQnE~R`+Re9y~|BrUg{GAPSi{oi&nYl`9twhxf7j-3;NR6eo+G=bg zh%H2ER24;HE1}Z`y|!FiL=(G^v^8nRTD3fic083f5}76{N`=H;Z8Zot?feV#!~Nm@ z`aaKl&U4%{rg>2_2TUH?q0}*NM^h>5f z+_s3Mchs5;Q3y3^`vf9;<`Yac9dYqxN9UXE94U%mERp>lc9C<6MB}D0b`NN|j*^=g z2yG)i7*KXi!bxo53&!>jC`YH*s8a)RV}xp{SX8=LZxW) zRZqA5hu(?$UgAoPgsyr;o6GT?MgH;tdw(kRyfDer_;@nTCV(^Bb!4i9U8*iD$Rr zLi~umrRj>Qnv@_xERv1--l{gLS*K+=4tQdS4%XjY6jI=fv1^@m|NcDS< zzZ)0Tnz~e|&Kn(+_5{yr%VWgeIalV-{p{**(CneWQ>5@<0g~`H7GS$5Y93P2_L^fJ z4|wc!(~L+)69y;z6HY-{b1|)RTNU+vQ`)1{El@UYc-t`7?`Y!-d884TAF@xzbM;8@ zL_!+aGjGvh;af4MBB0F)<`*u7KanT+>!ym`AHH;d5B&oxv*0C=>EEG4{l$geFQ67o3O7emiv-Ofu0mv44(C20o`!z|sM z9S5q2-@CXO)5I$c`t(?xUtXE*EwElUw%CP^?b>9aKVQ`7#|xpV-Fx18Wp!xT5$XSP zk>DzD<(?5q#)uTpi#AGEc#kXgLPFVk%brzaGv;<+S>^R*^P=Y5wpjhn`vH-PqeF6L zR7YP|Yir~Uu##(t{bi7g%CPrZ#nx>5X68xI#NOqr(Vfgx+?;;47JN<3+K2sd4L|t# zE-;uK&StM^4YbJZ2>aC2l}?GF&H!lXkGj+`oO4;j15D4EJfcPG%@2KU9Oj5~b)V(# zL7eLEaH;aY?>#wBn_1tehGSJdduG)RkrMRM3|e9$#yLA&@3{S4@|Ov?u1SUPWM&hM zPg8YY+VU5*^QjPM#*gzhaib5*tHHI<+fDOKei;8=Z~r#d@`XGi!#W8>x9G5vD>q|` zTldXgM?P9iFaCrU5!>c{2I|eVDOG|0ni!bk7}gd99J=Ar2=k9azOsya=b*tUgA_CJ zlsU^gPd{LyK_+?$jb+QpNe`Dc=@lv){pEhw=b+P7yy3^7j~SXHk{3Axa(h-AKXhSm zvF`H}zkw2aDTAP74`;lyegR+Q&aK5=?@bGP--S?sBzwfFWp~M)u?;#W1qTh*UK??V zR9%hAYn_8s5z5UCT{bX#bHa!OEZ&GuKzqg*@Py31oc1|=%2+d>s+FZNfG`=_W?4-N zBt9NiN^6Sh0|{m#Opdc;Qv5Tcm`3N$sF0V8qbw^ ztQcsD)R{~Mks_*MgxB~VZHiX+StE&l+(6F2c)_kxpvmErh0J`Oe3XZ<3mD*A^~5Tg zX*H&dsm9Bgwptz`+uL&d>!jP4QdKSpQ{NA1XTa2!WWSmj0P2{iLX`z zz~GYDp~;K?xWp~|I{J=Yq|Uc%&xbbO3BaYV??nS8>*OHQdAIv4`Ly~UL?zC5hDY;H z3`#?xSbO=oE;zA3KkW1kMv6Tfq9|0=2iOj8kZ06$YPyS&&U8yg6JM-?dY0O_oV1Cs?Q}J2K>?Kf2lT`_y;AZ{W{xE^P92=VY=EF&LD*&Kl5HNgtw*~DowkIcD)(?}8 z%H<}v>-3~N7Gv4dzfGHAtY6vx-Yx5b7_V8~9P|%vtnVpxX8hxHCCe{@&9U#HX5x#`NfasW)IR zW#PWw@aFwNzG3wp{=9c4&U9v-pn4Z`s1=XPLO|Xl{IB0BZxiPy9Dbhg1qPkPbuDCG zT*%DYn)@vMBoX6Kh0gb}4N;bRSBS_}NYj+4!%U6;7GV#!3PLEXD4)Hhar&`3erQNq zpJr1Em=G1cs0)_#oWp@g0|=6i@VIX==_ohj-Vr}x9ht>l4gll=u8Q&4ei~R2$(o+G z9bm*?P8I%)fhAmt(f^Edn#{DsjR1;-XkDcgYGEh2|c(bJMae0=nea2UQb zyVj6s;g(BC;4hNmH(J)U51lbNM?lODtXT1$E zP7=lf0Nf4**xLrF?)sA)j0fVfHlDKmq31ee8)!)DlQtM52JB`C|DX$x7z(HWF+k6( zqtB#e=a-rV%Nx`gr~tm_J05MMmg3ch%?!%4a5udI1GRck+|tTD6e!q6edV|(+m8VaT;h? zY{Nu~o}>2|78desAZ;nqZT(}#!F6-ldZ0lYZ{SOf;t-U+kW>?Cx28`a{qsyd*YeV-Ew@K3EKS=9qasjL`GFXQFB` zK=7f5ZyK@){g6fR5HI4SuI9B>AMd zk$a(j0gz<;^WW#rftxuuTfn(>Kd6^o1Iz5qxZG#*nw^0|y%Som(FmOiGivfM zx!M5>V$%XsYpg--VS{3Jg|&hTMI4p9q41O&iPToTf&_DSr5Dr4y?z1!+?AzF{bV{` zF2*cvyYC^#vprro+E)Uz6&&3yVAJEUJ`#@w7Xe@xdrMz7P^{5sU{3&2d3KNQc}#Mf zTZgM{ufcAh`~F_=!m9TM39^6gs57(*0Ce=-=%C*_T|5}&4o|t+BI0+MU`fm|r?WDG zv6+f+pfs6E^P*%Nq-N>!oWxx_o6j z8#YK*2sim@W$5 zN$-tD8!zAen{vBX097xpSw)$xHZ`uO7`f1~s=14s)@_s>5ujA4a zMq`9P1nY^*658W*)g-LJkbv!B?O@IwJ8y z-(ut?iRq_0OgvNJD2Fu-_N6quSClHw(o2d*vnIVnYy|&St<>mQJQ{A-w$d~-Ri=Vi zi#0{(Er1}JcW;b-aZXXF558{y-sbeqn=EQ}kZ2n{dbbNgn$`*-W z$O06ET3N;wVO%9gtjDWT!0#+0>}}hqStf6nVo~-~7Sb=zwHq7a3=(V5${~*$e^`lWh%>}WPn4@JG!;mZ;gR&37$e{vG6sUBwi=ghsNxn69QPkVd&Zs96))|<>KyuTz;()9~UdhWXX z>UwOQSXG`z(9m#Ioh(-DTlKxxV{V0N@LEDBG9VszTHL(k82k zGut09wWa?eX<@tf{QNMLG6>!aQ_57JF;yJNoBZH^z-JCj$z%rfMv5}k+R5m!#IggL z2etHSdOWoP0%2V0O2I!Y(&O0>7TG>nhcYg&cU%BKs0ev@nmo>P+mn1- zfs^H;;+BPhvzXU9<}+S3yL!VLHsfGboLv$cxA zhW8@w3z1@m0C>rhZ=-Afh2l>^fhGmtmz44y1MxjoXh8G&0Mu^9wefL|KoF` zkzEL7W*A&rN7}nD@`_pdj+V)lqrY#Q$VAGHjOi3qPn5#X92%21XYENOYnrUh1=o0} z8sV%&2P%;+*hczf$!f$Qg$mlX&9JvhKE>}Gt(TceN|bt!R_ihRen9)qhe=T|<3tz3 zso?GRWi1K-u#&ye5z`BV_>Yz+={-sH@1~?>P{wf~gXuv11)nKSkN+OdOK~c_mMc!4nd|b9ujhgA5(1+{JcV6-A z?Z8Ro*ZoYAGBv&mW|o4}%1H<9(7waGAK)a`JMeHB+XDy7khACxzI*gEtbY9@l6ic3 zu0k<~wR8>%W{zisygA+I9Q zzLY}f3}CtKrC3%oSE3*G*yptOHa zNu2$``_axv0D#Ghe`JDp-`MnlXGVq;liWi2N&HPJ{;h@lX%tEFeB0CLDe*r`#=!(@ z`pJW{(>df-(U1|J;F}sGZ0DIF#rP&BTz0Y)neFryU2`49;Z}ZHI<&VPl#%LAwqjQT z-(t5#kfWYI9*|U&xfAFff&B4%RT!awdX72fC|!W~4SQ1nLc_=akV+*{uDK#y`_wo> zyn&HpxhW1xIK$x9OBAoAFT?q^5`~pZ&2mh^kbr5v24Pj*jIkbZ;QHBu*o5yDGF{*f z?G*5u+jiQBZzMDI5vKp$7<;E&v33^jC&{zXQsi)e2I7BMRy&MCRlx;Q7P2i*LXY4%IG#mB`XJt}rPLB?Wc@C3Ew5RH#@D`x=%#{LYyJW z`JtZmZ+)hEB3RWt1*$ML4@-$-i01?JJqJjN(XoqsZ4L5E*29}lI?2>*E*5!2h7kBC zx~25?Yn(S;TKxhuyQc==G!U67O<#R4Jz~;pd#+1NMA!LlVH(ioOz#9|yj(46e%(XW zeHfyAbB_$J7JHK^0iX=tBd^+01jPVH{JOj6NvGzkG+N5L-(PkP@ElciJDAl&S0EQf zmhD){s*rTwtS@GM5tu!ss zDr0%V;X_a`MHwaePEXh6`o>$8a3|A}&EHGY30H)8QGKo3lF+N-c7dK-BxH+MZP(@* z)BBPm0qM~Y0_&FOj1ivr7{(?pz5aB4NwJD8Fs28Yc(b+WLAPWn68V{oV6EE^cIt^w}S zQVe>i$Ig4|J=fUkBA#dxhRk`tu~VPFK(u00Eb;4zNo)2`x+4eo1BccCQB=oyj0KHXP3o43<~9hRrteiJ(qmWkoo9yc_Zhct-CE1E6D!C)8BLQoGeh%7MyD zo0<=pK#T+P=J+HI;~y{hq@}ri&%=;Zig`W(s5>;s_ui6@dcOrbUCtk)6rw{Z;XJW> zv$oKj)LA}}&OJE_fEank{S-6f{fsWN*e;8rJm<-3bNnN-@qEt@*`GwV?^Ujs%U)Ka{q)BQi2|XfXF9kFv*Q zu?MFj5b<|N4Fdc$*U}pZ=3gi*L`TX$dR^t5f-eRb$v$3g2$SoP=X!45bROd zsafn|uCR2Nk?oZ6SZqSpJ2E3CB8fw+PN~?z1UV0Fw-KuFJ-~hrJ7Sob4?AjcRtkg; zUx=C1owaYL%P*6nEwf$Y-P9S%FP{&1XH6cmm)PKpNNL#F80I#S^Gm=RG8GM*{;ULi zk)Y9q%WixI%69WQVH=;Z5KD+la+w$J^4<7-44!%LyWQRQk!$S;!=J6AHP} zaa-_bb)mwDZw_V4=calQ@r+_k53C9GW@AML zbd}cX`==6ydmN{PWGl$+q>=T@(}lszF``AX-_FZnT8T*8;XGIW6w8G@z0J~XuG*M0(&$*O z_NBZ-KDhqT6?s17imkvI|_k z+JYSQh8)->GbXc@lVryaa&4Ae5t-N&ou9`(<4S?QD$n}v(kPj{YM#dt@`zu&@jG(z zP>&2RAH{7#6dN>g!uw_K<#ffxto8|7HvH(yGjnoi_q(uq+r~5NnW?wBiFjuTCmjU# zxoTBPjA88u8i?XdldX*j>`vuokrLOdt<-NzJ;EnS4erl{OcL_p)j3#@0>(;^x<`%HQ*q8jfV z41mTF$_0qjY&6mKaQfi9s1*4H+Zxo`6L31c;Erl#rAv6pNy4UoZ9^}&*myBab1@3O zN6$Fi+MK>U(LK3*2@s>BOnosG`$DDzrga%_D&LCSYERGDRT>mwJJ={(`S_%7~b;``jWhL%=jJ{s?>7(RqyG;tkhH@LtK#tst;H@x+Q>u zZHD7@XFH^l&I@E;AdL-Mp@F?F)PBNi>tssYU&u#cs(QaUrhc!v6&E#ld4b zB!CpINzV;DN2i*Kf-6QV?eBv*=BlA*O$1fQY|n=-y4)jax%^brFK}pr3B~K}^qva} zEBmWrE5-hX>0x)~tf)D?c|E)D6?r=R-ZEfk8&KHdV;k5f*A`qO5_bofmv8RyvzuzyDPl86hAaBrt_@y)~2}x^s!y``?Tp5+3*)X`k@Q$aQgzZbomv! zBBfxE3L}@uBft1aN$63C_W^(p2%sjXTN-)6k|VJSD$rc2j0x@Rg1P+QBSE*R|it*Mkt{sw)$Q}M@8-(4`ikF zdI%mJx3Dh2?E|XAVl>UlXb9u`%W&*s6ovDj8M$o#`Syj&WV1{zfIYdW!Mh3UkGCKko*{kqdhmqavNeF`YoPwQbKJsATFg?84YMK)5~yz_E{wY5HKcp` zx83qP61UpYV==NvwBu5S5cjhr$}+;n*|Oq@`@p6Zza@H^@sXE@n}5+VJNv@xA)lOfrrns zr^+tg^z%{Uk4Hb@EAkzPl8=UKvI&V-Jt=~r!$R80Te zs0z?$1tw~ECmZS4(5Pb2x!#E6Qt<*MW^Fs%t5DZdk)Ku z>qSc>*W2=_&?20uBgbEA@hrRaGJnf0VHGAOsKToW>I~n&cgp{w<7UV0Zq-0NwJig~ z3k#wmo>p)btAVvniOf&iA>?4+zI*m2RxCv@HWOI&tfS$epdmzWJ+;AC+m%0!?*a7a zO2;4>&I|Hnf~hrK4{VCM!PEu12|s0HQr2GeU6-5ac0wi`b3Km8vLUUG5#lx2o{|?( zMJfP&K8Etl^kBbIjd;3r2P>&EHeD^_VA*5N^hRDI=fb@U?zEMqso7gOA2-*6X+IbR zb8$LD=m3DZhoO(({NC>JC8!B;@F~HS=IqQ z|2Z>pak&?jd=vGnj?IJB1enRyk-#1L_<9C!sQ=sBD+Gqdxqo@ZmBeX|=jj@2{tEauE`~9*b5IvxVi+R^nzRMl}kbw6ZiXh4}M)wvf2X$DWH@!5XGkfR-Mt* zVts7W?tw0f&%*PNOn}c1$t#-VsJ5OW`Pq5*w57=*#Q;Y+RHWrkKR|8$uDv6SlVbe42yI?72SW=hA8Q`LR^1W}y)N(>0)7K%VPZ-mOgCv#d#HeZBjOxA>TK zjsXXPJGG7w&~=TjDndyaaQiF3K1v{bOY}6v=U`00uFp_YA3gC(4|td40=(BedYL0G z&0nK;DB5zqhv?$t4;lrjcIZY}&b-I1U6c^YosH)-sejvt7=zTy{zEvu-Zl`1Zhxf` zpA6dV>~8MAsuhGrIcz`S05=OgRs6f$Su}Z41AbGCd_3T_6%fvuIB-+_ys8xLNJ=cmYQF^IKSxv&2G+;O@sw?M@Dy zndxGIy#&0&>^&P&jz&LRPfPb%w&28T-F=UE*GN8h+>In~(~T@&el+|7Nn9GYoV)8T=EqinL&RxYjCCb$lCI6;QRG%J@3DbJ4KNTz6Vw(f8T^>n3R8(xNQE7I$6np zbsYVxDEeaTfq%)1TZOA)UE_VG?yB$P6|fpR)V`IPI{Pg6GBEdUV?2Cfp-9joxK~t^ zUv9s6Y-X*|tLFYdXii0W)q=+-^O^f*$Usge)e+R5aY*?+wj<_-KRE{6 zm;RvQ=lUky@`=z<3Z@ZM+bTnQnlxNc`LjMO8s?fLw>zIEWAPm46)evwfPTB6T|7FU zf+@Brs!u$j_lE!k=qLs|aIG7dSm!l*b#F=2i8JrEY`C`(qM(u9ED}M|S_G~Ke79EQ zj4|Qcrj^+&y&-+J`RE(gCTHl$B|)()u!5k^a%-cSika&pHp5GBychc6r@SdS zE3sTE5sZ7ZKWyRGu7ZMjQ_$!mWN&1~9mC$n!%-;@JUJudj-k z*jp#wsh>mND421r8CJ%v?!eDNFhHd82OS6a6;@FNey=iP3J6f=3$DgssMD+c?RI)( zjpE2hb_&4jhoPMkEz*ar8VQZft+LcFA|q4l7&qQ*XHIQThMh?>=iY~@^8&0!$)hsO2A!83i{*(?}?CM)wh^UK3=4&q#JE0tB?-l8dh z+15_{768coMSH6hM_mErQc>O&0_Kd4ZP=KV-26Quej$O#+}V=fe&Q&*#@97CkNDw5 z8EpmRE5734tOv7FUGI7YnZ9+A8pg^HaFAems)r?a&rU&a6yYrm>k?m_q><##I9jC* zWLl>KSb1F|Z;Clgy$+0NpaI+!{@<;T{{I9y|L5qD#8UN(wcD0R_Y|>Zwe8YgW`OTx zzyMT91leCWk=BjydvP&(Ivk;%@5X7o7eq#d5brwQgOz|{(wE3SU^kTK+7#DUT z7>+;@0~13QJcTE@D%O!iq&*_@82hww)d8_Znq5vAxb(;~CvhY}2+%u(8e}D2M|cvS znsM1sPCQt+K<+vwRt)ZqKt>x-?(Kcq*+hn3*Na%o(}qiiC2?R}BIF{Bv};L)RYZas znlkrNK%Mydp@owHU4(*Za0OEXDJN^GKx0Nz$#p@iOnw&9dl@L2#T~pPcbndFUam-h zmVzE&m6UnMKXavK@xVu>|8}I?hn=uH)3yWBIoDgJL6qM&2al#ZSLn!32A3nUutPHPazS1)JQR5~t`U!fv`5DLJRPryICE)ug;-+Df$|Xd6w{oX z0`K)WBHk{gSYGTQ#(^}iP}K#1eIpVZRYF`Z<&x}Bz^q~CW<7DQqEGyw&>UZGei_KM zzt^ICM&~tnt}H{X!S$H!U9Ydaf8aEEx-br7b)u*XVZzy|41EcE znPcB(M3vTvCpE(R182*rR(qYk{$&4$HyfXjud`6c_np&^&fJ8rAWT81OEvcm;Kv~+ z%-$q=Lcp^;!IcUq8UbWBGS6j)m(H1iVwD1OLUs;g7V=^Ks6B+x$#2FV_N$?m?0_x%aUDh$Eq^EvWM7eqaDw_wn)L{Euq31wQI^KYe?!i(eT zf?igkZBOSP^hNyF(fjbq|%~ zaBb37;d15fwZ(>#rzPpF45@Vj0~?ldEZ3Zsl~!_E>=)N;<&qZ~dNXX?^*mK_CNpL+ z9}7Z-%*JgH^|TV+W%E+L8oK`@fBe1V>n0p7(=DJuEB9;B?o5a$+tmJI4Bjr>LLh}m z7`Q$&KjoNEUN>xH?RIgV=?oebxZnbw(m)YqK&&{ z(%&LysQg~Xl|zC@k%sC$>QX5~!;#SeD4yf({Cx9U=SutH!9mPfDeKzcsgFJOXnky_&mu^Jm=n{}@C=MXtuq7o<&cIr-_BJJ7^gV*TclB-27p ztOe?(b?$Zu2>ie^w3ty>m?pj$UII0;b{s3JJ0^ylW~^~Eg{y1?6A6~S&YMhlr_qlg zJ^#!S%VdVguBBZ0Y`^6h{M3t5Za?MzWK+?Fu&3-~FS+0;!tiOEwC&~0xr_SlS{Xuo z9i5(7r4sUm?04wDw|M_t3uCHMOi_SV3l*o84jCX!9y`PQoxpO(bev~owh4IlydCJg z=K5Pn)~$d{ZR0unsT_z z@Gsm80}noldz={{rF+kJF7n34^zM2I2Y5_4AwD=$Xs!3M8PWX%&(a-r#4I?jvB7CR z@o{G9iZ5q{Z#?9Ng3`NR`)$&_BM%Y_RR1FcC+DeiQ@|*!bsSqbQt+foHj`j7_zc z%Yw>01X2y(dUD?{JPEFuJ z0X1k!^6ghXp&RsZk^GSwbjer#&80;GCI@UK$mV)_RQYKLs%E>k|LFU5v8*_;!;w_40mTA>a#vyZ^dl**P84e9(f24C@I=S5&ge!wj0U=G3uG>hU-~Rhg(ZjWyx!`?v?(cE`7?FpN z&6#*kzue!+vyWeNLm2HIk{0>c@SxN4{id6wu;|J*jNXZrI6 z(unjr81;CcEfW8#nFE*Dk$ddtbs z9CYT8L*}~4%r=5)P2+%lCuJOuR{g9mR-TJ{i!bfx>UyS!II%$da9T)Iq!Fpz=5a+f zULHbUFk31{rG(-OZ5^I_IXoUSMLwiKzUQ27iNstQ^DR@QBozH6t+i>#a zZWL4k-HAg?_TqY__Mb1{1y=B)oLep8+W(jX0Pyu6WRc}`cmJ=x^xc|(|1W)0ruU>N zk|FK>g9x&B$wJVJj@42kk{L36TcK@0ndHjV{TBG9CX~FNAHRPmDh{tKGZoTEBign^ z7E2vABfeaMm#(XbhuJvdCp5`Q{Zz~Bv)+*$)@-p{eqt(O{QkSml%wqfYecJBzxc?X zca2JZaF?U?X&Yh?ZY`hrY9U!w+2__SgSU$=MSSS1SS0YzKH|aUBT{DR6%cV=-qPaq<75tlr@ayJ~vIv0HJ zNwfytw`hPpKyc_oVh1m4UAIfkE8d5Vcm$0Ai>U?it{;ZfG%C7YcRpor-hfAzHg!CK zG$p39#iX&E&MxtNR&4TmN9O&tVCogpeD_DjiDs*fs{mJWUG-bi{aw!;w_oD4w!8aS zgMR$ncd-h_Qg8oBkc7k0htyTaQ?o_0_&e)ubbbUtP+bi=|dKK(7BOOm;#vQtuHuohXEG5xx zZ2CBqPW5X^i3P!<+_FJBC}|Rb4q3al)0(3HrX(r<`F+Sv3Oa1vfbx`0MmAy#+QsFQ z@GMtew0UjuRWDBT@-R_Q;Ce;cmY2eufiYWk7H2WD2`%wnbLU!UQ$P7&$Et-4Tc?Lk zhQjAn|7-6?$5gCo*FBiqR=|#Kqx3z=p?((D$ZhBkx`84!qJClgS#W6XVxZY;(9@2h$_l%jHmf==fA}b!mbr21XRr-(!VXZtftYI4z z;u@|I_C(grEz1}?y-7@tp8ZgZkwHzgA-);BG+|a7;uTZmX*P%Pfo1D6j9QA?Sy4*z z!4-owoMAg=C&6;Tm)`Xtyh5+NmS#!v!ITj5xzERJj8faLatoTj3^KBNaxJWNKSe-X zcOqwCT@~wD@6cwT*NOOqYkR5J5lEvzqC$=l&j>Z%ME=Vge^*PaP~`Y*`Aia%hEdpVFwi zJ1~;B%=LX}^UGX^#8{YpW2JpPsn}G)P;ukETb_|iAULdJY7u~fjO}M)=0)ojRb7<3 z-M$2RhOhghZE}?7#AlU>kU6DBden-DN5wgs>o`YVhNoO^oqRfB$IMk9__(dumEuLt z`c&q3n8D7#ied;!u0eV4bO2RBG&4u#8l%H3$y?p7jfuf=;Gsk`?~Hq#>R9c-SRQiW zraWJm%@gU!?~{4-`@zEDQCpWkN0gz`2hKlpX03Z?kT#xrpt;7ahEMYaeBqH3j};|% z;GMdR>#VGUE!lZ{I)?OCD>UWWeOlHCFxT^6UN=TP4$ZUpk!E>DbsgL{ z9i6Mv)?xD*fkPt)Fe_5RrgO>3V-U-%;dj;(Dnf0BR`%5GH(=%BbkFtszU64i8od6D zb0HXE1`K!iBS~@=KIW^>_LV??iYH^!CktCWVtsg}|5(wLRE8pk$xAJjN0V87GhJ)q zlCvFlFfvORQeF>tGiiQ9ic9CH5Yd)t#&ICrA{^Xqq@|6>HBYx2%&(;n=^6f9ah$=;wkB zfSG;gY=D|p4B^^n(?wh_nqHYDiHwOt0?Aoi(1$CNOtcBhB|XDKG% zk{S9g)HZy@mMz{v-fXTyEKyPwlcE$W$G0_HBxqA~Yho^~^iq8;k@M>3TMSlsrQYVM z+!r}8DMxuA!?y%YikRUfjF!!B?@euaqEw+*#$r*v%_cXV=zrQKF;eZEerj4Kt;0Ky zk`8`&n9Vn%Q+~pqae`^J8$_q^HY*Qd&quC5^CyqyqbXT~$~k`t95pz$4=jOoRnOf< ztZcbE=F}j(?`TkIf*W8^{GXAc65Avg18599hW=h%!gp@)7=ve92-N-?s4s)bQsOiV z5n?VOTbHw!E-4MpMh`Ija`O^=tO4vC@wqIYJC*}Q+C4gzX$5Ttj^D@La|Daz-|vvd>S-q_-4vZVY`Y= z=z36f$5e&7S;$=bj0d>fU1tvGt$a}$&4pxP`Dt;>zg&(#y+RT#-Ktc#yr;wYAoRKO zRWZU-fG1Nfd{rRf zGMzeUABJwKl|1^}{Yy`r?eM2|32D%af36^^p>|6r5$uu2VFH%QoQlS;Qp=@8#UD{1yt`VY_{p8DZL z#h?YYWD0GRfa|q)-3@cl2x1r(r-}MPCFYGTV!-3d`W0l-IfRP+b$1@+niX3{Qd2}x z-5h15Iwe#Cz|B7DX}b))nHBXA&Jx0aY=!jO3}L{VZ%JD=(x=W^AJ6z_;=HdgzeI%m z#REQ*p)GZeUY|I&ga&$VS7ga|G1|&~ z1>(KDLRuaRuQp)(O=(E?%%j5fjPEp!a@Q1xc`ekz1f&{dFKKalS-Md_z3T)5x%9f2 z?&@^>y3yg~zRmN*@cU!O<|(c}eVHY;vaB7BQt1rLRLCz4+6=i| zEMJSH4WU{0x7!U2Yn$C~VH@}@bOWcS4wKFnAIJe2mZin0;Dio zxL~Z$r{AmX>RBc?dCYHEikg5cPM3kdc)Dm?(2I$c8iXFaUz5}8!W84;|GrJpw#}>r zrJdP6uxDE^>GvNGUUo$XG0L!bNwNG^7kqH%1QA_SkH#LhCa)5&3Xv)K*4Tb5oI~G@ zPtbdXdCsp`G_{eJTugooF3Hg?Q*<2%5mAGfC=usTGrF);*y)+~FWFljYuoBOr8dG~ z&-b85+Qsn5TLh8S7(gS!E~LQxRwbc2{F73IT<_QSpKR;unqQ3%z^r!=f0qfb4Lnn5 z7a`ec5#IylOw+>o*q?~8C2D~y;S5(iKBq44~VW(#p*6KWneu->gLL#c^{MxfId&(*p-!0lcRkjY3 zj?{nwAs{<^ElJJ1qIB2hGx?Z+?O>Po@Ad=zSxjeZ+#>N-X2#%_LnF*}d+eSC$#(CKx>P2n}WG zF3?U%WOu*ieb*yn=uq=Aqh=t?eHK29s4rkJjjEE^sP1nUl;wHfBlN1p8mo5rHrjRV zt?dtV%*_+b*uB@)F$Yu5R(hChhknL=&dfj?#a=zV&YjPSL6*EMCUr^85rcBCpZf?q zywJBctdx8D4m0_ma6!>eWeN*2RHoK{)@~~r;IQ8j>;H6S|8{TilTO5wjCrdxILCII zxy8JIA-w<62x`afR^W>nXuDUPl**JquLG*z4awhffP#CM3LzRI$J%PRa$R18rL zWvP33<)siWWh$gl&hsnZ-#=NF4|q>Fqv@^mhL&-TEv447XCIfGgn`r9^wUg5L*E8# zH)=N51Wk@*C+kScjo%E89fYVfHjq;^4=IvqDYTR!D`UZoQW?8%DF)&C#rOMOcjXsi z;&tLek2>kG#?O8vSP@`tirx?3QOQdFiA;}BbCo~S(zuhAr2l&Y&F#ZyMh*uXeKgzI@=^o<0t98j;l;b!>Dc@#eNDZf(+w@rNftp*Q&BdMX1XfjvqK z_L9%w9e23>h9|UPterhg zN4}LT$<}l*A3ljfo9VQ#E+G4i2~K~0ph3B*e+=F!7=tGRo4UL~&T_EdMjjaFXTW7o zE#@#7b^4pUH)sm2k|y_*E*VmFm$!8gWMn^J#_H~zli+q%W5=~C+jsHoE#R8x5q=AzdN;|{xHCWrB2{JBPuLgUnepo*(w6obk4$0|A=8r?07zffAp zzrn}iN7QVw&AV-cKkSKU^p?d5NKBs~oM=D6E{?_Y$oxo`xnfR4De_bH0#>KWsGgTd zh->nS*xtyG;HcMf+J=?q86!CSg$?Bm103d*3=`?!?KBdeRJ?kS_>o(g-84ncvlrS3 z5)Rw9fbVIyCbMU0q|Lz+YBOQqRgUA-V+~Rz`85-lhs8P7h<>{<{%gS$Nul1k28y8Q@9G6 zRu-niTN9cX>3M)lN67}lnHJ=SBDm89>t)7I7KZ(Sn!`;E>sR4-$<5#2q{iwLBAdOU z^4&7y&d-8-LFsSXSg9qA2J)tB5F6>5{->hvwZA`5xu=Odi10bZxd`3Rr+y{bYl)Ho zVYDkn4>HAM&fVelCu#QMxUq{6_pvjH}YBAygmT$)5d z8r74&l^W=OI)uXa^tq}XW`Ad(Z{C?^y&_c#rlog3bxL=Tsv?7qGZAK^=shS%XvCdu zrvJ$6EUrvzR&tuZn^Y#~smIwunnR&s0v%smpK#hBiz^%$>N5llG=MqX9YSB`_Lj?e zPcP8E5$pMO-@F+?duJQK-ymqU-j!5s-0J4LH^%!`=xvgzzW%fq!I&Eb(#NaT=QXy( zp54oe_Qt2){QufH`+p|XK8`POE5*5`Y@+BWZu8JsJDwKGLwQ)3sX4ZW@-&B%jSvnF zJ)ns46s4n$VYAB9$P%Gtp>2q?gcy=+!j|nU_kVG}?jNsTuIuytUa!~nx?Zo(`}<+Z zIa!W9dwn@A3#Vhu`a|IKtf3<5O5cQ9D64&dJRxJauGG0)wF&7re)1!{(2O_W{ArQP zflfki~MBMkUEsrW<5k1`!&ar@r znGu8;O@tDJ$FSSXmfIAvDe)m?Sh`+!8beuwUrf2)eYr|2VgbXo7AZ4nEBo0IvGke? zpQ|IPZ;k`88}Y-#ULUcpu;I}!DYAyBW$hGB?(j)$9D#}-dlo4>vn5@uEWn(e7-Iko zCdITQQj(CmA^Xvr2t)VW`f&+2?v}83;@@)TSWp~%kP9^MeF3GV@4IDENr;O6;%-2Q z9+StTv>MfOGF;j71?IdA*v^M``0&zpFQPeo1+>Botr*3<+C?Kg0hU zNdxB&R7NoZ$qKa2VoOz+xjQU}8&_EpJsWo#aV01zA=4^Wj(Em6XsrQFCM(zdBN?ViK33up*R`+0Ml zv;d@~P^46^apF)R{dTdRpzF%zgZe7fe@$w)l=+(0`*;=Ro3kU&)$SXI;7fV;cgzLH1CxK3$b7aAPu}$D|8d?)gN`d z1PiqY(!(AH!ORF3=7V@_7QL>ezYzrsk0%*%K#CrbP`Kl67>?ImTv9)_X5N{>Sug-gyw({d@sVKUy<;*PHm(vQ=pRd86_f6!XT4Tf| z`vqiSQ*Y>OFHTP$9)r^IKH8{`pftV>^ihL_dnr#l-=aRsx^58<9Ff6PM&qOE98<^w zI%V~QX$<9Nnl-Qu{D6})^{P*#Q~s@?eFzGbJPS=0a(mqm>~lOE+rUh7IL;>{Q@+%Y z`lgDrzqV<$>Or;3p?7L0-$qe^Q}P)mIcEHVc(xyN0*rWaZz~HVxPp=uO+nu6fcGRo ziEQpSa#B@xk8{TuMR?(JL_u(nufv14VXC~*-6FQX)xgV@%B)FYz-I|VTH98R?y)VN zpPgc0%8V1P;3pN^zD{$?(U}rW+0qToq_Zy3DUbQ9_sX{7q9bMsGmj*juC9)>Tofmt zAEVDP4Smo48j(0ECVXw~7&@bBcIoVr=0@X;5gffw9;gsth#`7|oFyX%D9xR_^7Yb@ zN}lAy<=>Y*fYnRgM?!6E{X7dbpD`(=_x3AGz&qP(HhAt!M~QFxme)_;j|36PP}P|~ zQChiv{i$dB>COVlu$1ozHqG5UJ9fVe00 z`*m?);DPO%q^C(M8dvxWutbHB_S2FBxW5)pbcvt56yFN$`iY4EAPJh+`rfWC*j^w0 zP^9k)+GNE5ZWj}p<8^z(PFdtgS5e?1y1Fs!1@@0?VvXw)_2xmFekTZ~tzNI<#MSZ8 z$3-;-xO7^`Ue+P(E4;VDLQxzq8BKIIKy+jC)N^tEQ|pMRx)k?P*RWgtwu)AnKfw*a zpY&F0Co%lthgMsRuI5kDM~>bGC;7cu3?s^uL7>3X@BSO&*RdE5N-w1iQQG@&N{WY}HKuK;p9@REq5LE?g_F)z`LBTBLBXb{R5lpzi zURL8=sj(p+635ac)6vW}4;UB#_>b%OQqK^#cCJVUhnc>X`+UxRMv8~jgJssG__NbT1iSRdczke)8D6X5E6%87bBAnhL-miXrY diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml index 3db14bb5..5eb2eda1 100644 --- a/android/app/src/main/res/values-night/styles.xml +++ b/android/app/src/main/res/values-night/styles.xml @@ -5,6 +5,10 @@ @drawable/launch_background + false + false + false + shortEdges diff --git a/web/splash/img/branding-1x.png b/web/splash/img/branding-1x.png index 80579983440f33182388472285e5e7106ca027e3..5a197da3c16283569e3797546269db62ec6a645e 100644 GIT binary patch literal 3954 zcmb_fWmFRY*G7?&oB~7Hq)TdmQlkY#C8fJ1Cr)J`DWgVr38SSXB_$<V&fL?i?@ zKx%Zo{QJ)NetqXX-#zC(_nha){qx*7Pn5pyWBQwSZ<3Lb(Ld2re|}X*uJR={6KU~9rlGp^z!LHF5B06>%PoMpn=NKwo!d;gCn(X|w= z!kLf$EJq<4Pf4BMKi!mQ!3-A^yf4^5JuxKx+0|T=)AgZ)SsK^1Cz$oiXJg$d*>ASm zR$+(V4$oicjvb)40#<+R{mu2C@7UryWs898e4e3%Xd5EI5%zR;k@jrlKkeE2$q;N2 z67T;D>V28)$YicA@BdDzO&*(s=%C(l#Vu~)*p zrEw(77|+6>h7rar6m(=HONwd)4L#fmQxn$CVa%QsD3#ioRT5V^12H5kOzr9E z8J^|wwse9wSOIKb7x)zymQuPuue>g}Ug;rAt{=x}a05?9T&A&T*HNz|i zENVRU^yH=h*fm)FP2JWqBwob2HFeAc9SZy2Cl2t*#A305KryQp%Q<)0&suv(A=KIC zOMT!& zb99r#w7iql^~v?O=X{CikZQf7lkf#bu{-};Z-*ZHv!KfXlm$L8({-pb@RW6BW#u<{ zAZ}rNhB;q=AM*R{1S0d3f_jY&6}R0qV>}8<$FN+As;&!&-(@bmGuP_j&`L~Qgw~|^?BC78_YQU772=>rYyCp(n|FuzJeU7#le$Tb}%KQ<;Z4>DX509c=vDyyAgJ(G__A%*+`uE5Jfj_pj6qLxlV*sM8=SNdPd^jAgCM_c) zm_;kYRhh=#M-~7`hF~%HRc+lCDOg=rW)?y+d%AR#tCAXYcC^Ot7|5cKM*$bBVdBs&q(w<+KdXFHSUv`7A=504%KG6~Z$cyU8vGcVq_Wl+t07ulW z&2&(4RiYxY)yf*}4cgJ11Zy5M;07m(xj}OwN)Oj*71G`>GwLR#4P^ zok`MzNwXkGdQm{*SjqNWdijAGKasz{^SWo@4Bcz}bng=qp;SsrY9KLy(}m`N$+mb{ zwovfONY+7>Wpj0Hytxb`KdQ-}2~n8sh??ao8AwPLZH=-_^cqhfZj=qH9(asAK2=$Q zG}f2jei+#enkd?7*2n)%56|JFDx}izU*y2dm*dhEV26@fSmip9#^G^aE|?(wnZY1g z5UOG>J4}j=jZGaI8u~!Cl)Ue~`9t&Nk7#uz8hLkT|z=blB2O5zI93^ zH$1MHuE!$Z-YyOOYf@`o{{rEa*xw`T5K;DWaQRXCLMNoUygbX!Q~=EG@!qA2?8$%h8ejG2TMRJnBI}#5L03e1RTVljGqZ&^N0;2iOiiMEBB$?w zd)aNs%NQ$HfX_d6Q31E!%adf833GpzDRFmz5nTqQV?Eq6Gi(Shp_pc&{ir?tvACGm z)YP;MM>z#n#|SJaJGz)tyC~cUq-O=~cDMqH#)$cDPvxy*NV|(jYxHwN!!DH><2C6x zPZr5t%Ikqb1HO}8E1$aHa9O(Z%by>A@zkzr$h_Hf0Kvlrn$rmErhTj{)XtwODsrDa zd*%jkqzi##;L*kKU;u@1^LcbGhFOa6*H{okq~$^tHDS zTB1VsGwlV|3+L4{Ubnup^h~N7Yh03DjLP&)7h&rQZbMd9R{j;x%gy1Amhp8<5n7bW zbAd#h2JZWiy|eF^)tR>cDi?N3_E{8W;@&CH<}ULMlB|wP>_Vl;pJsW-Z2onKnW<=d z6PM8~P-kOAl+K6BUPvsk_6n|TKaZ(ZIdQX9QMthuOS@%u*b!A zkx_CWFFeFdw8H zgQ1AC0^6=2DG|wwPL;`dR9R*aE5)}}fK2lNN6&U>1USO&{l0+ObyTnjTGy?9vg%)l z|KZr^@US6xtob&z`3X83sL}dmvAEGDh=m18SM>K!cPMej3>Ub+@zHKy*hO$|Yeq{` zkT6(FfaeX^PGcB)ACRqk*K6gjV?V}Nam?UzV17luky?2l=gDq129MqmQ%x1$eJ#vy z9~ou)L5RSd_0-pz~tC%{!SMuUi zbGGSeW4rMu6AN_oh#ThTd2GH*ZEv5@(W^B$Lt!w^Li2E3HtHTryD?X*O`>um(LU}qjznp7LPfG(I zV)>iDB2JitzF_>6G8WW=S~+Mrv?;kA7*ejHHuy5=*zCwYOc+pIFgQ3msw4mE&-*!^ zB>=f~FtRMN=Aw>dNDWH>$vywU%#gZ^!8B8ogcL{rp6YCuPJ8EQY8lcxEDSn<0dLp{ zBE)>3O?=w#HlM9GWo^aTu{IrkNrvdTdKbMSLn)#ppizBpwe><@?*w0Tkr`^P7^V}y z6j2?Ix?iv!o03yvEp@e}rk|R)^FqqPrW2VmfroDVJ!R{S98GiIW=`tZlCQ0q@yyy&Wqijv_v!V?ca7vATyP zA?D(ShSf8Y7^Z4$yTV|zO%G++_qXPi%UfDxY2g%V(!^nJ*d`}>w%N;zZNUCig@gT!Y(0ZFeYD&7tElQTJ-IVBZ-%Lo}cVD8z{V8)0Yd$D~}^^ z>c@tDv8jC2TI;n8No23Tn#PPsdUnm4FE768zRrmgyp+Rl0wk^JA}T24{cuy={mS7L zwiJkrXeG-vqJa{HWJ;1}!ziB%9IG?tFsOI4+h}G$C_M_*Yv;h~sK&~Lle+PcWU;}X z>Pz^T@jR)7wpY7Ac}+tx;AlIp*kPYIB~+vt*NSQgsFMC(U|xLm^yM?5+sna|RMtZs zz_6G7YQ;77^4ZdCQZKYiw8YfQ+F-3OMn5RmnAIT}j?S0*<7iJ}fJT}L_pIlRZgCT> z!e8BV?5*vuqJBPL5SI8oIu=^EBR8Ucwq(VP<%nKX#t%B~jAw;i%%-EH8_=@4!uRQ# zj`sHUyhKGs&r3`ESbMBc3gMkD?nJ^cVe%0FJ<^>qr1Mu!_`E7x!R(B#0_N2@r$;P}<3jmoibi4M za$uYhMteN9S@j(kNo?}_*dcIalF}gDJ+#(?;jLnLfBH}~F9&*|Ir?(d7 zmmrMpZO*uYar|&$O8kVhRd0}skR`)h<2HIqD*>x*+J_oig|Ph+7IX4MN3kZqlpv5= zH-=3py}OE-iqRGwg25Tc+1COa%LYo>NcOfKG|-s?_je8?kbO)uDONG2w%wbdozm@f z9Q305vn!s7mZAPNzQHYc4^Pd1&>dgNF$QVaXSXsknxtG`G57q@8C61`3#ALpTx+D) yp18)KX4#RzMBQx@JYaV0`7J$)0HFs#mMoA^!u3rK@WI delta 3819 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 diff --git a/web/splash/img/branding-2x.png b/web/splash/img/branding-2x.png index 0bcf138d3e17cace5a37b4adb6a97afa76ae805e..efc7e6c8c995fb3d26927d09c6b0448b0ff1c42a 100644 GIT binary patch delta 11605 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 N002ovPDHLkV1jRz_$UAX diff --git a/web/splash/img/branding-3x.png b/web/splash/img/branding-3x.png index c7d0177681e63abe4a1d58e1b5cbf7325dbadfa0..593877e01266445699239227caa666a8ef43118d 100644 GIT binary patch delta 20410 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 delta 21718 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
CK#VCD;@I1#{hXJxKOv?1C9y~- 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 diff --git a/web/splash/img/branding-dark-1x.png b/web/splash/img/branding-dark-1x.png index 80579983440f33182388472285e5e7106ca027e3..5a197da3c16283569e3797546269db62ec6a645e 100644 GIT binary patch literal 3954 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 delta 3819 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 diff --git a/web/splash/img/branding-dark-2x.png b/web/splash/img/branding-dark-2x.png index 0bcf138d3e17cace5a37b4adb6a97afa76ae805e..efc7e6c8c995fb3d26927d09c6b0448b0ff1c42a 100644 GIT binary patch delta 11605 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 N002ovPDHLkV1jRz_$UAX diff --git a/web/splash/img/branding-dark-3x.png b/web/splash/img/branding-dark-3x.png index c7d0177681e63abe4a1d58e1b5cbf7325dbadfa0..593877e01266445699239227caa666a8ef43118d 100644 GIT binary patch delta 20410 zcmce;Wl)vjyDu!Ff*>g&(jZ;Z4bt5W(%s$hC@s?6NJ@97bc2F)x3qM#&h3BC`LySp znKx$pag7U}xZ+ngA%RaXZs4NHpZc^`QS>rEJ8;BezdBA(Ec4)A2L6m8Ym>B?crBd7 z7`#sR?bF|eZ`5M+t%Vhm*qu-PC6C*ZewIkS-X-yul=4US!o-Y)owXeFj&2`072$WE zJ@{<9xx2Y-H`LVBj336cL-DP0X&gf};{tTPcfrpPjcz0H3B!^P!F(t>HUgJ+!xT! zNgLNxD2sWgTC^Y67ex#i{ax+6V-FeNM1V|1voGcPSlhg>5YJ*!U9dvmxVbu*iz7t% zSSq4-KFywlAe$wio7&S&GH`(RF&5{NbSbjg1({^YRJu!pUlcuM&->#Qr^8asyJMD? zj~KCW-$;f<6^lmVhVV*+%$QtvZy)cDp(^jIBOG+Cg2++#qs5djLFfEu%o@vtsZ{Ukr+I>Kmux?*zC*3D*!i;87Dx7`NB4~IZ(rQq-X7^TIc-THerDM=-u&*e zI}uSO>5Opm{ZqS>p7UKS?MN@ zWu0ivx8Mop<>kd4i=&G2F%ejJS#36&`q1dQukM*Z?pkt5(EHe>jwTC1&AHKbG88x8 z+taah`J?t9;c!G)hH>~)w8{|&r4*y{!}Ar6W;5)CgoI#o^|oo@&Ggv|*gx}SlA=fk z#E1ImDq1o9&bCK0uO+xeez_Ll^6~Kv{b?E{l5GQA%15dK<;Wd@~LF7Gm2}a)wzepdpW z2I^9~uQ$P%3e7Gp&OPy5as1p zn~rlY=svRkD^*D48;K0wE+2gc!HB&~-b7W4{;#8@7Lh0-{@X7d9k8@!T~u_#QSZwG z?umoX2tRLWR0>q}D-DFswCk*-Bo6qj<`)(k>|wc=1_}xayHpon8OIRK&39U8lHZNy zU9sq5!%bTb9zmx|j&p43Ekb4nf*6f(*LZbR?W7U2y^<@S3S z`@~ouEG~via%fB_T1wzDXi`2U8X2t_mvkU;w@W5jKq8VrEA$>lupUV-*}=sQzZW$ zt%oE=T`ve}rWU{4mHgv=)!$;PwS8pD=%^hNQRY+Mncd0nDzxs(iJ66_mW=C6QP*-^ zuNYBJ^glG`R<*jHtoK^S#Kg>x%s?XS4Y4m**hB?}abKP8w=$7s5zpiI2O;AUZ4kh| zI;X>((8P&01UrlC1)&mf{pAhyebC{*x!0iB$~uMUFTUm{4XI#DU$Bz#f#KSg0RnNwDrhXGSUlbRO zL-*{eku#JEnXSnC#B)eYIsN|bm@$c{cOCufcd7)KA@@l|*!65yzXvS4gHde%Rwhwy zwn}$(Gns7kMf7`J?3p$U=+#+GiOm{X;@rr>c~S_I>cW##%BMH#rSls)W)OGTcGYo= z7DTe#_l>4;=A)&CT6uOmy|we}^nY&u9hydsr@%mj$Q}hTplTYXQiI*E7Dr#qZIb1m6!%coFWdw6;GrSt|rGac_*fwG+0W&FMiXTmpsRqw+G=tnUJ;_;l-Sn7DL1a(5Rs7+*J2>WPj4h+T>D5q3Y;!aVFF%{f7`8VpUt*wn>>P=t@OOE;bhtF<;uiNEHL}gxe zA`lP!bg^u9smEkHQK8xkIDZxCeGKXaRuJ_ePS$L`)=~@}f`>PC(M6!RG3iWvk6ln% zSs5UcNbl*n`r|X?j73EHj!IZa+{S5pBn6>61T9Ozdb)H=NlA$a;2K+<7B|})y?j}- zqKt#7^G*vs`l$AY%LU?~z(9hat zn^Y?b*-k)MQxvcNMpCO4|6Usy81SZ42xAroWd!czc~64uv`3442G0Z(;_D%qDx`%e zh8!GHSz`fs27&wc>?pD*oyQU$6$;ruFCa?REW(G=D zAxCKdippUX01I;&shswYEbGlg1O$9e`_p9&7~_&XDugXrv#&$K=oY`*F4Xha8+7_Z zo|+XZ-#&a^^?SIrl@lY7QatNHD}i&MSe5R=4jG2WMZH2;L~Uf?TB)TpetM&bcY|)E zp!u<;4M4H3Zx44@`jfYupeZLX(Xp|&Y8*HEvTo0J&m5&4N0XU11j}?9h`!!O2|Xf^ z!_W#Y2tpqeqcK2#JxBY!1{U;XCuD`qRpKxEp|MKZ|Ido-(WY~ zg;PR8qQ8ivwPaoqdyG-&h2ac*e{1LzZ+Uq+Yh`PMNAQpFrOXZ2`=j;sQ}kgk2hZEf zLtgjMRCbh^a$Rp`6vvcLgw|Dsw&Vi{4zai!2mk?`q}jJOWhA;pqXk7n>V_DfPwPi< z5YHyseeZY->t1#pao+X!^xS7sDP-cK&nM`6AJ(;ZJl^gL&pHoj^BvCDoryOJX)@ez z4#o|0J*sQlP!)yzYj7vVC|4OBQM#A@vc%K1C{@^5bQ+9l#ZT^>jjPsfFZPMmN;Mr- zJv=Wc7=Uv#Rp)s&2@kJ3p#}mnJ^ghw^Y zc?u4G0D9OF{SROxcWIpVe&}ukI^zv%dI1KRAM+$*HWJr`m%}wy1~R%FSMqu_V>$lQ z#k0=?+tB<;&~a+uKzB^RMa?B%+9H`>MuHgOBf_n=_ON zBPuCgEEBLOCPrh(CF0qwr+pTSRKD94YcPnQNJk#ZYwmtnIj4GB=yP*wp2(!HSL3`h zhP*~$kDA})dIThiFf@D)dUp8N2kS!#bn8aL@ifL$?P6bX+9p8*Vrw#7&*($GN&pE( zG3v=$H0jn^smai5hrZEig*;BaBf2N$iq_yDv49nY=U-FfoNP9kN!d&AMXRUvdi^U} zey;Ds?S+C-&C`2iG(w(p2E=M9ybQCsYE!xo;rtbL+61DN4r^Vm=-RwhZ=(gFM*#|% z#B>B9H%e;ifd+6Hxl;y7xb&LuRlJGbS^rmYk$QM~y8g7ugx-%t+lU6dK*>z!_rB~s z-5SnPPLq*11SmrJ!-o&W>onT67AH<0j)^faFz|_pmeET#NWPs8KlwzbQBGft)enl_ zh*B<s8h4{d;LY2kan&qpDbD|Tz`X$d5t4Gvb6QTA zwAz$pKwTHk8gslX$^}-H7gm(heeE_Op_NG3wCUoRHl1e3TvvBj$DG|0M@>H+N;d$U zGjN{Abk;WL`8Pv4wVgLwj@w&a`rGgT5$T++yKaHYWFY!@>Q^>Z$K6rOE67{oAmHC@ z2-RI|blj+3Rv^0lH}`%NQ%yUU5DuV0t(WuG_^v{2fNJWY-zi%Sg`ZwtGFlizYCX;q z;#BUF14G~)PJ3@9XuPs_o(#?D)wItJE2x&HeWpdb%Wd2jZt8n`&TY={AzL_T83hI9 zklucfq)**om(sU?b>%%h{m8uGySVIsEp3E$;$e_fOTKul4?SFzu$qsBL%(nCgd0tJ zCYSL}ROM+D+kI|K!Xo$aqVdv#gwy4^B^@s)Nt%fSeXboog@lBJKXrW_bG_ObaPqe!>1~T- zAAoa+r0>Mm*VhREpih8ojFc(XBI5b3nFi9TIs*_CGT$5ei;+fu{-{){pi6qmcY1yv zK45~c{8iS5E|-pQtyS5x6uu{}*H~2c-#l#wvcibUclpsz7K!5@*`bXHPSI$s0~tyz zCOw}s@B<;g%Q%-A(dh6% zXBkqOlni~duh8_+qY5J;9-bO8!{XUG>!gv~=-;h#`?Iu@OBUV{t>VqEW&v-+f@nPpko zF+S7hS;sIIk52ITcbxQf6Vq7DBPXC5bA_*;_55y3Z>SqvdNbZFy&~fCkoECtO}Z7g zas}ed)W7elL6Mks3h@7)T&y$q3k{61CX>Nf_9{Ljn&_mYB-vL(W+k$#e}3iaR=u&Z zBjR)39{D*UJ=`r~My%9aboS$LxYR{*8!$rf0FnYcxUSHde}aCH;)UD}EO6eud6SRw zq{CfiN`aAN*f*3Wnp;=XsEj;zJ4F;lGD%K{)Nl`KYPFbKIs6>cvdt0V_o@R^G^49 z39$dkW=l1Y|M|Pf1vm|9XOcU09qHrc^Gw9y|mp2_8CL@O)*V{-DWibDXuhkOJt?}B_H)x=(V`&y_L zAfpc3w=o3&1(FRm8Ime0j*F+ubdEDw&E+L1*5GGczVPqB6O-x%m}mDmu5M3O~$AxPZ z%ra| zrU}3oh%2sbYimmYXfSm`ES*JAqgg!GYT4%ti;SvyrJPxNlG)Gzty=NBmsy!(cUMPC zaS99%8QX};kuXvmG*&vlSf2mjqGX86?LgB8sP(eBXCv$IPmQ^8hFQrT&qL#Ya)TFJ z&VLg6M+LKeCq*>SRJD0?_tU>+CdoogIq~8wA`kmNm?027;6Lj{7?JtS|I-hk{}|P#aG=Qo1Db5xSh9;fZ`F(7Nz-3wMbbS>`5KFvs?X+X4yd8Azf(fKVBv3==M&BOele`ayG-X-)$ zY3cGaC`QkH)9>)>eRz1#r&TGC{Z|SaK}q-@XVD&b#-+I8HZj|PO4GQaqnosp#zu)7o0$(c%213-mDKpNlf@=bc00S zMzDI;>jnlSJA?vWO!YU@r4y&aFA_KQk8cpcP_C|J7dJ41-^w@XOLcj9`J-8v_$O?~?^`3!(2jU!*|yzgeNjdkydNKPMFG$kZ?GxzDfHQq>6F8+_0y?RVRswsn$~ zl^qC1!S`Bk{*W~y7~0WEbZJB4 zrmA!jV@8K$44L0v!6oTNILnSzpj;2|<=9qNzW76(pMh@&>EnTifonwXm?a;+`#^v( z{kp$35Q%ROtRDXRhX;*;ee+m$k`=)p>oR8rbq;&%al};a?(Uwfr%s@)cy`fKlN)DL5cNEL_(72LC?ny$3_G6{!|`X_zAoN`2Z z7pxNHn81aeWDL~&M5jF2ZC2O4-<%0hPcq32dH#M<V;pbaB zS&$!giD1`O*MlV^)#c*xNn=07Na#+c_t7u}G+`aDP|R3bR6-ssKky3Sd&96xN*7$a zdV9CR%ZvfH*8&#l;c%6<=-S!6J{r?EBd?a6#WwE-l1E$mNj5nvy4^d6v$gi__7z8X zHl$at4k8aP5wrBqnC68d#`kY_vS2SAj|RcYu$a#JHQ5bj)?1gudDmF4B}`(d{7D+B zMpZk;QBLen0yX?{y!0fmMw)xTR{Mg3gR5sQRh|%exjHELRlJK25ydD-#BCZ+I-ITA zNCPF18K|#d(}6gnjB@-9r*wz9Pg4AIvjmM^tA`*~nfI&@A>)f9`XR#wAhIskyV7Th zk*!M?rd_s+lFVTtu_%7~00$w2GOIWzY-iie^Eqt}uwdQliG-l~<{fD$YRM4CMgu^{ zL%{216ARd3YqnJB>J%3r#?IRw-JRnO7{_XDRPCxmgltjM8u+?5}cC}6f+o>cm zk{2N03P9Lg=|I!Iwh6Aa_+=!5lOp@7XJtiDLsD`8lkeJTAA-5`_V$*Q0%qC(jIZS2 z+CjfYJk1PdtKWt5{}j)N3najNDmKTnU~DTsap9s2_Q%E-52{4-diZiLQbk{V@_#jw z!FvU1VyVYI8Ykj!_5)|=VlsG2y{oWwV}GVX5SYyYxQf{d>S?T4TUlZ4m%vX92=Mn$ zG|6j&<{k{A)h>Z1Rr~?4Fe{x|?6(92_d#_V4szxq)Z>1;`AMlgeSJjZ)ZWz_uFMPZ zG4-aZAGI>{ubtU3cN2cMOZEEhf4XyHJ=!R5%rYJ^taJ0dUJD5UO#Zjc!E9AorssA_ z(Cvekkl9BGo!$F|gF)21{%MzVD1lSS>#fSD@?h^22_7 zBy1~5KhJoJ6ZDxk9H*L$@7Wd*oOlflRibT|Tj%iIGzsK80P+06VLKoC#{>1~&0>A4 z=NXaQNsrAZE?x8;I!#-|ou|0R+uQYU9HlE&#{Ih9>pxCV0j4hp7IxUgu?m#-$+wEu za=?W&I}}1&U-@)BY3zkbQV?dS^t-E^_vq*-ram&EArZX8xr9U)czF1;_0+nE@bLKi zv*5UWN8}k(aqabC+27V{_GKdmkahf0q~^sB_U2_!=2c*a)ZR#IM5u@ttA8$myXpsH zjAO%ZF6G5SUiyHJyrmZu(=gKDD0tZITg%1nnE&kY&EUgzxt&8~XjQ*t1^?0H8@iCx zWC7pXi<`3@SbXZufTH|ICHeX6^xvwO1^O`s&VwaQ10||*jQQIM#O21x3AK5$?VoDr z4bD)zhaMYl*oPUb$e6mxfABpZ!K=Srpx>D$KjmuQKZG1GGM)nhI5Q zTN>~T!KF5DcV{t9mv+!Ray+hks)m5unVYr%5D|%v+zw(G4B^nC{f`o+#UtSG*XuRd zWfaw4ot!{}?m(R!uj2V2tycf?22BW$d{p8US7sVBNm_!pyK&+1)kF(JeQ{=O4o(%r+x47 zdCza@@#1_FzfVciEBpj)yzuMkyY~EnMDe#n-|uGYczV4WchQ*zN#hoka@YJd5s?7K zRfX>Q01}2%x=A1nJ6`3coXWh(1+o$~0?yY9I+!eWPPwpafNV@^2~dg zb%voZiBFM9YUcBxgDKmf)DoHL>C3%l4JG#x5nb~WcFeAkPT_3=wyXU(Z%g*D6RN~6 zpfG5F^d-WmCMl4mr z;!}I*V>qYyX4pN<>G0wpw!u*xl@$^4Gea>h|`nr2h zpY)E;@1Co}6CQgyE;Tf4!o?Sqs@njwZ9Yos9Ubryt1!1cZwL~~%Q{hvepRTB|b zok}>U0V{&}0T-|Uzsh_(Q_XBVlmB%|9sS5$K?H0IcwcHo0B8SE<}&Eirw@iwMp;f4sQsC#$OtAEVI!&t1Hy5+iSUY?|6Z|r{7qg zwfZ(HzH)x(W1HFFW8gPg9wL4(7iywDa<+$x*o@{_MUH~i+xGB%{BY-vY!t<66DiZ{ zziUfCMuV}h(^ybsil(6#^cO1SY9|7M0n(qo{e zl1DF>iEhXk@tYp{68rbN#UUV1m;cB(=g|i8dX>I65N6wd%ueo(1{Ke&1IE-H%#LkIDX6mK4e@C~g4I|dz6<|S!|q_FUAuQGaPF?I8O9rxCaXfY z&EQpTfcZ0l%rf)m&!3(&A22hkH3Qi8)9lryh}{M{hHf+}^b(L17MN(YOv{@F)3RBv zIq2z2`vF;qn|pTxtn7+!KnN1DNwt-9d>5(e4^ZO`LH{EZ3N;oe<%Di<+414kX{y%= z;rJo464a0T6P93Kyl6N@mtGW4pK{F1BK-*Ixa9=`98~mD@>g4Z(wW`QZ=D*Iw%8L$ z3JP!0Ik8*ZkNuuGHt!CH=KtMx4)NFxcXsJ@)1gz+Deh4&o?V}Me=B7lH=-73P33GV zMUkoD%rFE<$WB&%3{{W=gT$WrYbw#q)dtxt>M`SIIOMfE=EIVko+1R~_Vde=xBBfq zTB+h&a0jIYwyca&GUCi4uf|3F$`9t%U{5;*@^plO4Z-k$*R*zYWT)|3SDIe0Rr4h( zYT~J;a9l(E*mx}(w7IvD-Hzu^KiKUE{DohI3eea$0jb!XiMFRXX1{@mMzzXwIXR^} zUpwM!$WPKG`i?(fYrNW)v{gM`Cexc_JV_{;Viy%17ne#dGIw;%M5)nX%?i|I`6s6f zgafV5#u+xfOqV%6mqOP?fcwBNEiUrxcmFw5nn56oLd$tYUmcxPg>$dmoJ4;ZrRL%c zy)iRvGgt66u#{&h*|pSa^QwEKW5Lsc%}z;+C~p_xntbzb*MIqu`Z0U{Ai(6y?Ch)w zY$)$3(#w~Yp=`1h7gN93j8~apPHiK8MiQV#Hs$8`w~dJfeBO8gDIw^3rUpL25ak~K zFpWuHpzJytUcVT$vn*n@NlgfdLO{9CXt6A56SM|K*A=w$$_aQ}EMC_)P`@0-u?6Gh zLD?wJs@LC`BK%xe1qg%aXltCm$H$olODqF-9q+Fl-FtMjq=|@# z65=<}sCGHy8HMUW=ByDw`Nzd_-4;seQ|U$c`k=1*&mOa*Hy1PdWgOX%RxW@8&q;vQ zRFHNAclQTi(>puBd7kb3Q3rXu+sw>NcCi5~G5kxZjxNLcR5%voP1yIw0#@wNfWHGV z=vwA>SpDJ1rz-aMmb9$-FD_g$AJFiU z_NGdrrh6wv#aZ^C^_c2wx^=B6k4=ScR&>23V4!Hgh~s44wu2l}L-Xr6-*E^nPRvv$ zFAK7;u+Wo{k+s=dZbf|-0U&7eF>x1Ron5Y-nVJegNj~oe_HsyyJ^r;P>rpu!RsL#2 z_sk5ZA}`rp&zIL(LZ75mN_3127R{+AomS4LlK&!J?O;IhC+|a_(S+oW%xENr>Zi^! z8SfhU<@z^oA?+oS&tCqhvo5R}Oy3a$>NWOnu;^^JMHQ(8K5${^@{e4~)NHPGhvctl z;5Ldf2VX0YKTd{rkgVIA;6!deG;(f@<{=6=bNgHa<%ziGqOmM7AG2BTRTIhm)2iBc z11u2-s?c#ZflS(sS{d;KQ-QBv(T$Iq`yY{brL;-&=z~rbx&byhEk+!-@2*FcCJ*qx z(|Q+0zu5}JX?5MD5}%(sbd9#Eo<&{B13r%rI~``)E(os!Q+5GSa5uEP>{|wSC0Cb# zO2;8qgK(**YN4WGa}I`aF~9jqMY#yjX`#B;*<(U{Dr>jEuQMPZdV-JF8{&Li+pxdgXgj}sB&%r70?-8h2d?`|jeix~jC-y*M*O{pax!2n&UmH%a6v0~C>2Q2?lXNLTs#bTMKk3An3 zI-rhr8mg&-g@y{#rDj*1;dO@s5WqbkYH1VX98j5p1YxBpj!ZB@8-#T6KXx zx(eCxVLTNNbqXXGM#ubs`q^P{)CnOl`NPxC#}5k4A_@v}EUYQ-KP<1DowKs?Pfbm! zO{v-I!X`8lw6gTeHI*SeD|^AB}^iq z&)Q_AQ6?4&5mQg2u|q6CpUvW`R5S{Cwi>wT(<6((CPjf6S{} zXRA>&)yYEf6=rU^y07a(6xV85@4gCit7ymJ;o&i-N|g?<<^bbDRVWxqEqFUm!yv?z zrP-7ENNBNyJM*pry+XN@e}72P3}69R`5Vksue-wrs???I%0!RkkggNCMp%fc#bgJ- zk0MHlycq@`!|!u+(}0Z|@f}LK9#2?PC6J+m)JrWwH9L@T8BOqULDEf^k~wMS;Q52+ zW%lb3emTEqsfI$P?0KznG* z7+SS8vre~k!+W+Ea`n3iu{fdK?V;W5eOc%Y{i`sUzblKm#MX-EZ>&iF&WuByU#*|omJc%0edzGHl9|_JnlL4 z`Hpv001|!bX{rBDe%btd|LZ9Px1}W(&m=UX6TL*erDtT6lQ*Y##+?@wz?=6=FC=cW z;9Cz83mnr(-0jTMou0vlxV<@02Oy;jj2P?QQIPt)Edk?o7A}cw_ls!ridBQ3yW4x$nYDje&vW^`z+dL z=!g2Sbk4C4AWYEFL0jJq)hddu`^SO9~uj8kNM0n-0df=Kv*z|RuL_yx7jJB49h zbB*@yiu2IWP$e^F$`8?m!TOdS6=nYPBZK6U6(jK5mB@2*bG*bpe>;yyjAT11=#Qe! zon|@D!IB+M>rL(iX^|_Mo$cnhI|6j~Bu2O+_OU|Cb5aj;64 z6OM}^Quf-ujf=DCY-Z+cLp!BQcK0{CA}>+tre6KJy4|l3ES*D^Xu4hpA&c12BPALh zS^sIV%_Kyfg0uc9)iUiVlaCGW*9(C=SdyEQGw%ydfmBoHBni|Ow2BVn4-wP?FN(uL zE>iTXTAhh^AyI{yLgX4=M(X}2l6WFqODSlf?AmKHMq-cL#_()sTyS-)1{-@bH{qWM z`OC`>2(Nl)t!ENpoInz)aZstC0XKuMriG2UP4MR`TtF5_bAvCsm(98tA zc*Ju!ecmQ9KdzD0#9{ZRQ_sQkeqHz69A8HUZ3KQg?kg^nd>4Nt&0^9tR)n%cEwCf# zG8RR)9;M+7Y1Qp&|MP%dgtleI_Co5WJl-%&KLmZG6K4G3R9>*<&M@h|P%r?@SC`pD z5u}9h@No2db0Rlp+N1>QX^4yM2VwB-W-3r&#*tpuG95%ofnkfLbU5hnH zvrX1no6(N6eca9-xrIkSy{CNtz7kkk0+!f_R~C_27HpgX0*{Ea`T9U`v(fd}f6m~y zYst5I3hxQGnY%(VKrnW^(jnONUZfEH1xxGh`;Kba6qfy^m+<#c3{f6Zfl7UC<-7_D zm(TTI<7>o*W{G4K`Sia-h`9}xxqm*>I|xPdA!P2LKTEk_`a-qu%@8{9lJz0cn^25^ zR;-NGVSH3CtQ*_I{Z0hCFm%lWs|>MlfL0zL#czeX449fh2+W+uFM zDrG()1X7Q2TPLSDUfLC%exXHKn)j0W{wZVEU_pQJF6| zkO}psf>89JhP5H#L3Yx#p-8UI9fAh`Puo!}?2_kZr0Bx*xj;o#){<-w8Sxz$**%DrdHW3^0fnDy^C_7y1JTR;unft zFe#Eo*BkA|*GY;uD#u_};=#ee#iBtGt(rq@AMM~fVBpSH>?}mFT;V;8k76&`D?*%9=no9y`tP;f{-qt!AU4u_T!o z!EfW~*p+Y{zIki$M2bmE=~+rx4n0}p-09$GSdDu+*G_T4z=FkZt~V4^nLNE8 zl9W?p;SmvXy1@99uF3zagHgNPgV`n>y_I%_h=kD=DE;4U&D9ii=NFSv-~aj98(6dAPu73}^{{fkIaMUVAVi}BMFWG?j#_K)xGfV?PvgAvf**5>8TXmV;AIj`1XZ|FOS5Cyh?y!0 zsGN1(XMkRga5$Yglpn)=jz?)@#6S1%pqi0*X_?Ha&$Oc}{UW;8W7 zr%U&i_wl(O1Ol<`;Y9vdSFK#)^;*HB<7PrM2`KNmF}6whh+K<`BcqO>Bs1AvK#q@n z@wLqMv8UDkQ6j?ekaO`F$WrDT8yU^k>_3-oB|%0*QxFxu6C8DPRp|#dptx{!({IAG z%$yU#*1@kD&z|Nw!=qdmCRK zKy%JAWk|(9J+lDWB3f`NV_SnyC;O=4W0Uf@m%P4*Av-Ba{kPJyEY$=H0njqqz#=82 zG!;1@l2%Y?U_4Mn+2S6h0wol0c#$dp$T(ClEFB4Qw$18g+Ql6`hy}y`BPoKW!-$pUV&tOg1ASJJ5SjP;bvIQjtKuQQM7jZKp%S5~u)iQ_=`ufrVLTQ# zX^t*`#QjIWu1$t|CSPem`6LMj&ffXdU2l7BNZm|oU1W81bR1yS49Kj}{)+by!XY4_ z7xA44xcGL%N4xt8zz^R~NFD!%EE0iRihytPxj0H)7&E~xa4Q}f8lbK)htOXG{q$?` zNVYjAx)xx0r1yH19(I5Op9;YXn)X3E;s*EEC%GUAIDZDbt28PT#6E_N1lGG0VCe=|t^eI36pXWhwpV#<2It8ijW>cLeSE%^$LsSJ9*X zDG^8*4Z{KN<6TfKBE83!&0I~`G?mI>C|N>bQyuvdQ4kSf_*Gr9zo*EW)6HZD1Ql)M z-4|`<-Jf^`ROTtKKi2}K>#6#thR5X(iT_Bs#7n$N43>>YaO{%`fU_2D*9S1p^#4qL zANMG!vwLu-N76K3plJ%Sk>#_UXTvkA)tSmaW_a_xQFL2q3oUyuNMWY2u~C_snYp3o z9i1pTVs)ehSB2N`)9*{Ajq0zagV$5-!=0(|mxo72d~|A#s}dFFNQGzytY*r6 zD@?rt82CWOUeot9PiH?=lE^!nLzn*PK4~i_yAtK5M4`Zzh?|gS*S((g%;hbX3O6)? z%yz{S+(r@~_oppTW-ID9uLoz(cKGBe0-Jg|Ig#S}^OTBP~OVMz}yaIncol_^_OHGOs1C$)3pTPqsNonC-mR z$OlMjt3;!M=q(1u$&Us54qe@AJz4jJanDj-dj7Y4-kl z4TO^y4LNvXnK zq;=u5fISm8E$z_!T|t>{i<>gImPc?^-mziPD_{7g+oZ8|B;+X?@gv7OgL6UXX3ToA z@#OXPUvONy=6Rq+00<@cg;1RolJWENqdavc?=hhoZJ%g{_pBoB65ybq=rv5nI8odO z|2qZrGf%}GRD<_;{|cJ7zU&Ut#b>u-TLs4l(%>KhJ@o6>E`ZiYj|<$<*Gt7wB49*G z4?mXYeBbp(?64`B8nQZizO%=uQ!o3Lxdgh|N;Fava`CzV9NqvObSLiZ}0O@t52GIa6ZjDc0-od%*Ds zxm?ZQ338V=R& z1nISFC27&RHEn5@U;;%&MN@xEA>U02-rsJeesmwN>pjvayj@6nGWMt?ro4@` zz!ZjGQ&y`@E)n_atbimyvN?Q%zc!jTWqkknnV{k~&WH0!1>D@9i69nwv4D8ufV-Z( z)D?tm4vcBr+9L(V$dkkTBHO2a*KMHZR8B6Gu4`}}CCB60Fo`fpUqD3If_1H=eQ_Yv z0`plHb-wH34`<7OcwDWrK;-O;BJM`VcBa{eH$LJIjx-M2p^mXoh(Bv7;%XhW6*uHn z$J!3p^_)_RnRMp>RY0_YorplpjkWpt4yKStM_m%?&AS)tlN&p9gWpDCm$g%h4LJK> zpAei(>)7X8dGgnG2AAtcz+Xg^h6jb*k2YQXpOtpjdv`C zRYH5cFHs0OdgH?uOtVs=@_lSr3^6R3y|9${rsQ_S_{xd6m5&(2oY$Bv5~!(+81-7O z-)nOoyZrfSSbf3m;ERAIKEdxR1{+s^t+bj)sA3Z58oX5vG^bJj`4lHN`|NLByI*nT zd3Bmf2-iK@`d=|~2Hu{vSBTYm*Yj#MOwo-O$;I7iPt=Ff#g#)Zj+XAKz=Kp*s3IzS==m+{GqGE7bMJ=JgA+*Y^No<>#^DjF zN^|J54_@egx`4vnS;UOfmwtVdFowk^qg5N6hcNKI$5OS>Pa96B^~V;E1*1%<+C`eX(kI}1+*G1Crcse1g?bm`4l0||l$Uu$y8WYnAoH^pR z0SJoqq^51{dr@?CUl!@mcmb4`*Xjl6$WwC!VnIJ2n#DFm=8M$81p>3lt23}7w39M3 zm*ICkmAot+9)0fxpY~^9;t(MG`wJSu>W&s5G8U+m920BX(xrE8l50oy+J1WUI_ znWD&NxcD@DH~p2|V?FqD9fXp|AwlH->Qo7MfwUeow{Q8G3w(^^;K{R0a>(uqfiWKR zQchvw=aRK5jNAEm(0kv`W0BVUuigJ@(u=l)&~{8a z#gs{kU}#ERT1wjlm3@k$?uy1;^+eq&4o=<1r435a(V>S%8KjZ8w3O&1q~a{jnQ!OI znRE8DzwPH)d+oLM-s@fO`~Ur0?}R?o;CKbe6Mkrx;sa4ny{?hb94u>pgHT^r*QYzp zT0(Ui7DCL^c^c9A*_npt11xXMItf~bd`yHPlUHJ)_Q$6AJD)>kAJz`SnXe85OO7NE z=Kq}~UOw>ZJI#^i*cbeI(STNiWyI?2BcRDhVLjbUD$Xt-MXJpV4)zL6bW)u^hYjUl zRUywD$&*_~>?I?>9^Fc6-xmhZ>^I==7zr*yWRxR;(Obs7IA@4!015aM@c;cD4MOY^ zkmw3BKRS+igvzW{QiI>088v^Rn<&*dCdMv4RTR33LFL@9Nni}vEO)_JV9mzh1Z5H< z(2GVWqWzmj=}n`9O`~V4cDZ<7NOwJeE5;C+B=1`dw*tbef4r0tbDQGtL-mHH)H-Y< zqVBE+B&@cSfh`)vYV(Ug(XHqn9Dh*kwM;^PBDpVqIgflJCNHFEG$#uFP_)`9_S)ik7MH86w?$aj{82y`Q7-$~%4;q0V6 z#?0_0c=u%)b;1=iHK1L`lBRt1#x+dGQQGIpy*_kb#Z-H{$an|S6*I(!Do9FLt7pHp z_!3kKmgM1)Z_Nh{)P%n+bZJqQg%9K;1wH&0N8B2D1n`xOTE{~fuSGXh4;M*58Cv2E z0L7SyA~T+TA2MD4)8LRP9(4g3rp7ojR()1b zEQDD(Wzjd^<3zA#&dk`c>u-ob(c+|zg+-IGbnXNR%Po{co{d3Dnj_S7G>n?>{RbpO^3oPyNikQ_OPPF$xDJ$3S-+Al!O6ywtLHBSb z%Fghv4W1`Wel`xAHQq_zd!wD_Zx5XrjwgnOh1GDmT4#C>5NthOxL^H=mw zeD(ghDv+gz<-zd_#%IEUFcFtwmD<_*L+5y=j3^K+Ucl3yu!;6cP&~cRiio!%dE6~_ zp5lMMj76i*#Z~D`$h0^v%q*r>Bl|;WRA`m^E&kM|p{PSv0#$n`8xiGJ{6KVb&MRWB z^s-En^D(4?I&x_b+|(dyLUt0suuSbi{mvSh*tq~7AD>fXGC2%mvWNVSB_+jlkgky2 znr7X-u*TE1hAbG>i-TwHTBprB+`kEN&Pzx~PhGkGmoslxY$M^~RnPDa5U`_&REUWwiYxw4@Ts~$jjl=ap;xwDP8FH3W@YTVAX zP5JU?hw*cdwNY)oLF_G=)WH$lTQA+m(a|sQ&;{R zd@ozv9v3|TW30Sh@zkx6mGOI++)_C?TqTS_)~*34sdb|qiDL=VTow_LQqyUz<=3jd zhC~bVDkn~#Ip`SNQ@mK_a)o|&h8-1_<9*2LWD)c5&<4dd{Mp8jE+UvpGzU&=sj(@1 zXx-uBP`8n#v9vy<70ju&{Hs_md?U1?bpp$~I5E4{H6v~kFH-L>QfoZg#{gXFsLWo1{NKoBC)ui8&x}Ph=#t2A=G$c1k-Wz z^qHFb4)*pJqdP0YwKylXDM5Q#nC*he<7}bu=(TatFi`I%pp*rsK0nwHoDwtU6CX@` z!|mxdyY!-UE-7R(@!z+l;}KZJ zp)tqeI^@#~zPyiVxb^ZJn@S$bATIQrHSLS2zoewZYj38`s*)@$cPTyDl5gsjSfa zf`=%9=3X*xXD-ROdyrMDj7c`>qniXn?#4q90BE8bIGU_SZvkS0 zPLX_%nfm89xHrxXQ8$6HS_Lan3Sq95k)9s1M~(CV`R)ZT<9VC!vrJ%caa}bkKIOJv zb9p|wF)w?avNlP?qZOUfCwBa;pN_QcO_5)y;B2Gvzzd^id$1s#SkWKQke1yR9~g_| zT-wHPkhZtwx2N1TA+2N!U$vE4Hrt*R86DgowiW+s< fIrtyOmbWQ|p!hu*l`%NF103I-b~wef{VDpNbzV{@ delta 21718 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
CK#VCD;@I1#{hXJxKOv?1C9y~- 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 From 6f71e52ea8a5712d2c3527f2a524af9fbb718bef Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 24 Feb 2024 22:53:30 +0600 Subject: [PATCH 25/33] fix: no draggable scrollbar in playlist/album page #1158 --- .../inter_scrollbar/inter_scrollbar.dart | 2 - .../shared/tracks_view/track_view.dart | 23 ++++--- pubspec.lock | 68 ++++++++++++------- 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/lib/components/shared/inter_scrollbar/inter_scrollbar.dart b/lib/components/shared/inter_scrollbar/inter_scrollbar.dart index 11f75829..2b3ce319 100644 --- a/lib/components/shared/inter_scrollbar/inter_scrollbar.dart +++ b/lib/components/shared/inter_scrollbar/inter_scrollbar.dart @@ -15,8 +15,6 @@ class InterScrollbar extends HookWidget { @override Widget build(BuildContext context) { - final theme = Theme.of(context); - if (DesktopTools.platform.isDesktop) return child; return DraggableScrollbar.semicircle( diff --git a/lib/components/shared/tracks_view/track_view.dart b/lib/components/shared/tracks_view/track_view.dart index a1a2d48b..4103573c 100644 --- a/lib/components/shared/tracks_view/track_view.dart +++ b/lib/components/shared/tracks_view/track_view.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_desktop_tools/flutter_desktop_tools.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:sliver_tools/sliver_tools.dart'; +import 'package:spotube/components/shared/inter_scrollbar/inter_scrollbar.dart'; import 'package:spotube/components/shared/page_window_title_bar.dart'; import 'package:spotube/components/shared/tracks_view/sections/header/flexible_header.dart'; import 'package:spotube/components/shared/tracks_view/sections/body/track_view_body.dart'; @@ -13,6 +15,7 @@ class TrackView extends HookConsumerWidget { @override Widget build(BuildContext context, ref) { final props = InheritedTrackView.of(context); + final controller = useScrollController(); return Scaffold( appBar: DesktopTools.platform.isDesktop @@ -29,14 +32,18 @@ class TrackView extends HookConsumerWidget { extendBodyBehindAppBar: true, body: RefreshIndicator( onRefresh: props.pagination.onRefresh, - child: const CustomScrollView( - slivers: [ - TrackViewFlexHeader(), - SliverAnimatedSwitcher( - duration: Duration(milliseconds: 500), - child: TrackViewBodySection(), - ), - ], + child: InterScrollbar( + controller: controller, + child: CustomScrollView( + controller: controller, + slivers: const [ + TrackViewFlexHeader(), + SliverAnimatedSwitcher( + duration: Duration(milliseconds: 500), + child: TrackViewBodySection(), + ), + ], + ), ), ), ); diff --git a/pubspec.lock b/pubspec.lock index c7ac5085..b9268b56 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -543,10 +543,10 @@ packages: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" file_picker: dependency: "direct main" description: @@ -1263,6 +1263,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.2" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -1307,18 +1331,18 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" media_kit: dependency: "direct main" description: @@ -1387,10 +1411,10 @@ packages: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" metadata_god: dependency: "direct main" description: @@ -1475,10 +1499,10 @@ packages: dependency: "direct main" description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_drawing: dependency: transitive description: @@ -1604,10 +1628,10 @@ packages: dependency: transitive description: name: platform - sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: @@ -1644,10 +1668,10 @@ packages: dependency: transitive description: name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "5.0.2" provider: dependency: transitive description: @@ -2226,10 +2250,10 @@ packages: dependency: transitive description: name: vm_service - sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "11.10.0" + version: "13.0.0" watcher: dependency: transitive description: @@ -2238,14 +2262,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 - url: "https://pub.dev" - source: hosted - version: "0.3.0" web_socket_channel: dependency: transitive description: @@ -2258,10 +2274,10 @@ packages: dependency: transitive description: name: webdriver - sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" + sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" wikipedia_api: dependency: "direct main" description: From 9095a8c8f849e42daabb7efcc20085cfb863c974 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 25 Feb 2024 11:13:23 +0600 Subject: [PATCH 26/33] feat: add songlink based track matching for youtube and open song link button songlink.com will provide accurate match verified by community for most spotify tracks improving overall match accuracy for Youtube audio source --- assets/logos/songlink-transparent.png | Bin 0 -> 73176 bytes assets/logos/songlink.png | Bin 0 -> 88538 bytes lib/collections/assets.gen.dart | 16 + lib/components/player/player.dart | 16 + .../shared/track_tile/track_options.dart | 17 + lib/l10n/app_en.arb | 3 +- lib/services/song_link/model.dart | 19 ++ lib/services/song_link/song_link.dart | 47 +++ lib/services/song_link/song_link.freezed.dart | 320 ++++++++++++++++++ lib/services/song_link/song_link.g.dart | 33 ++ .../sourced_track/sources/youtube.dart | 15 + lib/songlink.dart | 43 +++ pubspec.yaml | 1 + untranslated_messages.json | 54 ++- 14 files changed, 565 insertions(+), 19 deletions(-) create mode 100644 assets/logos/songlink-transparent.png create mode 100644 assets/logos/songlink.png create mode 100644 lib/services/song_link/model.dart create mode 100644 lib/services/song_link/song_link.dart create mode 100644 lib/services/song_link/song_link.freezed.dart create mode 100644 lib/services/song_link/song_link.g.dart create mode 100644 lib/songlink.dart diff --git a/assets/logos/songlink-transparent.png b/assets/logos/songlink-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7064c92fcb567ca37c040d637b53cb038211d6 GIT binary patch literal 73176 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 literal 0 HcmV?d00001 diff --git a/assets/logos/songlink.png b/assets/logos/songlink.png new file mode 100644 index 0000000000000000000000000000000000000000..43d823a587e26534ae0f57d7a2c527ed8a1b3bfa GIT binary patch literal 88538 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�T>EHLdF>W#~+*ellACM1SPfJ4Oh3+>JNY-#jss)pMBeps@JxLmq%tWNkV? zj-KdsoE`=Rg-W0~3)}MdkNw?#Y`_n|;F!~W3&oRI-dy2X5Qec{ckQL=g&d_JZ6e3| zeT6qA;|cz%VYZ4?;%jZEiX}shawlrSv0(z@!y^EFm-T-1Q1dw)voG85fID2)+^M}B zdHn*iur%)_4%#%u_s0*t^ERLE(a1jW*RcW%&S6cdi9MM_3wZ(6u5u$#C#w)5LV9caopzvn?3&P7!eL3H z>Yxy3P9kR4i zV%!*s%Y^2|uX|+Zu7r8XLQOu@!(9Fw9vuAQI!64#49NO1WZQr8UF6)m%;-zgO>h3|Zsd>AOa11~iw7a$NV&4!!t zCVh{E+`={$R#~WYr2PM`jl>sFyAb1QgS8?9ELn63i;2NK0otzogQPb!3r@ zm14o-L(qKFp0;@L;YPT$Bi}8qbPVtCm`JdX9+VsKFDa0ZwU$J z8o#Xqf-j*Aq@b&%Pymg;%aYdu3NAV~_g`fQ8w?#~*)hztWA=-I7>l|z9s6brRzEsC z48M(}HCAE&>iq;+=S-x|H%X!ad_$u}G^exD@{G^-jfe^wz7e}8LlV~K96hO?@y%h} zeuqs5PNtG=B}Ak?=ajzD`z#uj_XLZ6mGMhqKnUbAPs*0>4^^9T6d3Zdf8>=hdt<$8 z8%u#mX2{skvyg<&B1Q|^IgIKK1OlfWj5WAvY-5onvgB>m!2AxPhMuc55vV2CyO>Sc zI#wga!j^e--Z_KL;?>|TY8pViz9m|+fuSwhv8V3@++(W=hI@OSY{KcfLR9vsV|DH3 z&%e?&0Ce&< zjI-iK#@1s8rB{T5ZlCN#1iimVrALs+5)f@8CnfmXJ(*U%(bxwJ5x~=UFvG2^fH0gW z$LAESC>cfJvD#97--`b2yl)3q6>w7_h#qj0i4;o+;e@Rs+p>gG6IcnyY&WzKyl~9( z;ze{LD+j8=fcd^{x6!79eJcI?f^mwX-=WE40Wt)s4Men$GeKeaR>Cg^_Nuv^xCPTp$*|C$^v2E>tISQt6C-s9eC{pqj%#1&4 zBa0^mZfvlW3)xIe&H#Sb+3*mZzaaiP3uu!K`vSFG^vd{F=9G1DZT><6yYi^u##K2U zN^MV{3vaYjlkpOzsicR-CFLI>7It4J#Fpvg@h{~ez&G9|Zs{ucW@c0m^7Bi%%LmQ_aiefO53w`;VBbzY^9RRWYHcx*oX+s|kIzJ3aAHXHI7vMI5m>*`=Wfn^a zkVIjl2y%v3geR8U&WXJ@B1Dily7@vQ2svcYZ4~iQc-6T6 z5v5IoY0>a1EsnR=h!)z~D@ASojRh__l@#mEX|)#ZB(&~#C~b5ir|9AbkwF;;*{BG8 zy5`Yhwf{_cdoX-~`rve?ct5{%C1>9T=ouH43g{BT-y?SSz{2{>jSsf=!Ig5Zzr_c0 zeYiP)4@c4|=ke}h*KqXd5fp&5+r)p(-&)LoO(_&Pnj*qbjy$ zoHF>8DqIl#E2%lp38ah#^TuC35Zs$9vnwsSj~_4rO5O2XjbGz-?#laUB9B?0Tl3ms z2%z5)*R`bR4_BpH)Z}>VqE(uCI1oJe-Nl&|&AWAE*P{vauY1nVqQ@HaeX_R^6mF&4>=Ig+yT`x#jf-f$uS)mY`omDm? zpy9l-I+MNZ^q03BfgM$#r%=GCvx>vU2|M@iHk%5hxbt9l4CK&^TuA*+MLUd-mq(J{ zl`PSryjv!r(__Q8za}J&rW#p{xi-L0P()X|5n*?0ZTZ8=*BCQOW1NEw8@D zc50Xrd|Y}M*D$?79;wExn2q^c6TrLz8zUPU*z!J+?st5fi&7fhy;MH82CczUfD>HJ zm)#VzcnMOYw;vV#Uk-tBViLfv8s;93q7iRueZWQSFgs3Ig^25g@FbSBQ&n%Mp2@LwMXfNcky#{Ty!a810(Wym@B8_=Tf34fj>w%!u> zEzG&!xmav9Zn}Dz3$p} z2zlv?=hzA(NL^}q)L#c|q?l8gBmht_m}^o)6Ang;eC|xberA(OS4|wmFELc|X=3A# zL)_C})eFDF^)9e$_T-tuXy~_NTXwEQQiaGeKtFk#-t`)Mo)I+E_~UN&P2oX{r!ZKO zcfcUX-D@&=BHth8AOGZ^>kaB4w`52Whejm3kWjn1?|i=gOk(Kfcyywfkf2g3(Y2le zTe`q~WKr=+q1q!jnZo$`X>-y$#U8sNUDY2*8*`IBKpnQ{+XOUP&QV@6S>DB}tq?ai z(hjyUsKyq;?OH1`Vpz_Z9EU7=43)RKb~j4ncbK9>nElW)SZRwaNG2sGe>ZNk;&62( z{D}hXEdq&r&q76rO04T!o$q8k!BEhI_?XaGWAj9|e}a_5p);!<#JeT=nWnZpyp@eg zVtnK$vb`Nf@EUxEM+jFZ>^XL&5NeD#uFilVfaK-1y)9I?Ei=}oYwz4 z?;Z3kY?#Iw*BV+>giVWm^ZC=3NcQE$)3Y`0>&^gSKvaM%HKvXI<@PojECqJtS0o}p znG7`~H1HDv1!Zb{y`JWql9Y$XfUB%&S|izNU`aV2Mf-Fgu0vSTO-L(defGDoJL&`H zm9!zp@)6yLqR>si}4==cGg6VN#|3wKn4k1|R zc~3BXA5?V_G*MP1>BK~4@i7WjGOO~+jhbCWuh&U_FJz8|b3r%H$4=uf6D@{B(7U;- z%XmP|?Qwr%0tso8E-cjZ0x4UQqiF08I)ye6@VB_d4>Vb;SeRvAT3KkUygXlb;F=Z` z9q%7wUtmjk<#C&27IV{fTNE3c*3a4bm2B35N-CnN+-%%X1s1M5W zr9R)y0#(2k(n%??u>AMvqZ6XTgw{ZWP;Xrdaef2cp_?38K6CY4tU(!W!$@7LIHA zqiC-=zcwy}mllGne-J`<#y7&j9?*mne7s0>jX~~w`wF-2tYrCAm*-c?MwL@5-(1C} z#4xxXKU{^wN=!IQNqLB^q^ydhiEa9v$&US2CDPcSY-~2a@91IX=X3Bl?`EV%%LJdm zK}*pn)IXXObonrwJVz4pV3#WF)T*@nEq1(Q4<#y2!tK~^ny^mc7%t2B-oR3Hs2PG= z%A+_Ki~sbCXQ#F`#uR08^;(pTr<2MXBJg=s=&5aXG)~Dv_p{^vx$m`aU~pC1aW+n> z^Q5G#;#nsk#ng-WZ|`*6O)Y)&)}UVd?(}5P>th!8CQ6*Ey`APt9sW#5k9Cdh8ZRw{FP9VRD+);z&n}S5o%$3}MwuNa zF64gMuY?~_@*-nYPoSvhQMeh52tqj%&s1^$Nw1U=M!Jt?!?X!LJ+f#chh3di$Cf`> z#1n7-Hv#QESVxSbG+Y-Eqi{m3x7c3AET$kMMQ*F@Sro89C&B2_qBVF!!?jc&knFwu zeSax=&|f9k2EOuGl*!+=F1ar{vw6~%RC)&yVz&Z=P+Q--66D47`@0ztAcEQ&3GDHD zH=2M`pt3z^8o~MZ`^!Dp_ANIz_n$~_noDgYTL0?HmGYk&{tnujnlovre^1+pp}rBi z0KjzfHP;|2D}MSfK-)CoUmMjSI3gj9Kh>MtJ%49G)TxN!lO7w3mC;lpC@IKyO0f!j z?$wz(zF#Htl#$V>~W+|3O$xK>@|2rCa~zqQvyVbC6o$V3xej;vQw;TI+Y1o zx|>3c`%_v!vIAz~ZwYRs!E+OXYa>d3@V|Sui^ACb9)~96Z$&VS9Gya`8Fei|;XmN< zf>?pb$O4~&olXHe?l@Qkvmz({N@D7S#GemfT|)^YzpfzE!Knt2POXp9*KWG0^)|{H zQ%=YS(#XH;oTOx@sTv4clO{)frO|DKf#~Zq2Cwcsixkp@JA^{!juo?Q7%@#6Pe*hT z!q`$yYZ_;6mr?jFn6C3v6Dy94WVh5N(I2L@+B&Q(QB2o^-`t@_Cnq=CTfo#9$o%|7 zL?A`Y%)V~N=vGShA0m7c{*D|bl3%le2z}x}zWMMeX@M?uBW$9MYQ5*-n*XR?Q`;=j zr66r}@~T=-qHrYNw6mjICtaXe&HJK}GpP*d1StYbs)yPj`FI#l0JY1S5+YKvp)r+~ zBOeFBGjxUb*#~@($mv&XXw;E+!GF3IF#N9Ede+U4#Ylt$`X(A&Mna0D+d9-lhBPz1 zxo8=+@i(^9iau5H;BxNK201S(Zk@MaURo+oDrA%rR3~N&SBXg*4!ddBV4CVq^fHa! zpJjIxZs>!^r5r@s%0yg}Ig*ewBvej3HCkS@8t`Y~;;ujhfGB%fEcwQ2xp~v9YM|>_vb*;TDIW^asM=n19AVXKURo-(s~Im^BcFXQgyWSlN-o=w zyklsY_C&Gd+Mg-iR5N+Nf&~p|6)ID6R^Q)3W*SzvgfsYOi?6gfkKuM4f4)iEsVaPI zMKZ1|+ga#T{sUM+*2mFLZ@s2(QB_7rqdC!iE=QDlnIx_qq?L^s0-i}W%wGFXki8uw zq2Zz9l4^Clij&fyyNRp1XRh=sWfX>cR|bmWEqQ9Na-Pc%U)5T0iOz@m#oFhqzcs2P zIsgya_2sq`X^-ymm!qaZ+{(r6p{xjJie&lF2F-eTM^Q-v5Mvz2c`?_CWQT`C1R|-z7k(|4KWLCr2`xb(B5zlKwoL@=1^2~Lr9Z# za`3ug4rx=1b?7PJo3pB;daOrul27IHr0Nhr4lk(dVyQbm z<=?L4pwo$&9%Is&QFH^5{bqWzpdc}EhOiQVze@S(Eym=0=yF{W-c{i+SJs{_%F?>C zOZCmrt-N%e3@!HI5A5xP?}(FV66jO(X9q{&yQWm5F1}H(5;C@Bh)~XfJK&qE_os|R zUbGMm$-WdFQY+UO`J8?0?iB4BDS3Wb#qQoJ*HL(+7})Pw_D}=&tt9IO#iE1YvWBDz-O+?Mi+A;BunQWV-S-?s&X>^$Jcfy5`&${~gfeV2_*a+bcqb)X-c#}OQM<=}tU@r&daKE}Zm7RFmHu8po3JTbh?u5fXbk86Al}-WuoL5y z;ElC+QGF>q)0Pxsu61WyU0KZuI5ZztW$Uf^gA27pDp#*Ly@Fa_RLrm0qMr6WM442C z{P+L@Kdao||CQH`GCI?SfkWN1J3fTECoJ^EarV93-M#T!0Jywp2*exKx=c}blvsR= zjQ2!VFzfbciqXQN6XG#miygfQ9oZHIWaMx?FrVK`HklZpnm6Qmc~H1^zMl}@jPmj+ z#r#jtY$7Afi=QNUB>X;Vs*QEJU8UT{|0{(VQrWJu_sw;Ib_*+OuVINnz<#%n$7=yh zcfHg5$!^-ENizo1HSCj31{~FI-}ucs`|BtI=4J{;gAeAgibh?pAtS5dftN*EY1b?8 zxF+Ng<@}J|8hV@OdHDVWsh4hD-c3~9Bfn^4Pt~5MLO*|mi1hCf46cT{pw!o=z8=x( zAVJ|yoo*ASnubsqV4?y7;_D2wAFr6PzzL)LmS;HH1;#lR6=_wN{gS-8&36oTh5zF9 zXGji?!{L@_WzbvrJTb(i7x_znCybFS z+^PB~ZG&0&eWmAQ%OOyv_()gAhj%2GLxSI93`rYUvdM=UORQZN)y!-L=+r1{ohm8_ zEARE94J}I;)qJ~!RstJ$eW!T<{k_A8Q*2C72;JjJkI!-?F!B&UEx_Bx@qe!7b2w6i zr*?+4#~;~;_Z#cfXpct4>kK(qS-Zvt;ORyld|b!8qHlLkiYtA`YG}XrQa%SCPYek~ z^2D#44?oQ9Q28Q_|=Y)Gd_&6{b~H-ify+?<)V#AMoC+-`rl#UsHiIdbqoH|r`W`QA>XC-h>r z_lgZOFfg`dbbbt?)@0WXI^0EeC$>!}(++ zUI|zs@6{l$3Rh!x#*4;qBFf`*@h)->#ufG#eRrog1E%T#+<>;K-w2v2W%ZoDn4GV- zkDl4u{s-+q62A-u1)Oi|8`pfOywF5N00%n>#akNsZXa;5;PLTKZO-_MoB}>?CjMEN z0;|Zh+i{)8!ods|O=UeltdMiw0}o0g&FP8>xWFds@yfcbp^hp7xF$>AG5lC(-0ieT zs{%Yzn`HEh&6L+jx*Gm9E<_`{v{QYZ{nf!>$)M7fQfP&?cMOgOJ#tc5z;8Sl+*Z6v zMH)^(GF+1tT;1Q<@p*;5|KQs%>gt}a^Jovx^Wb1dR-Cia}E_E90gS%KwyT9!TV_2c=A za9cOU5TeD5Gv~@9-*2NgbRr!$z!?TSC)=V^iS9cpQjC>*uD*Tpp=~Ed!mJb&aGF!V zwT%hO_e7`=;F`uM6+7G$PZilZ@eJ^q??PoW(OM_9x8;xTzb{08L=pwJLCHd%#gVSO zxWT5-Kw}-Hu7cDs4R74vQ+dONp_qWPt^KmP*Y)h)q@g;1Yv>pUhBghx<#ipg;0f^x zvW<-yU-)vuxRl2{^;ZB|YeI z!r^ii0(>dxI?*pVJUrrC?_$oyE2c~$NlL`j{w38J0{4_kU^&?AmQ}QR(?e}eGQGO2Ds^#mceyb zT%)boble6w5viCPE?<}Qg^~ap5wBm8!4X;9+AuoQ(w?cS{MS7#J!6mdg!2Khd=8zY zfPniuxjd?g>#0>Wz;!d*TZTqA+_DgH7rhIKWK@B*WjThixwLCZ1&GkWN zQ{yIkZRH0X_;Y$?gBRkh{Y7jAY&fBswK_+;K6u!!YJh9oZ)$AneBkPq%M~(7cmd9# z$X~S!1~?V3v7ls{S$2j)P*g{#SjhwE62d{7ai(`=m<10kC{sMZ$^2L++w0v42U$y( zsubWLlr9eKhzfGZ$Tp+llszIa8R#@exdQxq6mSv=uj?hlcdV_j`66-ln9 zxX1Z=n#X!6V5*GF@i($Onsaiuo|a0?ZJG$4Xld&j*DV{l;bM_tfYY0qK&7L0Qtf+r z;~NC|@d^;pjBIwL<*x%nnsmUFCe=7Bg&k3Okc)c#kk_|U%i{zw+ZMvj4 zgn(Poy_s!TeoRkGwGY5sRouG3V{22>9Bf-f3YZ8dlIaZd>m#enQ|xuMR0(h-c;Zvt z(i4*(W^0C9B7AI4%=G`t1>kSYz#MSg4hx0Oi@bKx`&e+gKV3y z?%{34C1O2QDw^0c6m`ng!OCAT%T<4hJ$iGvsVv-H=Vuj@p17oV+i-Uny1D|VC=?l+ zz&QPH^3WxU7;q9BuR+OVezv)Dz@>{r#UX{p+A4HTjBDM8EAtN6ZdOphs~k4OY}-*H z)>k#awT%lyiia*<3UD^h=HrwrqtMX4(HY;!0pPRIA4tf-$%0e-%{_O49+Q@EdnMdc z^gm=$);1WGpLT?&pnzxl<@K$o+nS=MYJh9%INFD|fUc8Wp632IQ9x$1(O1Q6IRTtN zVd7O{iLEh-^4?*h%tM-Sv^&fNzdYiu2x99B!g&fFlE(Om=uj;koRD zNXFcGIRO0I>DUj1ORYT!AkxgE({5huY%5Wus=QB|-arwOnAc8J(J`fal*?muhhKijL?Ucsd z&FgMIvQ|*Q4Uy?PtJ@lbRS|HFh&}F?&WF5brl}!Dt1O#;);WZ2hQIzS5Uysoa^%*4=+CysEUBAdsNh|xV$RMZZi$HwlYj= zQ%d*`3o*QLs&OHKF43yUOHnI|OMFb0s@NIPvJa^}eYyMkUIhhQ1ga0OMD^4asv_V^ zO?*m#|f1aN~&W?e|8C zEOD#|l%@FQN7C~i_ihVSNx)gU!9F`qq^4UIcyXvWJw6IrvO439DFl2DiX{!FVW0%I zp^+ts#Ws|i=(AMK1^-#oM4Y*`;jXJQok}JuAmPFc+W^-K1BWx0sv_YUEPa!b=Fu8I zi`HBYPEU_XLoMf=spI=S924tlUw}t9!YpJW;5z!C!*|cI!shfbt zRK&SWv{+;=w5=UE8{lc~h11hx@M*|bTKL|S0sanhLnpF@cqRX` zZR(R!V;XjPfE2jO9TRnJT~qOy#Jp%ju0qajVifH4bhx&rpaUkZ}p9y`4gFO+uK zY{m(2I<^L3#ye96_%^df3vkkdg{Y!P4%U!$+&hz^)~OsoLiP`DlT~#vVPvL& zlNU)$fmeZF(EVe9#(FGuReXS&jy@sP?ok`MERAvnc)p@%Ectq>mWkpfrh$>A8!~3G z5Tw9W@^~PGYi#$9OY*Zd_gBEli$n^OCh#m>vm#S9CgDCUOlo2uv47c!D;U9Oi0c!a zxnv3qIOc%k74Btkc5(~2G}=(1tuj*TR8Hxs_YRe(7;CBQD;gxjSC!VgS>rT2lfXoaU1okHbHKkrzdMJ96X0GJM}03O zf=z=ZIyk3rd!YS+`kg$=8qHL zG(KAG^3Bu$&g3v~0=z0RZ?t)Lb*Qdt11{dVeE4o&mz9@-0^S<1VcqiGjVU@R`vi5v zYmYUox#pLR6W~+^dPkqVK-OjGNQ@0x!hp+fK_D2_cc0jiTxiVtS)~E@Xl%Kcc)rNi zOhExRa>!fL)3PI6Uu7R5%QT{5&*l6sBb<5y$G(iLd&-tb%Fl3!q7&&HuD@;8#)fjA zU_C9>20VEC>E^YmH#`j$6mXtjY31eRbs>5x`v|pkJtE46?z-CggO&mudxm6OkpAgc zD4HZZwvmyA1=bdiZYTDK2Aim60(Am#$K;)d?^T|4@mEm5V~@D5zu$AL!bD{sp{Bm0 zN9Kxk8y;C$7YOleDfmK`%LqT2ElGUhQF2Q+u(oyZebBq#UQb6$U9|z%4Q)K#d@;!` zS3v>K_Ds*Y*xTP|tg??#9W;h}oLjc)tb?sJZVN}zzkV#kZG%{m3z2}!U;;+0v%`&3 z>l&){Rc!g}QvlZ&mmg|LyyT~-+YfSW>aVT(rFn;`>OMkH?Sd>EJ$1vuITojKHp~s5 z{)z00T+r`I#;J;p)@m1)6L+F5S@UOA*HRt((6aplISy6h3+NO}{#HlNb|-r83|8sK zsF~b$BJOsWT`NxYN+fLEsLV|G4_~73dm2uo*o002HILUWSG_^WPm#8<&!!#AuGCvI z6?1MA0{E46D^(nDjfjKI1C=#LorL%pa0*uJ@};cCFD^nuV*)--!{zwSMOOxzPnUV9 zL%_9k?F-B9jig)hX-qN%Tv7e-z%9pC#+<)yg-<~ufyza9o~ivyhJX|30zOVt3AmoV zaScsdBTOLRKWpfi*l%ihe8U+eS*QvL_$~Kb3SSVKOO2mx2rSSbjloQbM&!KomTA`mfT4mgF5 zLmHnzqOygpUEL4MO!c&3j18IHr==a-5_K)wy2^~LfRh*fZR%@APO5Sg9es*mN_xtn zgj0{K1vEMinPd`;Lzf}o|5%8jiNlH(BEu}!+z#B(H|c6?!5ABsWO3XUvmwADBbTFq zfM>fE-5fn}c#ETIKSeE2?Xq=fqi?hm&w%~%n2;DUElB?kv%M4?fkGh zI$9d=hK|nW)X+UWa4O!`sY;-Lqg7+0vqlEIPnYYecqj!7$j$6O*_{??lOcNf_cW18 z$1+x5$YMnL2R})w*zl-QHL&yx+i>w-lfBBf273LC)$72LNWms8+)T`Nk_>ZJY z6_@isHS+Tv8E80{tOL#WxLCzQ7ca%zS^6s$;9&PNTWA%QdIAi-wr8pQQ(UT(x#w!{ z#-zv$dfU|66IdnMke-_@r>?)&W6%J!gs|v?1UVfNyC|ypna)ri!UhfRovx zTpqGIvN6QR1ZG5jX8CMA*Bo=R%Nn1@NMv)!vM}MFpp`Wo20nl@_r`Z8wCxD7*MbLP zTw2@v*H-3TcjGA*;1p!D$*o^wTEaaXbzny1XHC=4t@{U4)1B~nj3k-}Eq0Lw;9wLR z4IjW6mT7kzYE^dC!81-q$gz8U`L5BeiZwf#Y0&Cym-XP`PGfzRCcKdStgdhBQ@$e3 z)dHWEG9t|kh3*^a4p9Dn9-6)8<6^-H1e&vN)V@L!eJvPco0MY-Z)zB>OmZ++B)|y- zcDCh_`k=n%3iz^?JVz~U)291L&NN)&(L}b0h9unPd?r=E7hvTnLLAB{$!u<}`O%xh zdptl98+_wWIv6R3`UgihbUASphHeU5;ALdvkQTJDcUw4oSxZc~rj|+ZvivTm&0d_B zPn8jwd?DJMut4g76Ub~D4vi2@gAA+atjg8Z#;}O(Nx;QhcQ?eGx^AH`fRor}vDUT$ zzNg|YyB`umz{fIW8v5H;#+5qQSo^=c9}b#71aw&e&cvaWkwD`)JEWbu?_RE_sR7T# z13__@uNK?G`}uFqg|0ZH z_Uf8aPZ2I-n+OsS$3>bDSt810QBlz+#Kgpqh>eH_#6ct!3Jt8?9=V<$?b+|+sK|CHXcgD>$6%ow`eNF8W6U11DQ#BTuCw-4WXJnEWVE}inS zy@mv2heYPKTkGd4O8K1fl$&Kz)DV3prfkoKxX;UU<@5=e5t#OkF ztWy0g;M$IXo6Zf~46ybRGF~#8NhDL548&#&L|%Yv)H)+jX8?PQ2$*Bk8rxt(d3Hfz z1{@>ms=pO~9fkQumTwZOn!KP5w{M=$@4k?lnmY2}aolL)+STsIc5V$1W@*Bvz$YFh z%eb&)f5NGNDtrJZV(T_43-_wQvLcuR|J|w34UX88kblcE zm-~W~YYER1iOQrQ_i>SzVJ<>853$yWk(Mxx0*#tyR1UyM2h<<9UKEz*n&peCH0fGi z5Fk3|RCnsCJ3y6pH^zo<`rj}szb!4x?pX^QW!6N;!$d_^i0dW zSH<)20h~m~Uig2N8sG%FNQ6g!E1f2?xUtcF6D(qT%BcYJK*YrlQ;VE={(|Qh91tlC z4xek_Uy%KTs?fjkj9RTRJ8k6*U`DRnb_mY90_tzwI&k1Xe0+Klp!tSt7OJx-(3gS` z1AV0%(RyH`D=QywjEftMy8p`n(C~0V@59wY-p%eSI{J^d9II<@ED!b2h3zFzCtQo= zbNFJGg@{JSVL%F*BSdrI(gU2xHp5|IOv3?pHgGw{6>fuCD3eo}I;8DncRxjdkE- zd@A7T8d@IvPUh^gG&00t1Q(g_g%*iR1@OPWgV<>gH1=C2X~f)Ph~WMtJH)C|X6T!YaIxJ87p z+uM7h^C7B1pnI!(hE{qvG&e7IM|Bn0>BEPQx3q2BcY1$QQ&U}C)1LN2#kGxF%PK0$ z%S%GSQ^fX;`YZ_evj{gv2YA?68&Ght;8-==7t(OTKbwwL#Nsh6nO;5E@{*F|kWHE4s6r!B3Vpc_12}Zk&_4mL0?jg2~8ECs+9qnB$Y8;5Dh4C`pu{JwkpLUiB> zc!ujHZi)Fd-o-MO^W0BcXda!Gb7x&|^XYM&+mGCy5w-6CrgrPrEn5Mn7^0ymK4Onx zV_khzI*7EN5KAI0M64(N8zxOm8WO3i!_eCQly=BIwEfrm<@-j#uyTsD0cYT_k&Nc_ zC@-$}YI_Qt?DMQ!y2tK>R96R^4E~D%9+va?WY4y(;{r4TlZz-M6PQ~>h{^S^4>mP+ zL<}xSXF()oC00ti`?9#a0H>E*C7&GA4w0ob8=-}_=G|uFsy;K4zx!VY>KdLqN}T?qs`KS>1r8D)1z#6 z^U3_{RycGAj1h%esd-gYmI>IW|X8~@!bExmUtAmBXa{=eH zy2aOw#55eTpHML185IIGA^^4?av?`<;NXr8`IaT%U{l%d)s?O`ICKYsJ_77Y_YU5K ze#kG$5e_;yl>pZ}ZU$Iv!Q3;4R@5os&>&stX6XJUhx} zvi10hH919Y+0O@@XLIz%l^FMO_^HY1v((Zv4s0LZ5bcFacc6sA`M74vUU?t=$_y$F zaX_}naBqC->g~EZEEwr|=AqClIqm&RYL;E>a{*^mSwzQg=xZp0pPHOLOHCbJ)5gKn zcqjiCEj|9<-S-TX@b_QA5%9M@{t2Cyj6)`mVa9VhQX1DBqQinkY|lOvI^pg8gK;$u zM$fH|VCFh`?y89!+5$f{IenHIS~|KV4RNK>mPQ6ROe>{ho8v!z3(rXpa}WbA^m_Tx zQbZxo!X^G@%;5+vO&IBU_My=BDcisNe$J!T=U$rV2CY_hS(W#y;io3APB-C%=bY4Y&p`pQpAfP?VP+`K8(dM;G&1(J)8k2FwM;VKYMQ;)z)^V zc_*ny`JKJ@ zJ3KG^4zA0vzj1f>vTqL?U-y%w@0waUx_nR~GC~W?$eK;A-_Dx>$uIoQqpEUk?vG1L zzU~$X-^qb+sG(fIWid7lBFhRs$fn!moslcOIoHa?7yU%QxwfG_+cn_=5-4pr5pm!z zU&IUue%;2!{gPByW?e&@tM|ec$cmr`*{tME#7c~^egEgO_&157ghn!2tpA(5{`OD{ ze9=#mo|#ufUFUlbH!Cz_Hf;lQ4#TtjFw!=Ji_Zj8RarL9h#%FI2hfzzQbv)-;(z{q z<;B?ktK6l52p=IJW=g6rcMf+Ko8XInBH$LzQLSR>T}K~^fv)Ds?ioZf$v(Ztw=p#Y zw_Q+GnIN-9ld2_y@P}YcqTD;;zbY@v_W#OjXrQauKoO1+KjF&FJ1r45_&m{*0Y^sH zjUSeK=Cdd$?^VP(mA{v^*&6D{#=Cb^HE3!R(Xw^(N&?>iy4dAw5S3Qy@{`{v$thWz zV8C(nc5mI+^c| z*6)<21mO+#s(Kpq&3gJKgKmYg*OJ=AXILW7pe=Yacu%9dL zwTL3%$7yOayOLJoJr++z56mzn&tEUibQN3T-<%4+uqWcGqXz>yWcXaToW_6rKR;Fi z;J^4E%9?jTuqqmK16S}_t}$N4hEBM?MeFi={{Xi^I(mgL&E?^$c(^VM&rPW6a_Z?`vzLH1opwAT=L>?0i41T{|VTc#8Dey>W8K(3f7QFKm z6`|J`#Rt?&mzPEwxhnU6LMELL`e^f{r~kFS;RR*<2YqcIWol~qQ5HaEa><+AkzRK* z3roboLQnNOV70W2TQ9yy_Y~2nN|+Wd&uD%1zm#G1ATM$;hX>p!N8q&gJVu;?2iO#g zyf#KA9hC&w$D>yW=geoP?f4FNu~lr_0w~MTm67@pP%hghMD9%C z*}2u=X?MFOBk0qxrn$V>MG3YKKl#0E-hmH%mAnRN&~v)}MdDBd4!B|uM8wki{ksw& zlY;u)7I~LEJ6u_7c2=p)TSwo}SjM#l*OhJK>=hIQI0i}$%Sw@1##L4Ua$68}*Oh)C zcVh-|g+?<%^q}Z&%LBY-95#xBKUYXS>3j!CVzp zCtN>bBk@K3wC5lR9&nbA%s=_J@L{%J$nDUnN&wti^frwf-`?6rq z-2vUqi{W-1v27X+QYpUm3{5P}0NViWAiv_M2(Tf`)YZ~F3#^&}%zaaLh9`g)Hiibi z!SP4=Zohha^HE~r&d&PPxVWUtF{_6Uq|%0$HE#~mz}S`D!omyEq{QXOt(GWI#;5B3 zA$oo@zHtZTH|$vOfLl{#$ACYDuV(wJf0W0+t>FRZxFzHsf+4eBcm!QBz>BwD9UeUm z7(+Mn;@L%~=RVlHQ~WJou8$XT;Rb!st|4IKwgr23V@hRLYj-oE(%$yrp(UWXwMg*? zoVR8B^5o64j}r5CzV>&&niO*=ZFpbv0swtwvGDe@-0I+h`s8x|?5E)+8G8u{2_6Nz zFOycp?N!AgW`-&bxK2oG+xBZPEu5o-BRW;)nE%z^LIeJ{vhr7!4+$D@O&?E>gG6y( z85;*&u{XZ$XlL9(GI-;oezzRH`+oU_#GxqVLag&~6GraL$O-$yb=j}D7`ZQp$?nTp z;Humh`X2?(;DG459^}y7*SONArO%b89{nBMPr zC%NGg9T4l}_j4wqtlH&4=~qdHP5%LJIa}BqQaYpmPK(@uQ;Y4mH`hq z*~(m*fNPT}M0mg%(bc!wS|glIaljP=%%)=EeB5HVkc#d!pJV5FBREDJs?6t6Pv6*- zomyEswK3kmy*YU{QGRy5`tdT1oSiQmq=Ccp?(L)8Pw2TE+JYx?Z2iF|ER#n%IAF`P zmoPoOkEo;L`a6k4as!#482twUpxr$^WqY-wqZ^>_E7)2;WBqLQOyAJ|;v1n`zkPGDSO=U6>l4UG|fyhloMfrh& z3_6cTrE)k{EEdZrFo!nCw{!FCcqrYRs0;N{;dUD>eM@#w_vWso2)MJ zTfu+#u@4Nk^hTQyKYgJy!V>pdR2XoJsFtnHOZ83+^bw=fS_eV+o8>MoB^7)iVKP&$ zb8*?|+Vak2=|N$2LGsQz=%vTr;0kB$8-+YMOmtF!3(HnGmYrH zFda|ORzhQ@?C<{>HjMsPf2N#9G6ID~7kEg=ZSkoZibG~;TR9R5I?9SP(Hymj*7SIX z>BW_16GNqZzsT|2(ywx4;oRo>r3;1C_1Pr}9TJxSMBvnn+=1;x{6S`XPCmnj!&1t0 zdpH+_e9!dVq~(oP8x?-QK;lr}c3kQqptC3hC4FI#-m1U)OC>dukr*^lKyXrebjibT#){Ef_g>^7Eiewqi70%Uy40gMtqwoRIX8(|O(8X41>FX9ah|_pZCh zHf%RUAiM>(?Lj83wke;^qgt`dDQK=Ur!Q?EyJ(Mlhp)C$kyo6mE+`<}xh*L;KtyAZ zl+;r8FMkeo1OL6elMEhkDpTN8awV~yjr09^L7A<@+wW)wgp*xe&S(=U)*PpTq>W-{ zR}&@F5$RjHdNmF`swoIhc<18eDRdLam_~%$hntF!i!haAWev{QWFsQlf8Oa!)0}1> zoAE43TxJHG>9karaCUp*l@ccblM4Th$*}zDH!!#GKmUK^_hk)Q&)dmCczH7cgSlOzG=~!~G+0C|4<&jugWZ_|+la$sBVdluIrMx@g!xed*iM2%jke0X8$g zveJR1Y8RRT64L^)EE&arkjB5)neSejM6z{!^z-#Tkft$K;a$X{RUCK4|D9tze9x%1 z+#BY%*thUM|KO$y-`+;ZbP9j=U}dNbw;cJLNS7%$q_VRi+cAgEQlMQ|5Psp}Y*!Q; z((Vpv?zC-b^Suf(@IGhMMVh)q1BQEj%o3PdYpKF{8q>0Yo6_9y`Aj81Wi4ws`Ony! z!oU9~vQ9EPo3SL!&TvB|z?>2OfR26eoxSPo&YwG;1gYsxTJX8kqa@8MVKcjzNb`UUE z!n^~b-Tw2K<)P+c-1hUcws1oe+qPTJuDkJ@tkD4%?JXuQ%%*t30uGuyo42I}9rJcM z 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 V$Zxm?H0uBW002ovPDHLkV1lE`BG>=` literal 0 HcmV?d00001 diff --git a/lib/collections/assets.gen.dart b/lib/collections/assets.gen.dart index 2587800e..8a2950fb 100644 --- a/lib/collections/assets.gen.dart +++ b/lib/collections/assets.gen.dart @@ -9,6 +9,21 @@ import 'package:flutter/widgets.dart'; +class $AssetsLogosGen { + const $AssetsLogosGen(); + + /// File path: assets/logos/songlink-transparent.png + AssetGenImage get songlinkTransparent => + const AssetGenImage('assets/logos/songlink-transparent.png'); + + /// File path: assets/logos/songlink.png + AssetGenImage get songlink => + const AssetGenImage('assets/logos/songlink.png'); + + /// List of all assets + List get values => [songlinkTransparent, songlink]; +} + class $AssetsTutorialGen { const $AssetsTutorialGen(); @@ -37,6 +52,7 @@ class Assets { static const AssetGenImage jiosaavn = AssetGenImage('assets/jiosaavn.png'); static const AssetGenImage likedTracks = AssetGenImage('assets/liked-tracks.jpg'); + static const $AssetsLogosGen logos = $AssetsLogosGen(); static const AssetGenImage placeholder = AssetGenImage('assets/placeholder.png'); static const AssetGenImage spotubeHeroBanner = diff --git a/lib/components/player/player.dart b/lib/components/player/player.dart index 298458b5..a43fcbca 100644 --- a/lib/components/player/player.dart +++ b/lib/components/player/player.dart @@ -25,6 +25,7 @@ import 'package:spotube/pages/lyrics/lyrics.dart'; import 'package:spotube/provider/authentication_provider.dart'; import 'package:spotube/provider/proxy_playlist/proxy_playlist_provider.dart'; import 'package:spotube/utils/type_conversion_utils.dart'; +import 'package:url_launcher/url_launcher_string.dart'; class PlayerView extends HookConsumerWidget { final PanelController panelController; @@ -137,6 +138,21 @@ class PlayerView extends HookConsumerWidget { onPressed: panelController.close, ), actions: [ + IconButton( + icon: Assets.logos.songlink.image( + width: 20, + height: 20, + ), + tooltip: context.l10n.song_link, + onPressed: currentTrack == null + ? null + : () { + final url = + "https://song.link/s/${currentTrack.id}"; + + launchUrlString(url); + }, + ), IconButton( icon: const Icon(SpotubeIcons.info, size: 18), tooltip: context.l10n.details, diff --git a/lib/components/shared/track_tile/track_options.dart b/lib/components/shared/track_tile/track_options.dart index 419f61a4..a094259d 100644 --- a/lib/components/shared/track_tile/track_options.dart +++ b/lib/components/shared/track_tile/track_options.dart @@ -7,6 +7,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:go_router/go_router.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotify/spotify.dart'; +import 'package:spotube/collections/assets.gen.dart'; import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/components/library/user_local_tracks.dart'; import 'package:spotube/components/shared/adaptive/adaptive_pop_sheet_list.dart'; @@ -26,10 +27,12 @@ import 'package:spotube/provider/spotify_provider.dart'; import 'package:spotube/services/mutations/mutations.dart'; import 'package:spotube/services/queries/search.dart'; import 'package:spotube/utils/type_conversion_utils.dart'; +import 'package:url_launcher/url_launcher_string.dart'; enum TrackOptionValue { album, share, + songlink, addToPlaylist, addToQueue, removeFromPlaylist, @@ -165,6 +168,7 @@ class TrackOptions extends HookConsumerWidget { final scaffoldMessenger = ScaffoldMessenger.of(context); final mediaQuery = MediaQuery.of(context); final router = GoRouter.of(context); + final ThemeData(:colorScheme) = Theme.of(context); final playlist = ref.watch(ProxyPlaylistNotifier.provider); final playback = ref.watch(ProxyPlaylistNotifier.notifier); @@ -276,6 +280,10 @@ class TrackOptions extends HookConsumerWidget { case TrackOptionValue.share: actionShare(context, track); break; + case TrackOptionValue.songlink: + final url = "https://song.link/s/${track.id}"; + await launchUrlString(url); + break; case TrackOptionValue.details: showDialog( context: context, @@ -418,6 +426,15 @@ class TrackOptions extends HookConsumerWidget { leading: const Icon(SpotubeIcons.share), title: Text(context.l10n.share), ), + PopSheetEntry( + value: TrackOptionValue.songlink, + leading: Assets.logos.songlinkTransparent.image( + width: 22, + height: 22, + color: colorScheme.onSurface.withOpacity(0.5), + ), + title: Text(context.l10n.song_link), + ), PopSheetEntry( value: TrackOptionValue.details, leading: const Icon(SpotubeIcons.info), diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index a3c93546..6b684d48 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -294,5 +294,6 @@ "endless_playback": "Endless Playback", "delete_playlist": "Delete Playlist", "delete_playlist_confirmation": "Are you sure you want to delete this playlist?", - "local_tracks": "Local Tracks" + "local_tracks": "Local Tracks", + "song_link": "Song Link" } \ No newline at end of file diff --git a/lib/services/song_link/model.dart b/lib/services/song_link/model.dart new file mode 100644 index 00000000..ae9d3833 --- /dev/null +++ b/lib/services/song_link/model.dart @@ -0,0 +1,19 @@ +part of './song_link.dart'; + +@freezed +class SongLink with _$SongLink { + const factory SongLink({ + required String displayName, + required String linkId, + required String platform, + required bool show, + required String? uniqueId, + required String? country, + required String? url, + required String? nativeAppUriMobile, + required String? nativeAppUriDesktop, + }) = _SongLink; + + factory SongLink.fromJson(Map json) => + _$SongLinkFromJson(json); +} diff --git a/lib/services/song_link/song_link.dart b/lib/services/song_link/song_link.dart new file mode 100644 index 00000000..c3d73f23 --- /dev/null +++ b/lib/services/song_link/song_link.dart @@ -0,0 +1,47 @@ +library song_link; + +import 'dart:convert'; + +import 'package:dio/dio.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:html/parser.dart'; + +part 'model.dart'; + +part 'song_link.freezed.dart'; +part 'song_link.g.dart'; + +abstract class SongLinkService { + static Future> links(String spotifyId) async { + final dio = Dio(); + + final res = await dio.get( + "https://song.link/s/$spotifyId", + options: Options( + headers: { + "Accept": + "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "User-Agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" + }, + responseType: ResponseType.plain, + ), + ); + + final document = parse(res.data); + + final script = document.getElementById("__NEXT_DATA__")?.text; + + if (script == null) { + return []; + } + + final pageProps = jsonDecode(script) as Map; + final songLinks = + pageProps["props"]["pageProps"]["pageData"]["sections"].firstWhere( + (section) => section["sectionId"] == "section|auto|links|listen", + )["links"] as List; + + return songLinks.map((link) => SongLink.fromJson(link)).toList(); + } +} diff --git a/lib/services/song_link/song_link.freezed.dart b/lib/services/song_link/song_link.freezed.dart new file mode 100644 index 00000000..a8230eeb --- /dev/null +++ b/lib/services/song_link/song_link.freezed.dart @@ -0,0 +1,320 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'song_link.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +SongLink _$SongLinkFromJson(Map json) { + return _SongLink.fromJson(json); +} + +/// @nodoc +mixin _$SongLink { + String get displayName => throw _privateConstructorUsedError; + String get linkId => throw _privateConstructorUsedError; + String get platform => throw _privateConstructorUsedError; + bool get show => throw _privateConstructorUsedError; + String? get uniqueId => throw _privateConstructorUsedError; + String? get country => throw _privateConstructorUsedError; + String? get url => throw _privateConstructorUsedError; + String? get nativeAppUriMobile => throw _privateConstructorUsedError; + String? get nativeAppUriDesktop => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $SongLinkCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $SongLinkCopyWith<$Res> { + factory $SongLinkCopyWith(SongLink value, $Res Function(SongLink) then) = + _$SongLinkCopyWithImpl<$Res, SongLink>; + @useResult + $Res call( + {String displayName, + String linkId, + String platform, + bool show, + String? uniqueId, + String? country, + String? url, + String? nativeAppUriMobile, + String? nativeAppUriDesktop}); +} + +/// @nodoc +class _$SongLinkCopyWithImpl<$Res, $Val extends SongLink> + implements $SongLinkCopyWith<$Res> { + _$SongLinkCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? displayName = null, + Object? linkId = null, + Object? platform = null, + Object? show = null, + Object? uniqueId = freezed, + Object? country = freezed, + Object? url = freezed, + Object? nativeAppUriMobile = freezed, + Object? nativeAppUriDesktop = freezed, + }) { + return _then(_value.copyWith( + displayName: null == displayName + ? _value.displayName + : displayName // ignore: cast_nullable_to_non_nullable + as String, + linkId: null == linkId + ? _value.linkId + : linkId // ignore: cast_nullable_to_non_nullable + as String, + platform: null == platform + ? _value.platform + : platform // ignore: cast_nullable_to_non_nullable + as String, + show: null == show + ? _value.show + : show // ignore: cast_nullable_to_non_nullable + as bool, + uniqueId: freezed == uniqueId + ? _value.uniqueId + : uniqueId // ignore: cast_nullable_to_non_nullable + as String?, + country: freezed == country + ? _value.country + : country // ignore: cast_nullable_to_non_nullable + as String?, + url: freezed == url + ? _value.url + : url // ignore: cast_nullable_to_non_nullable + as String?, + nativeAppUriMobile: freezed == nativeAppUriMobile + ? _value.nativeAppUriMobile + : nativeAppUriMobile // ignore: cast_nullable_to_non_nullable + as String?, + nativeAppUriDesktop: freezed == nativeAppUriDesktop + ? _value.nativeAppUriDesktop + : nativeAppUriDesktop // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$SongLinkImplCopyWith<$Res> + implements $SongLinkCopyWith<$Res> { + factory _$$SongLinkImplCopyWith( + _$SongLinkImpl value, $Res Function(_$SongLinkImpl) then) = + __$$SongLinkImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String displayName, + String linkId, + String platform, + bool show, + String? uniqueId, + String? country, + String? url, + String? nativeAppUriMobile, + String? nativeAppUriDesktop}); +} + +/// @nodoc +class __$$SongLinkImplCopyWithImpl<$Res> + extends _$SongLinkCopyWithImpl<$Res, _$SongLinkImpl> + implements _$$SongLinkImplCopyWith<$Res> { + __$$SongLinkImplCopyWithImpl( + _$SongLinkImpl _value, $Res Function(_$SongLinkImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? displayName = null, + Object? linkId = null, + Object? platform = null, + Object? show = null, + Object? uniqueId = freezed, + Object? country = freezed, + Object? url = freezed, + Object? nativeAppUriMobile = freezed, + Object? nativeAppUriDesktop = freezed, + }) { + return _then(_$SongLinkImpl( + displayName: null == displayName + ? _value.displayName + : displayName // ignore: cast_nullable_to_non_nullable + as String, + linkId: null == linkId + ? _value.linkId + : linkId // ignore: cast_nullable_to_non_nullable + as String, + platform: null == platform + ? _value.platform + : platform // ignore: cast_nullable_to_non_nullable + as String, + show: null == show + ? _value.show + : show // ignore: cast_nullable_to_non_nullable + as bool, + uniqueId: freezed == uniqueId + ? _value.uniqueId + : uniqueId // ignore: cast_nullable_to_non_nullable + as String?, + country: freezed == country + ? _value.country + : country // ignore: cast_nullable_to_non_nullable + as String?, + url: freezed == url + ? _value.url + : url // ignore: cast_nullable_to_non_nullable + as String?, + nativeAppUriMobile: freezed == nativeAppUriMobile + ? _value.nativeAppUriMobile + : nativeAppUriMobile // ignore: cast_nullable_to_non_nullable + as String?, + nativeAppUriDesktop: freezed == nativeAppUriDesktop + ? _value.nativeAppUriDesktop + : nativeAppUriDesktop // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$SongLinkImpl implements _SongLink { + const _$SongLinkImpl( + {required this.displayName, + required this.linkId, + required this.platform, + required this.show, + required this.uniqueId, + required this.country, + required this.url, + required this.nativeAppUriMobile, + required this.nativeAppUriDesktop}); + + factory _$SongLinkImpl.fromJson(Map json) => + _$$SongLinkImplFromJson(json); + + @override + final String displayName; + @override + final String linkId; + @override + final String platform; + @override + final bool show; + @override + final String? uniqueId; + @override + final String? country; + @override + final String? url; + @override + final String? nativeAppUriMobile; + @override + final String? nativeAppUriDesktop; + + @override + String toString() { + return 'SongLink(displayName: $displayName, linkId: $linkId, platform: $platform, show: $show, uniqueId: $uniqueId, country: $country, url: $url, nativeAppUriMobile: $nativeAppUriMobile, nativeAppUriDesktop: $nativeAppUriDesktop)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$SongLinkImpl && + (identical(other.displayName, displayName) || + other.displayName == displayName) && + (identical(other.linkId, linkId) || other.linkId == linkId) && + (identical(other.platform, platform) || + other.platform == platform) && + (identical(other.show, show) || other.show == show) && + (identical(other.uniqueId, uniqueId) || + other.uniqueId == uniqueId) && + (identical(other.country, country) || other.country == country) && + (identical(other.url, url) || other.url == url) && + (identical(other.nativeAppUriMobile, nativeAppUriMobile) || + other.nativeAppUriMobile == nativeAppUriMobile) && + (identical(other.nativeAppUriDesktop, nativeAppUriDesktop) || + other.nativeAppUriDesktop == nativeAppUriDesktop)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, displayName, linkId, platform, + show, uniqueId, country, url, nativeAppUriMobile, nativeAppUriDesktop); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$SongLinkImplCopyWith<_$SongLinkImpl> get copyWith => + __$$SongLinkImplCopyWithImpl<_$SongLinkImpl>(this, _$identity); + + @override + Map toJson() { + return _$$SongLinkImplToJson( + this, + ); + } +} + +abstract class _SongLink implements SongLink { + const factory _SongLink( + {required final String displayName, + required final String linkId, + required final String platform, + required final bool show, + required final String? uniqueId, + required final String? country, + required final String? url, + required final String? nativeAppUriMobile, + required final String? nativeAppUriDesktop}) = _$SongLinkImpl; + + factory _SongLink.fromJson(Map json) = + _$SongLinkImpl.fromJson; + + @override + String get displayName; + @override + String get linkId; + @override + String get platform; + @override + bool get show; + @override + String? get uniqueId; + @override + String? get country; + @override + String? get url; + @override + String? get nativeAppUriMobile; + @override + String? get nativeAppUriDesktop; + @override + @JsonKey(ignore: true) + _$$SongLinkImplCopyWith<_$SongLinkImpl> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/services/song_link/song_link.g.dart b/lib/services/song_link/song_link.g.dart new file mode 100644 index 00000000..911849e3 --- /dev/null +++ b/lib/services/song_link/song_link.g.dart @@ -0,0 +1,33 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'song_link.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$SongLinkImpl _$$SongLinkImplFromJson(Map json) => + _$SongLinkImpl( + displayName: json['displayName'] as String, + linkId: json['linkId'] as String, + platform: json['platform'] as String, + show: json['show'] as bool, + uniqueId: json['uniqueId'] as String?, + country: json['country'] as String?, + url: json['url'] as String?, + nativeAppUriMobile: json['nativeAppUriMobile'] as String?, + nativeAppUriDesktop: json['nativeAppUriDesktop'] as String?, + ); + +Map _$$SongLinkImplToJson(_$SongLinkImpl instance) => + { + 'displayName': instance.displayName, + 'linkId': instance.linkId, + 'platform': instance.platform, + 'show': instance.show, + 'uniqueId': instance.uniqueId, + 'country': instance.country, + 'url': instance.url, + 'nativeAppUriMobile': instance.nativeAppUriMobile, + 'nativeAppUriDesktop': instance.nativeAppUriDesktop, + }; diff --git a/lib/services/sourced_track/sources/youtube.dart b/lib/services/sourced_track/sources/youtube.dart index 5f75c4db..3fc78f0b 100644 --- a/lib/services/sourced_track/sources/youtube.dart +++ b/lib/services/sourced_track/sources/youtube.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:http/http.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/models/source_match.dart'; +import 'package:spotube/services/song_link/song_link.dart'; import 'package:spotube/services/sourced_track/enums.dart'; import 'package:spotube/services/sourced_track/exceptions.dart'; import 'package:spotube/services/sourced_track/models/source_info.dart'; @@ -216,6 +217,20 @@ class YoutubeSourcedTrack extends SourcedTrack { required Track track, required Ref ref, }) async { + final links = await SongLinkService.links(track.id!); + final ytLink = links.firstWhereOrNull((link) => link.platform == "youtube"); + + if (ytLink?.url != null) { + return [ + await toSiblingType( + 0, + YoutubeVideoInfo.fromVideo( + await youtubeClient.videos.get(ytLink!.url!), + ), + ) + ]; + } + final query = SourcedTrack.getSearchTerm(track); final searchResults = await youtubeClient.search.search( diff --git a/lib/songlink.dart b/lib/songlink.dart new file mode 100644 index 00000000..65aae7e3 --- /dev/null +++ b/lib/songlink.dart @@ -0,0 +1,43 @@ +import 'dart:convert'; + +import 'package:html/parser.dart'; +import 'package:dio/dio.dart'; + +void main(List args) async { + final dio = Dio(); + + final spotifyId = args[0]; + + print("Fetching song link for $spotifyId"); + + final res = await dio.get( + "https://song.link/s/$spotifyId", + options: Options( + headers: { + "Accept": + "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "User-Agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" + }, + responseType: ResponseType.plain, + ), + ); + + final document = parse(res.data); + + final script = document.getElementById("__NEXT_DATA__")?.text; + + if (script == null) { + throw Exception("Could not find __NEXT_DATA__ script tag."); + } + + final pageProps = jsonDecode(script) as Map; + final songLinks = + pageProps["props"]["pageProps"]["pageData"]["sections"].firstWhere( + (section) => section["sectionId"] == "section|auto|links|listen", + )["links"]; + + for (final link in songLinks) { + print("${link["platform"]} - ${link["url"]}"); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 82377d08..9bacf6dd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -153,6 +153,7 @@ flutter: assets: - assets/ - assets/tutorial/ + - assets/logos/ - LICENSE flutter_launcher_icons: diff --git a/untranslated_messages.json b/untranslated_messages.json index 41251435..cc14528c 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -7,7 +7,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "bn": [ @@ -18,7 +19,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "ca": [ @@ -29,7 +31,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "de": [ @@ -40,7 +43,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "es": [ @@ -51,7 +55,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "fa": [ @@ -62,7 +67,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "fr": [ @@ -73,7 +79,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "hi": [ @@ -84,7 +91,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "it": [ @@ -95,7 +103,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "ja": [ @@ -106,7 +115,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "ne": [ @@ -117,7 +127,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "nl": [ @@ -129,7 +140,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "pl": [ @@ -140,7 +152,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "pt": [ @@ -151,7 +164,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "ru": [ @@ -162,7 +176,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "tr": [ @@ -173,7 +188,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "uk": [ @@ -184,7 +200,8 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ], "zh": [ @@ -195,6 +212,7 @@ "endless_playback", "delete_playlist", "delete_playlist_confirmation", - "local_tracks" + "local_tracks", + "song_link" ] } From ca7140650512d88743f7fe2f8d8596b8f757e3b9 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 25 Feb 2024 11:14:00 +0600 Subject: [PATCH 27/33] chore: remove residual files --- lib/songlink.dart | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 lib/songlink.dart diff --git a/lib/songlink.dart b/lib/songlink.dart deleted file mode 100644 index 65aae7e3..00000000 --- a/lib/songlink.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'dart:convert'; - -import 'package:html/parser.dart'; -import 'package:dio/dio.dart'; - -void main(List args) async { - final dio = Dio(); - - final spotifyId = args[0]; - - print("Fetching song link for $spotifyId"); - - final res = await dio.get( - "https://song.link/s/$spotifyId", - options: Options( - headers: { - "Accept": - "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", - "User-Agent": - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" - }, - responseType: ResponseType.plain, - ), - ); - - final document = parse(res.data); - - final script = document.getElementById("__NEXT_DATA__")?.text; - - if (script == null) { - throw Exception("Could not find __NEXT_DATA__ script tag."); - } - - final pageProps = jsonDecode(script) as Map; - final songLinks = - pageProps["props"]["pageProps"]["pageData"]["sections"].firstWhere( - (section) => section["sectionId"] == "section|auto|links|listen", - )["links"]; - - for (final link in songLinks) { - print("${link["platform"]} - ${link["url"]}"); - } -} From 96a2a1f5a622cb3c580041417d5023e37fa69716 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 25 Feb 2024 22:01:38 +0600 Subject: [PATCH 28/33] feat: add getting started page --- lib/collections/intents.dart | 3 +- lib/collections/language_codes.dart | 5 + lib/collections/routes.dart | 313 ++++++++++-------- lib/collections/spotube_icons.dart | 3 + lib/components/getting_started/blur_card.dart | 31 ++ lib/hooks/configurators/use_deep_linking.dart | 2 + lib/main.dart | 5 + .../getting_started/getting_started.dart | 93 ++++++ .../getting_started/sections/greeting.dart | 54 +++ .../getting_started/sections/playback.dart | 154 +++++++++ .../getting_started/sections/region.dart | 129 ++++++++ .../getting_started/sections/support.dart | 131 ++++++++ lib/pages/settings/sections/appearance.dart | 179 +++++----- lib/services/kv_store/kv_store.dart | 15 + lib/utils/persisted_state_notifier.dart | 4 +- 15 files changed, 896 insertions(+), 225 deletions(-) create mode 100644 lib/components/getting_started/blur_card.dart create mode 100644 lib/pages/getting_started/getting_started.dart create mode 100644 lib/pages/getting_started/sections/greeting.dart create mode 100644 lib/pages/getting_started/sections/playback.dart create mode 100644 lib/pages/getting_started/sections/region.dart create mode 100644 lib/pages/getting_started/sections/support.dart create mode 100644 lib/services/kv_store/kv_store.dart diff --git a/lib/collections/intents.dart b/lib/collections/intents.dart index abccb3ad..6f42113c 100644 --- a/lib/collections/intents.dart +++ b/lib/collections/intents.dart @@ -4,8 +4,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; -import 'package:spotube/components/player/player_controls.dart'; import 'package:spotube/collections/routes.dart'; +import 'package:spotube/components/player/player_controls.dart'; import 'package:spotube/models/logger.dart'; import 'package:spotube/provider/proxy_playlist/proxy_playlist_provider.dart'; import 'package:spotube/services/audio_player/audio_player.dart'; @@ -64,6 +64,7 @@ class HomeTabIntent extends Intent { class HomeTabAction extends Action { @override invoke(intent) { + final router = intent.ref.read(routerProvider); switch (intent.tab) { case HomeTabs.browse: router.go("/"); diff --git a/lib/collections/language_codes.dart b/lib/collections/language_codes.dart index 4554de63..e3b71d3f 100644 --- a/lib/collections/language_codes.dart +++ b/lib/collections/language_codes.dart @@ -6,6 +6,11 @@ class ISOLanguageName { required this.name, required this.nativeName, }); + + @override + String toString() { + return "$name ($nativeName)"; + } } // Uncomment the languages as we add support for them diff --git a/lib/collections/routes.dart b/lib/collections/routes.dart index 3e2c42e0..7b0d836d 100644 --- a/lib/collections/routes.dart +++ b/lib/collections/routes.dart @@ -2,8 +2,10 @@ import 'package:catcher_2/catcher_2.dart'; import 'package:flutter/foundation.dart' hide Category; import 'package:flutter/widgets.dart'; import 'package:go_router/go_router.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotify/spotify.dart' hide Search; import 'package:spotube/pages/album/album.dart'; +import 'package:spotube/pages/getting_started/getting_started.dart'; import 'package:spotube/pages/home/genres/genre_playlists.dart'; import 'package:spotube/pages/home/genres/genres.dart'; import 'package:spotube/pages/home/home.dart'; @@ -18,6 +20,8 @@ import 'package:spotube/pages/settings/blacklist.dart'; import 'package:spotube/pages/settings/about.dart'; import 'package:spotube/pages/settings/logs.dart'; import 'package:spotube/pages/track/track.dart'; +import 'package:spotube/provider/authentication_provider.dart'; +import 'package:spotube/services/kv_store/kv_store.dart'; import 'package:spotube/utils/platform.dart'; import 'package:spotube/components/shared/spotube_page_route.dart'; import 'package:spotube/pages/artist/artist.dart'; @@ -31,157 +35,180 @@ import 'package:spotube/pages/mobile_login/mobile_login.dart'; final rootNavigatorKey = Catcher2.navigatorKey; final shellRouteNavigatorKey = GlobalKey(); -final router = GoRouter( - navigatorKey: rootNavigatorKey, - routes: [ - ShellRoute( - navigatorKey: shellRouteNavigatorKey, - builder: (context, state, child) => RootApp(child: child), - routes: [ - GoRoute( - path: "/", - pageBuilder: (context, state) => const SpotubePage(child: HomePage()), - routes: [ - GoRoute( - path: "genres", - pageBuilder: (context, state) => - const SpotubePage(child: GenrePage()), - ), - GoRoute( - path: "genre/:categoryId", - pageBuilder: (context, state) => SpotubePage( - child: GenrePlaylistsPage( - category: state.extra as Category, - ), - ), - ), - ], - ), - GoRoute( - path: "/search", - name: "Search", - pageBuilder: (context, state) => - const SpotubePage(child: SearchPage()), - ), - GoRoute( - path: "/library", - name: "Library", +final routerProvider = Provider((ref) { + return GoRouter( + navigatorKey: rootNavigatorKey, + routes: [ + ShellRoute( + navigatorKey: shellRouteNavigatorKey, + builder: (context, state, child) => RootApp(child: child), + routes: [ + GoRoute( + path: "/", + redirect: (context, state) async { + final authNotifier = + ref.read(AuthenticationNotifier.provider.notifier); + final json = await authNotifier.box.get(authNotifier.cacheKey); + + if (json["cookie"] == null && + !KVStoreService.doneGettingStarted) { + return "/getting-started"; + } + + return null; + }, pageBuilder: (context, state) => - const SpotubePage(child: LibraryPage()), + const SpotubePage(child: HomePage()), routes: [ GoRoute( - path: "generate", - pageBuilder: (context, state) => - const SpotubePage(child: PlaylistGeneratorPage()), - routes: [ - GoRoute( - path: "result", - pageBuilder: (context, state) => SpotubePage( - child: PlaylistGenerateResultPage( - state: - state.extra as PlaylistGenerateResultRouteState, - ), - ), - ), - ]), - ]), - GoRoute( - path: "/lyrics", - name: "Lyrics", - pageBuilder: (context, state) => - const SpotubePage(child: LyricsPage()), - ), - GoRoute( - path: "/settings", - pageBuilder: (context, state) => const SpotubePage( - child: SettingsPage(), - ), - routes: [ - GoRoute( - path: "blacklist", - pageBuilder: (context, state) => SpotubeSlidePage( - child: const BlackListPage(), + path: "genres", + pageBuilder: (context, state) => + const SpotubePage(child: GenrePage()), ), - ), - if (!kIsWeb) GoRoute( - path: "logs", - pageBuilder: (context, state) => SpotubeSlidePage( - child: const LogsPage(), + path: "genre/:categoryId", + pageBuilder: (context, state) => SpotubePage( + child: GenrePlaylistsPage( + category: state.extra as Category, + ), ), ), - GoRoute( - path: "about", - pageBuilder: (context, state) => SpotubeSlidePage( - child: const AboutSpotube(), - ), + ], + ), + GoRoute( + path: "/search", + name: "Search", + pageBuilder: (context, state) => + const SpotubePage(child: SearchPage()), + ), + GoRoute( + path: "/library", + name: "Library", + pageBuilder: (context, state) => + const SpotubePage(child: LibraryPage()), + routes: [ + GoRoute( + path: "generate", + pageBuilder: (context, state) => + const SpotubePage(child: PlaylistGeneratorPage()), + routes: [ + GoRoute( + path: "result", + pageBuilder: (context, state) => SpotubePage( + child: PlaylistGenerateResultPage( + state: + state.extra as PlaylistGenerateResultRouteState, + ), + ), + ), + ]), + ]), + GoRoute( + path: "/lyrics", + name: "Lyrics", + pageBuilder: (context, state) => + const SpotubePage(child: LyricsPage()), + ), + GoRoute( + path: "/settings", + pageBuilder: (context, state) => const SpotubePage( + child: SettingsPage(), ), - ], - ), - GoRoute( - path: "/album/:id", - pageBuilder: (context, state) { - assert(state.extra is AlbumSimple); - return SpotubePage( - child: AlbumPage(album: state.extra as AlbumSimple), - ); - }, - ), - GoRoute( - path: "/artist/:id", - pageBuilder: (context, state) { - assert(state.pathParameters["id"] != null); - return SpotubePage(child: ArtistPage(state.pathParameters["id"]!)); - }, - ), - GoRoute( - path: "/playlist/:id", - pageBuilder: (context, state) { - assert(state.extra is PlaylistSimple); - return SpotubePage( - child: state.pathParameters["id"] == "user-liked-tracks" - ? LikedPlaylistPage(playlist: state.extra as PlaylistSimple) - : PlaylistPage(playlist: state.extra as PlaylistSimple), - ); - }, - ), - GoRoute( - path: "/track/:id", - pageBuilder: (context, state) { - final id = state.pathParameters["id"]!; - return SpotubePage( - child: TrackPage(trackId: id), - ); - }, - ), - ], - ), - GoRoute( - path: "/mini-player", - parentNavigatorKey: rootNavigatorKey, - pageBuilder: (context, state) => SpotubePage( - child: MiniLyricsPage(prevSize: state.extra as Size), + routes: [ + GoRoute( + path: "blacklist", + pageBuilder: (context, state) => SpotubeSlidePage( + child: const BlackListPage(), + ), + ), + if (!kIsWeb) + GoRoute( + path: "logs", + pageBuilder: (context, state) => SpotubeSlidePage( + child: const LogsPage(), + ), + ), + GoRoute( + path: "about", + pageBuilder: (context, state) => SpotubeSlidePage( + child: const AboutSpotube(), + ), + ), + ], + ), + GoRoute( + path: "/album/:id", + pageBuilder: (context, state) { + assert(state.extra is AlbumSimple); + return SpotubePage( + child: AlbumPage(album: state.extra as AlbumSimple), + ); + }, + ), + GoRoute( + path: "/artist/:id", + pageBuilder: (context, state) { + assert(state.pathParameters["id"] != null); + return SpotubePage( + child: ArtistPage(state.pathParameters["id"]!)); + }, + ), + GoRoute( + path: "/playlist/:id", + pageBuilder: (context, state) { + assert(state.extra is PlaylistSimple); + return SpotubePage( + child: state.pathParameters["id"] == "user-liked-tracks" + ? LikedPlaylistPage(playlist: state.extra as PlaylistSimple) + : PlaylistPage(playlist: state.extra as PlaylistSimple), + ); + }, + ), + GoRoute( + path: "/track/:id", + pageBuilder: (context, state) { + final id = state.pathParameters["id"]!; + return SpotubePage( + child: TrackPage(trackId: id), + ); + }, + ), + ], ), - ), - GoRoute( - path: "/login", - parentNavigatorKey: rootNavigatorKey, - pageBuilder: (context, state) => SpotubePage( - child: kIsMobile ? const WebViewLogin() : const DesktopLoginPage(), + GoRoute( + path: "/mini-player", + parentNavigatorKey: rootNavigatorKey, + pageBuilder: (context, state) => SpotubePage( + child: MiniLyricsPage(prevSize: state.extra as Size), + ), ), - ), - GoRoute( - path: "/login-tutorial", - parentNavigatorKey: rootNavigatorKey, - pageBuilder: (context, state) => const SpotubePage( - child: LoginTutorial(), + GoRoute( + path: "/getting-started", + parentNavigatorKey: rootNavigatorKey, + pageBuilder: (context, state) => const SpotubePage( + child: GettingStarting(), + ), ), - ), - GoRoute( - path: "/lastfm-login", - parentNavigatorKey: rootNavigatorKey, - pageBuilder: (context, state) => - const SpotubePage(child: LastFMLoginPage()), - ), - ], -); + GoRoute( + path: "/login", + parentNavigatorKey: rootNavigatorKey, + pageBuilder: (context, state) => SpotubePage( + child: kIsMobile ? const WebViewLogin() : const DesktopLoginPage(), + ), + ), + GoRoute( + path: "/login-tutorial", + parentNavigatorKey: rootNavigatorKey, + pageBuilder: (context, state) => const SpotubePage( + child: LoginTutorial(), + ), + ), + GoRoute( + path: "/lastfm-login", + parentNavigatorKey: rootNavigatorKey, + pageBuilder: (context, state) => + const SpotubePage(child: LastFMLoginPage()), + ), + ], + ); +}); diff --git a/lib/collections/spotube_icons.dart b/lib/collections/spotube_icons.dart index c00643ce..6cf92085 100644 --- a/lib/collections/spotube_icons.dart +++ b/lib/collections/spotube_icons.dart @@ -112,4 +112,7 @@ abstract class SpotubeIcons { static const discord = SimpleIcons.discord; static const youtube = SimpleIcons.youtube; static const radio = FeatherIcons.radio; + static const github = SimpleIcons.github; + static const openCollective = SimpleIcons.opencollective; + static const anonymous = FeatherIcons.user; } diff --git a/lib/components/getting_started/blur_card.dart b/lib/components/getting_started/blur_card.dart new file mode 100644 index 00000000..db887013 --- /dev/null +++ b/lib/components/getting_started/blur_card.dart @@ -0,0 +1,31 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +class BlurCard extends HookConsumerWidget { + final Widget child; + const BlurCard({super.key, required this.child}); + + @override + Widget build(BuildContext context, ref) { + return Container( + margin: const EdgeInsets.all(16.0), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(16), + ), + constraints: const BoxConstraints(maxWidth: 400), + clipBehavior: Clip.antiAlias, + child: SizedBox( + width: double.infinity, + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 20, sigmaY: 20), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: child, + ), + ), + ), + ); + } +} diff --git a/lib/hooks/configurators/use_deep_linking.dart b/lib/hooks/configurators/use_deep_linking.dart index 3b7ec3f3..f11a1cff 100644 --- a/lib/hooks/configurators/use_deep_linking.dart +++ b/lib/hooks/configurators/use_deep_linking.dart @@ -19,6 +19,8 @@ void useDeepLinking(WidgetRef ref) { final spotify = ref.watch(spotifyProvider); final queryClient = useQueryClient(); + final router = ref.watch(routerProvider); + useEffect(() { void uriListener(List files) async { for (final file in files) { diff --git a/lib/main.dart b/lib/main.dart index b6afa85c..31c1da57 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,6 +29,7 @@ import 'package:spotube/provider/user_preferences/user_preferences_provider.dart import 'package:spotube/services/audio_player/audio_player.dart'; import 'package:spotube/services/cli/cli.dart'; import 'package:spotube/services/connectivity_adapter.dart'; +import 'package:spotube/services/kv_store/kv_store.dart'; import 'package:spotube/themes/theme.dart'; import 'package:spotube/utils/persisted_state_notifier.dart'; import 'package:system_theme/system_theme.dart'; @@ -68,6 +69,9 @@ Future main(List rawArgs) async { DiscordRPC.initialize(); } + await KVStoreService.initialize(); + KVStoreService.doneGettingStarted = false; + final hiveCacheDir = kIsWeb ? null : (await getApplicationSupportDirectory()).path; @@ -184,6 +188,7 @@ class SpotubeState extends ConsumerState { final locale = ref.watch(userPreferencesProvider.select((s) => s.locale)); final paletteColor = ref.watch(paletteProvider.select((s) => s?.dominantColor?.color)); + final router = ref.watch(routerProvider); useDisableBatteryOptimizations(); useInitSysTray(ref); diff --git a/lib/pages/getting_started/getting_started.dart b/lib/pages/getting_started/getting_started.dart new file mode 100644 index 00000000..47cfda03 --- /dev/null +++ b/lib/pages/getting_started/getting_started.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:spotube/collections/assets.gen.dart'; +import 'package:spotube/components/shared/page_window_title_bar.dart'; +import 'package:spotube/pages/getting_started/sections/greeting.dart'; +import 'package:spotube/pages/getting_started/sections/playback.dart'; +import 'package:spotube/pages/getting_started/sections/region.dart'; +import 'package:spotube/pages/getting_started/sections/support.dart'; + +class GettingStarting extends HookConsumerWidget { + const GettingStarting({super.key}); + + @override + Widget build(BuildContext context, ref) { + final ThemeData(:colorScheme) = Theme.of(context); + final pageController = usePageController(); + + final onNext = useCallback(() { + pageController.nextPage( + duration: const Duration(milliseconds: 300), + curve: Curves.easeInOut, + ); + }, [pageController]); + + final onPrevious = useCallback(() { + pageController.previousPage( + duration: const Duration(milliseconds: 300), + curve: Curves.easeInOut, + ); + }, [pageController]); + + return Scaffold( + appBar: PageWindowTitleBar( + backgroundColor: Colors.transparent, + actions: [ + ListenableBuilder( + listenable: pageController, + builder: (context, _) { + return AnimatedSwitcher( + duration: const Duration(milliseconds: 300), + child: pageController.hasClients && + (pageController.page == 0 || pageController.page == 3) + ? const SizedBox() + : TextButton( + onPressed: () { + pageController.animateToPage( + 3, + duration: const Duration(milliseconds: 300), + curve: Curves.easeInOut, + ); + }, + child: Text( + "Skip this nonsense", + style: TextStyle( + decoration: TextDecoration.underline, + decorationColor: colorScheme.primary, + ), + ), + ), + ); + }, + ), + ], + ), + extendBodyBehindAppBar: true, + body: DecoratedBox( + decoration: BoxDecoration( + image: DecorationImage( + image: Assets.bengaliPatternsBg.provider(), + fit: BoxFit.cover, + colorFilter: ColorFilter.mode( + colorScheme.background.withOpacity(0.2), + BlendMode.srcOver, + ), + ), + ), + child: PageView( + controller: pageController, + children: [ + GettingStartedPageGreetingSection(onNext: onNext), + GettingStartedPageLanguageRegionSection(onNext: onNext), + GettingStartedPagePlaybackSection( + onNext: onNext, + onPrevious: onPrevious, + ), + const GettingStartedScreenSupportSection(), + ], + ), + ), + ); + } +} diff --git a/lib/pages/getting_started/sections/greeting.dart b/lib/pages/getting_started/sections/greeting.dart new file mode 100644 index 00000000..459500e3 --- /dev/null +++ b/lib/pages/getting_started/sections/greeting.dart @@ -0,0 +1,54 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:spotube/collections/assets.gen.dart'; +import 'package:spotube/collections/spotube_icons.dart'; +import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/utils/platform.dart'; + +class GettingStartedPageGreetingSection extends HookConsumerWidget { + final VoidCallback onNext; + const GettingStartedPageGreetingSection({super.key, required this.onNext}); + + @override + Widget build(BuildContext context, ref) { + final ThemeData(:textTheme) = Theme.of(context); + + return Center( + child: BlurCard( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Assets.spotubeLogoPng.image(height: 200), + const Gap(24), + Text( + "Spotube", + style: + textTheme.titleLarge?.copyWith(fontWeight: FontWeight.bold), + ), + const Gap(4), + Text( + "“Freedom of music${kIsMobile ? "in the palm of your hands" : ""}”", + textAlign: TextAlign.center, + style: textTheme.titleMedium?.copyWith( + fontWeight: FontWeight.w300, + fontStyle: FontStyle.italic, + ), + ), + const Gap(84), + Directionality( + textDirection: TextDirection.rtl, + child: FilledButton.icon( + onPressed: onNext, + icon: const Icon(SpotubeIcons.angleRight), + label: const Text("Let's get started"), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/pages/getting_started/sections/playback.dart b/lib/pages/getting_started/sections/playback.dart new file mode 100644 index 00000000..03d11f9b --- /dev/null +++ b/lib/pages/getting_started/sections/playback.dart @@ -0,0 +1,154 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:spotube/collections/assets.gen.dart'; +import 'package:spotube/collections/spotube_icons.dart'; +import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/extensions/context.dart'; +import 'package:spotube/provider/user_preferences/user_preferences_provider.dart'; +import 'package:spotube/provider/user_preferences/user_preferences_state.dart'; + +final audioSourceToIconMap = { + AudioSource.youtube: const Icon( + SpotubeIcons.youtube, + color: Colors.red, + size: 30, + ), + AudioSource.piped: const Icon(SpotubeIcons.piped, size: 30), + AudioSource.jiosaavn: Assets.jiosaavn.image(width: 48, height: 48), +}; + +final audioSourceToDescription = { + AudioSource.youtube: + "Recommended and works best.\nHighest quality: 148kbps mp4, 128kbps opus", + AudioSource.piped: "Feeling free? Same as YouTube but a lot free", + AudioSource.jiosaavn: + "Best for South Asian region.\nHighest quality: 320kbps mp4", +}; + +class GettingStartedPagePlaybackSection extends HookConsumerWidget { + final VoidCallback onNext; + final VoidCallback onPrevious; + + const GettingStartedPagePlaybackSection({ + super.key, + required this.onNext, + required this.onPrevious, + }); + + @override + Widget build(BuildContext context, ref) { + final ThemeData(:textTheme, :colorScheme, :dividerColor) = + Theme.of(context); + final preferences = ref.watch(userPreferencesProvider); + final preferencesNotifier = ref.read(userPreferencesProvider.notifier); + + return Center( + child: BlurCard( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + const Icon(SpotubeIcons.album, size: 16), + const Gap(8), + Text(context.l10n.playback, style: textTheme.titleMedium), + ], + ), + const Gap(16), + ListTile( + title: Text("Select Audio Source", style: textTheme.titleMedium), + ), + const Gap(16), + ToggleButtons( + isSelected: [ + for (final source in AudioSource.values) + preferences.audioSource == source, + ], + onPressed: (index) { + preferencesNotifier.setAudioSource(AudioSource.values[index]); + }, + borderRadius: BorderRadius.circular(8), + children: [ + for (final source in AudioSource.values) + SizedBox.square( + dimension: 84, + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + audioSourceToIconMap[source]!, + const Gap(8), + Text( + source.name, + style: textTheme.bodySmall!.copyWith( + color: preferences.audioSource == source + ? colorScheme.primary + : null, + ), + ), + ], + ), + ), + ], + ), + ListTile( + title: Align( + alignment: switch (preferences.audioSource) { + AudioSource.youtube => Alignment.centerLeft, + AudioSource.piped => Alignment.center, + AudioSource.jiosaavn => Alignment.centerRight, + }, + child: Text( + audioSourceToDescription[preferences.audioSource]!, + style: textTheme.bodySmall?.copyWith( + color: dividerColor, + ), + ), + ), + ), + const Gap(16), + ListTile( + title: Text(context.l10n.endless_playback), + subtitle: Text( + "Automatically append new songs\nto the end of the queue", + style: textTheme.bodySmall?.copyWith( + color: dividerColor, + ), + ), + onTap: () { + preferencesNotifier + .setEndlessPlayback(!preferences.endlessPlayback); + }, + trailing: Switch( + value: preferences.endlessPlayback, + onChanged: (value) { + preferencesNotifier.setEndlessPlayback(value); + }, + ), + ), + const Gap(34), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + FilledButton.icon( + icon: const Icon(SpotubeIcons.angleLeft), + label: Text(context.l10n.previous), + onPressed: onPrevious, + ), + Directionality( + textDirection: TextDirection.rtl, + child: FilledButton.icon( + icon: const Icon(SpotubeIcons.angleRight), + label: Text(context.l10n.next), + onPressed: onNext, + ), + ), + ], + ), + ], + ), + ), + ); + } +} diff --git a/lib/pages/getting_started/sections/region.dart b/lib/pages/getting_started/sections/region.dart new file mode 100644 index 00000000..23885d50 --- /dev/null +++ b/lib/pages/getting_started/sections/region.dart @@ -0,0 +1,129 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:spotube/collections/language_codes.dart'; +import 'package:spotube/collections/spotify_markets.dart'; +import 'package:spotube/collections/spotube_icons.dart'; +import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/extensions/context.dart'; +import 'package:spotube/l10n/l10n.dart'; +import 'package:spotube/provider/user_preferences/user_preferences_provider.dart'; + +class GettingStartedPageLanguageRegionSection extends HookConsumerWidget { + final void Function() onNext; + const GettingStartedPageLanguageRegionSection( + {super.key, required this.onNext}); + + @override + Widget build(BuildContext context, ref) { + final ThemeData(:textTheme, :dividerColor) = Theme.of(context); + final preferences = ref.watch(userPreferencesProvider); + + return SafeArea( + child: Center( + child: BlurCard( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + const Icon( + SpotubeIcons.language, + size: 16, + ), + const SizedBox(width: 8), + Text( + "Language and Region", + style: textTheme.titleMedium, + ), + ], + ), + const Gap(48), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "Choose your region", + style: textTheme.titleSmall, + ), + Text( + "This will help us show you the right content\nfor your location.", + style: textTheme.bodySmall?.copyWith( + color: dividerColor, + ), + ), + const Gap(16), + DropdownMenu( + initialSelection: preferences.recommendationMarket, + onSelected: (value) { + if (value == null) return; + ref + .read(userPreferencesProvider.notifier) + .setRecommendationMarket(value); + }, + hintText: preferences.recommendationMarket.name, + label: Text(context.l10n.market_place_region), + inputDecorationTheme: + const InputDecorationTheme(isDense: true), + dropdownMenuEntries: [ + for (final market in spotifyMarkets) + DropdownMenuEntry( + value: market.$1, + label: market.$2, + ), + ], + ), + const Gap(36), + Text( + "Choose your language", + style: textTheme.titleSmall, + ), + const Gap(16), + DropdownMenu( + initialSelection: preferences.locale, + onSelected: (locale) { + if (locale == null) return; + ref + .read(userPreferencesProvider.notifier) + .setLocale(locale); + }, + hintText: context.l10n.system_default, + label: Text(context.l10n.language), + inputDecorationTheme: + const InputDecorationTheme(isDense: true), + dropdownMenuEntries: [ + DropdownMenuEntry( + value: const Locale("system", "system"), + label: context.l10n.system_default, + ), + for (final locale in L10n.all) + DropdownMenuEntry( + value: locale, + label: LanguageLocals.getDisplayLanguage( + locale.languageCode) + .toString(), + ), + ], + ), + ], + ), + const Gap(48), + Align( + alignment: Alignment.centerRight, + child: Directionality( + textDirection: TextDirection.rtl, + child: FilledButton.icon( + icon: const Icon(SpotubeIcons.angleRight), + label: Text(context.l10n.next), + onPressed: onNext, + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/pages/getting_started/sections/support.dart b/lib/pages/getting_started/sections/support.dart new file mode 100644 index 00000000..9b798f56 --- /dev/null +++ b/lib/pages/getting_started/sections/support.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:go_router/go_router.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:spotube/collections/spotube_icons.dart'; +import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/services/kv_store/kv_store.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + +class GettingStartedScreenSupportSection extends HookConsumerWidget { + const GettingStartedScreenSupportSection({super.key}); + + @override + Widget build(BuildContext context, ref) { + final ThemeData(:textTheme, :colorScheme) = Theme.of(context); + + return Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + BlurCard( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + const Icon(SpotubeIcons.heartFilled, color: Colors.pink), + const SizedBox(width: 8), + Text( + "Help this project grow", + style: + textTheme.titleMedium?.copyWith(color: Colors.pink), + ), + ], + ), + const Gap(16), + const Text( + "Spotube is an open-source project. You can help this project grow by contributing to the project, reporting bugs, or suggesting new features.", + ), + const Gap(16), + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + FilledButton.icon( + icon: const Icon(SpotubeIcons.github), + label: const Text("Contribute on GitHub"), + style: FilledButton.styleFrom( + backgroundColor: Colors.black, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + onPressed: () async { + await launchUrlString( + "https://github.com/KRTirtho/spotube", + mode: LaunchMode.externalApplication, + ); + }, + ), + const Gap(16), + FilledButton.icon( + icon: const Icon(SpotubeIcons.openCollective), + label: const Text("Donate on Open Collective"), + style: FilledButton.styleFrom( + backgroundColor: const Color(0xff4cb7f6), + foregroundColor: Colors.white, + ), + onPressed: () async { + await launchUrlString( + "https://opencollective.com/spotube", + mode: LaunchMode.externalApplication, + ); + }, + ), + ], + ), + ], + ), + ), + const Gap(48), + ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 250), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + DecoratedBox( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + gradient: LinearGradient( + colors: [ + colorScheme.primary, + colorScheme.secondary, + ], + ), + ), + child: TextButton.icon( + icon: const Icon(SpotubeIcons.anonymous), + label: const Text("Browse anonymously"), + style: TextButton.styleFrom( + foregroundColor: Colors.white, + ), + onPressed: () { + KVStoreService.doneGettingStarted = true; + context.go("/"); + }, + ), + ), + const Gap(16), + FilledButton.icon( + icon: const Icon(SpotubeIcons.spotify), + label: const Text("Connect Spotify Account"), + style: FilledButton.styleFrom( + backgroundColor: const Color(0xff1db954), + foregroundColor: Colors.white, + ), + onPressed: () { + KVStoreService.doneGettingStarted = true; + context.push("/login"); + }, + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages/settings/sections/appearance.dart b/lib/pages/settings/sections/appearance.dart index 5de36c63..3d941212 100644 --- a/lib/pages/settings/sections/appearance.dart +++ b/lib/pages/settings/sections/appearance.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/components/settings/color_scheme_picker_dialog.dart'; @@ -10,7 +11,11 @@ import 'package:spotube/provider/user_preferences/user_preferences_provider.dart import 'package:spotube/provider/user_preferences/user_preferences_state.dart'; class SettingsAppearanceSection extends HookConsumerWidget { - const SettingsAppearanceSection({Key? key}) : super(key: key); + final bool isGettingStarted; + const SettingsAppearanceSection({ + Key? key, + this.isGettingStarted = false, + }) : super(key: key); @override Widget build(BuildContext context, ref) { @@ -24,87 +29,101 @@ class SettingsAppearanceSection extends HookConsumerWidget { }); }, []); + final children = [ + AdaptiveSelectTile( + secondary: const Icon(SpotubeIcons.dashboard), + title: Text(context.l10n.layout_mode), + subtitle: Text(context.l10n.override_layout_settings), + value: preferences.layoutMode, + onChanged: (value) { + if (value != null) { + preferencesNotifier.setLayoutMode(value); + } + }, + options: [ + DropdownMenuItem( + value: LayoutMode.adaptive, + child: Text(context.l10n.adaptive), + ), + DropdownMenuItem( + value: LayoutMode.compact, + child: Text(context.l10n.compact), + ), + DropdownMenuItem( + value: LayoutMode.extended, + child: Text(context.l10n.extended), + ), + ], + ), + AdaptiveSelectTile( + secondary: const Icon(SpotubeIcons.darkMode), + title: Text(context.l10n.theme), + value: preferences.themeMode, + options: [ + DropdownMenuItem( + value: ThemeMode.dark, + child: Text(context.l10n.dark), + ), + DropdownMenuItem( + value: ThemeMode.light, + child: Text(context.l10n.light), + ), + DropdownMenuItem( + value: ThemeMode.system, + child: Text(context.l10n.system), + ), + ], + onChanged: (value) { + if (value != null) { + preferencesNotifier.setThemeMode(value); + } + }, + ), + SwitchListTile( + secondary: const Icon(SpotubeIcons.amoled), + title: Text(context.l10n.use_amoled_mode), + subtitle: Text(context.l10n.pitch_dark_theme), + value: preferences.amoledDarkTheme, + onChanged: preferencesNotifier.setAmoledDarkTheme, + ), + ListTile( + leading: const Icon(SpotubeIcons.palette), + title: Text(context.l10n.accent_color), + contentPadding: const EdgeInsets.symmetric( + horizontal: 15, + vertical: 5, + ), + trailing: ColorTile.compact( + color: preferences.accentColorScheme, + onPressed: pickColorScheme(), + isActive: true, + ), + onTap: pickColorScheme(), + ), + SwitchListTile( + secondary: const Icon(SpotubeIcons.colorSync), + title: Text(context.l10n.sync_album_color), + subtitle: Text(context.l10n.sync_album_color_description), + value: preferences.albumColorSync, + onChanged: preferencesNotifier.setAlbumColorSync, + ), + ]; + + if (isGettingStarted) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + for (final child in children) ...[ + child, + const Gap(16), + ], + ], + ); + } + return SectionCardWithHeading( heading: context.l10n.appearance, - children: [ - AdaptiveSelectTile( - secondary: const Icon(SpotubeIcons.dashboard), - title: Text(context.l10n.layout_mode), - subtitle: Text(context.l10n.override_layout_settings), - value: preferences.layoutMode, - onChanged: (value) { - if (value != null) { - preferencesNotifier.setLayoutMode(value); - } - }, - options: [ - DropdownMenuItem( - value: LayoutMode.adaptive, - child: Text(context.l10n.adaptive), - ), - DropdownMenuItem( - value: LayoutMode.compact, - child: Text(context.l10n.compact), - ), - DropdownMenuItem( - value: LayoutMode.extended, - child: Text(context.l10n.extended), - ), - ], - ), - AdaptiveSelectTile( - secondary: const Icon(SpotubeIcons.darkMode), - title: Text(context.l10n.theme), - value: preferences.themeMode, - options: [ - DropdownMenuItem( - value: ThemeMode.dark, - child: Text(context.l10n.dark), - ), - DropdownMenuItem( - value: ThemeMode.light, - child: Text(context.l10n.light), - ), - DropdownMenuItem( - value: ThemeMode.system, - child: Text(context.l10n.system), - ), - ], - onChanged: (value) { - if (value != null) { - preferencesNotifier.setThemeMode(value); - } - }, - ), - SwitchListTile( - secondary: const Icon(SpotubeIcons.amoled), - title: Text(context.l10n.use_amoled_mode), - subtitle: Text(context.l10n.pitch_dark_theme), - value: preferences.amoledDarkTheme, - onChanged: preferencesNotifier.setAmoledDarkTheme, - ), - ListTile( - leading: const Icon(SpotubeIcons.palette), - title: Text(context.l10n.accent_color), - contentPadding: const EdgeInsets.symmetric( - horizontal: 15, - vertical: 5, - ), - trailing: ColorTile.compact( - color: preferences.accentColorScheme, - onPressed: pickColorScheme(), - isActive: true, - ), - onTap: pickColorScheme(), - ), - SwitchListTile( - secondary: const Icon(SpotubeIcons.colorSync), - title: Text(context.l10n.sync_album_color), - subtitle: Text(context.l10n.sync_album_color_description), - value: preferences.albumColorSync, - onChanged: preferencesNotifier.setAlbumColorSync, - ), - ], + children: children, ); } } diff --git a/lib/services/kv_store/kv_store.dart b/lib/services/kv_store/kv_store.dart new file mode 100644 index 00000000..6f6807e0 --- /dev/null +++ b/lib/services/kv_store/kv_store.dart @@ -0,0 +1,15 @@ +import 'package:shared_preferences/shared_preferences.dart'; + +abstract class KVStoreService { + static SharedPreferences? _sharedPreferences; + static SharedPreferences get sharedPreferences => _sharedPreferences!; + + static Future initialize() async { + _sharedPreferences = await SharedPreferences.getInstance(); + } + + static bool get doneGettingStarted => + sharedPreferences.getBool('doneGettingStarted') ?? false; + static set doneGettingStarted(bool value) => + sharedPreferences.setBool('doneGettingStarted', value); +} diff --git a/lib/utils/persisted_state_notifier.dart b/lib/utils/persisted_state_notifier.dart index 218cd64a..60f7b96e 100644 --- a/lib/utils/persisted_state_notifier.dart +++ b/lib/utils/persisted_state_notifier.dart @@ -119,7 +119,9 @@ abstract class PersistedStateNotifier extends StateNotifier { Future _load() async { final json = await box.get(cacheKey); - if (json != null) { + if (json != null || + (json is Map && json.entries.isNotEmpty) || + (json is List && json.isNotEmpty)) { state = await fromJson(castNestedJson(json)); } } From a850ed270b9412a69fb4717cc0ce6368e59e1c65 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 25 Feb 2024 22:06:47 +0600 Subject: [PATCH 29/33] chore: add error handling in song link --- lib/services/song_link/song_link.dart | 55 +++++++++++++++------------ 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/lib/services/song_link/song_link.dart b/lib/services/song_link/song_link.dart index c3d73f23..b02f60cb 100644 --- a/lib/services/song_link/song_link.dart +++ b/lib/services/song_link/song_link.dart @@ -2,6 +2,7 @@ library song_link; import 'dart:convert'; +import 'package:catcher_2/catcher_2.dart'; import 'package:dio/dio.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:html/parser.dart'; @@ -12,36 +13,42 @@ part 'song_link.freezed.dart'; part 'song_link.g.dart'; abstract class SongLinkService { + static final dio = Dio(); static Future> links(String spotifyId) async { - final dio = Dio(); + try { + final res = await dio.get( + "https://song.link/s/$spotifyId", + options: Options( + headers: { + "Accept": + "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "User-Agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" + }, + responseType: ResponseType.plain, + ), + ); - final res = await dio.get( - "https://song.link/s/$spotifyId", - options: Options( - headers: { - "Accept": - "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", - "User-Agent": - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" - }, - responseType: ResponseType.plain, - ), - ); + final document = parse(res.data); - final document = parse(res.data); + final script = document.getElementById("__NEXT_DATA__")?.text; - final script = document.getElementById("__NEXT_DATA__")?.text; + if (script == null) { + return []; + } - if (script == null) { + final pageProps = jsonDecode(script) as Map; + final songLinks = pageProps["props"]?["pageProps"]?["pageData"] + ?["sections"] + ?.firstWhere( + (section) => section?["sectionId"] == "section|auto|links|listen", + )?["links"] as List?; + + return songLinks?.map((link) => SongLink.fromJson(link)).toList() ?? + []; + } catch (e, stackTrace) { + Catcher2.reportCheckedError(e, stackTrace); return []; } - - final pageProps = jsonDecode(script) as Map; - final songLinks = - pageProps["props"]["pageProps"]["pageData"]["sections"].firstWhere( - (section) => section["sectionId"] == "section|auto|links|listen", - )["links"] as List; - - return songLinks.map((link) => SongLink.fromJson(link)).toList(); } } From 17105a640bf5107bd5d333b9b4d097c14a3949a2 Mon Sep 17 00:00:00 2001 From: olivier2 Date: Sun, 25 Feb 2024 11:26:06 -0500 Subject: [PATCH 30/33] fix(android): audio issue when screen is off and broadcast audio session id (#1221 & #1247) * this change fixes the garbled audio on my Pixel 6a while the screen is off. Not familiar with libmpv, but seems to favor audiotrack audio output over opensles. KRTirtho/spotube#571 * get audio session id, send it to AudioTrack in libmpv, broadcast it to other apps. Fixes KRTirtho/spotube#1221 --------- Co-authored-by: Kingkor Roy Tirtho --- .../audio_player/mk_state_player.dart | 46 ++++++++++++++++++- pubspec.yaml | 1 + 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/lib/services/audio_player/mk_state_player.dart b/lib/services/audio_player/mk_state_player.dart index a556afec..04df7111 100644 --- a/lib/services/audio_player/mk_state_player.dart +++ b/lib/services/audio_player/mk_state_player.dart @@ -1,8 +1,11 @@ import 'dart:async'; - +import 'package:flutter_desktop_tools/flutter_desktop_tools.dart'; import 'package:catcher_2/catcher_2.dart'; import 'package:collection/collection.dart'; import 'package:media_kit/media_kit.dart'; +import 'package:flutter_broadcasts/flutter_broadcasts.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'package:audio_session/audio_session.dart'; // ignore: implementation_imports import 'package:spotube/services/audio_player/playback_state.dart'; @@ -14,6 +17,13 @@ class MkPlayerWithState extends Player { final StreamController _shuffleStream; final StreamController _loopModeStream; + static const String EXTRA_PACKAGE_NAME = "android.media.extra.PACKAGE_NAME"; + static const String EXTRA_AUDIO_SESSION = "android.media.extra.AUDIO_SESSION"; + static const String ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION = + "android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION"; + static const String ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION = + "android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION"; + late final List _subscriptions; bool _shuffled; @@ -21,6 +31,9 @@ class MkPlayerWithState extends Player { Playlist? _playlist; List? _tempMedias; + int _androidAudioSessionId = 0; + String _packageName = ""; + AndroidAudioManager? _androidAudioManager; MkPlayerWithState({super.configuration}) : _playerStateStream = StreamController.broadcast(), @@ -64,6 +77,34 @@ class MkPlayerWithState extends Player { Catcher2.reportCheckedError('[MediaKitError] \n$event', null); }), ]; + PackageInfo.fromPlatform().then((packageInfo) { + _packageName = packageInfo.packageName; + }); + if (DesktopTools.platform.isAndroid) { + _androidAudioManager = AndroidAudioManager(); + AudioSession.instance.then((s) async { + _androidAudioSessionId = + await _androidAudioManager!.generateAudioSessionId(); + notifyAudioSessionUpdate(true); + + nativePlayer.setProperty( + "audiotrack-session-id", _androidAudioSessionId.toString()); + nativePlayer.setProperty("ao", "audiotrack,opensles,"); + }); + } + } + + Future notifyAudioSessionUpdate(bool active) async { + if (DesktopTools.platform.isAndroid) { + sendBroadcast(BroadcastMessage( + name: active + ? ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION + : ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION, + data: { + EXTRA_AUDIO_SESSION: _androidAudioSessionId, + EXTRA_PACKAGE_NAME: _packageName + })); + } } bool get shuffled => _shuffled; @@ -140,10 +181,11 @@ class MkPlayerWithState extends Player { } @override - Future dispose() { + Future dispose() async { for (var element in _subscriptions) { element.cancel(); } + await notifyAudioSessionUpdate(false); return super.dispose(); } diff --git a/pubspec.yaml b/pubspec.yaml index 9bacf6dd..53da7ba7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -124,6 +124,7 @@ dependencies: app_links: ^3.5.0 win32_registry: ^1.1.2 flutter_sharing_intent: ^1.1.0 + flutter_broadcasts: ^0.4.0 freezed_annotation: ^2.4.1 dev_dependencies: From 4d6af8c0a7c685840b5c28ff95a0f4aec4b9e0c3 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 25 Feb 2024 22:48:27 +0600 Subject: [PATCH 31/33] chore: add translations for getting started screen --- lib/l10n/app_en.arb | 20 +- .../getting_started/getting_started.dart | 3 +- .../getting_started/sections/greeting.dart | 9 +- .../getting_started/sections/playback.dart | 27 +- .../getting_started/sections/region.dart | 8 +- .../getting_started/sections/support.dart | 15 +- untranslated_messages.json | 360 +++++++++++++++++- 7 files changed, 396 insertions(+), 46 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 6b684d48..8257eac9 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -295,5 +295,23 @@ "delete_playlist": "Delete Playlist", "delete_playlist_confirmation": "Are you sure you want to delete this playlist?", "local_tracks": "Local Tracks", - "song_link": "Song Link" + "song_link": "Song Link", + "skip_this_nonsense": "Skip this nonsense", + "freedom_of_music": "“Freedom of Music”", + "freedom_of_music_palm": "“Freedom of Music in the palm of your hand”", + "get_started": "Let's get started", + "youtube_source_description": "Recommended and works best.", + "piped_source_description": "Feeling free? Same as YouTube but a lot free.", + "jiosaavn_source_description": "Best for South Asian region.", + "highest_quality": "Highest Quality: {quality}", + "select_audio_source": "Select Audio Source", + "endless_playback_description": "Automatically append new songs\nto the end of the queue", + "choose_your_region": "Choose your region", + "choose_your_region_description": "This will help Spotube show you the right content\nfor your location.", + "choose_your_language": "Choose your language", + "help_project_grow": "Help this project grow", + "help_project_grow_description": "Spotube is an open-source project. You can help this project grow by contributing to the project, reporting bugs, or suggesting new features.", + "contribute_on_github": "Contribute on GitHub", + "donate_on_open_collective": "Donate on Open Collective", + "browse_anonymously": "Browse Anonymously" } \ No newline at end of file diff --git a/lib/pages/getting_started/getting_started.dart b/lib/pages/getting_started/getting_started.dart index 47cfda03..724fb346 100644 --- a/lib/pages/getting_started/getting_started.dart +++ b/lib/pages/getting_started/getting_started.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/collections/assets.gen.dart'; import 'package:spotube/components/shared/page_window_title_bar.dart'; +import 'package:spotube/extensions/context.dart'; import 'package:spotube/pages/getting_started/sections/greeting.dart'; import 'package:spotube/pages/getting_started/sections/playback.dart'; import 'package:spotube/pages/getting_started/sections/region.dart'; @@ -51,7 +52,7 @@ class GettingStarting extends HookConsumerWidget { ); }, child: Text( - "Skip this nonsense", + context.l10n.skip_this_nonsense, style: TextStyle( decoration: TextDecoration.underline, decorationColor: colorScheme.primary, diff --git a/lib/pages/getting_started/sections/greeting.dart b/lib/pages/getting_started/sections/greeting.dart index 459500e3..563e43de 100644 --- a/lib/pages/getting_started/sections/greeting.dart +++ b/lib/pages/getting_started/sections/greeting.dart @@ -1,11 +1,10 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/collections/assets.gen.dart'; import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/extensions/context.dart'; import 'package:spotube/utils/platform.dart'; class GettingStartedPageGreetingSection extends HookConsumerWidget { @@ -30,7 +29,9 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget { ), const Gap(4), Text( - "“Freedom of music${kIsMobile ? "in the palm of your hands" : ""}”", + kIsMobile + ? context.l10n.freedom_of_music_palm + : context.l10n.freedom_of_music, textAlign: TextAlign.center, style: textTheme.titleMedium?.copyWith( fontWeight: FontWeight.w300, @@ -43,7 +44,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget { child: FilledButton.icon( onPressed: onNext, icon: const Icon(SpotubeIcons.angleRight), - label: const Text("Let's get started"), + label: Text(context.l10n.get_started), ), ), ], diff --git a/lib/pages/getting_started/sections/playback.dart b/lib/pages/getting_started/sections/playback.dart index 03d11f9b..e94a06cc 100644 --- a/lib/pages/getting_started/sections/playback.dart +++ b/lib/pages/getting_started/sections/playback.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/collections/assets.gen.dart'; @@ -18,14 +19,6 @@ final audioSourceToIconMap = { AudioSource.jiosaavn: Assets.jiosaavn.image(width: 48, height: 48), }; -final audioSourceToDescription = { - AudioSource.youtube: - "Recommended and works best.\nHighest quality: 148kbps mp4, 128kbps opus", - AudioSource.piped: "Feeling free? Same as YouTube but a lot free", - AudioSource.jiosaavn: - "Best for South Asian region.\nHighest quality: 320kbps mp4", -}; - class GettingStartedPagePlaybackSection extends HookConsumerWidget { final VoidCallback onNext; final VoidCallback onPrevious; @@ -43,6 +36,17 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget { final preferences = ref.watch(userPreferencesProvider); final preferencesNotifier = ref.read(userPreferencesProvider.notifier); + final audioSourceToDescription = useMemoized( + () => { + AudioSource.youtube: "${context.l10n.youtube_source_description}\n" + "${context.l10n.highest_quality("148kbps mp4, 128kbps opus")}", + AudioSource.piped: context.l10n.piped_source_description, + AudioSource.jiosaavn: + "${context.l10n.jiosaavn_source_description}\n" + "${context.l10n.highest_quality("320kbps mp")}", + }, + []); + return Center( child: BlurCard( child: Column( @@ -57,7 +61,10 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget { ), const Gap(16), ListTile( - title: Text("Select Audio Source", style: textTheme.titleMedium), + title: Text( + context.l10n.select_audio_source, + style: textTheme.titleMedium, + ), ), const Gap(16), ToggleButtons( @@ -111,7 +118,7 @@ class GettingStartedPagePlaybackSection extends HookConsumerWidget { ListTile( title: Text(context.l10n.endless_playback), subtitle: Text( - "Automatically append new songs\nto the end of the queue", + context.l10n.endless_playback_description, style: textTheme.bodySmall?.copyWith( color: dividerColor, ), diff --git a/lib/pages/getting_started/sections/region.dart b/lib/pages/getting_started/sections/region.dart index 23885d50..9303392c 100644 --- a/lib/pages/getting_started/sections/region.dart +++ b/lib/pages/getting_started/sections/region.dart @@ -33,7 +33,7 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget { ), const SizedBox(width: 8), Text( - "Language and Region", + context.l10n.language_region, style: textTheme.titleMedium, ), ], @@ -44,11 +44,11 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget { mainAxisSize: MainAxisSize.min, children: [ Text( - "Choose your region", + context.l10n.choose_your_region, style: textTheme.titleSmall, ), Text( - "This will help us show you the right content\nfor your location.", + context.l10n.choose_your_region_description, style: textTheme.bodySmall?.copyWith( color: dividerColor, ), @@ -76,7 +76,7 @@ class GettingStartedPageLanguageRegionSection extends HookConsumerWidget { ), const Gap(36), Text( - "Choose your language", + context.l10n.choose_your_language, style: textTheme.titleSmall, ), const Gap(16), diff --git a/lib/pages/getting_started/sections/support.dart b/lib/pages/getting_started/sections/support.dart index 9b798f56..1be7ca34 100644 --- a/lib/pages/getting_started/sections/support.dart +++ b/lib/pages/getting_started/sections/support.dart @@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/components/getting_started/blur_card.dart'; +import 'package:spotube/extensions/context.dart'; import 'package:spotube/services/kv_store/kv_store.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -28,16 +29,14 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget { const Icon(SpotubeIcons.heartFilled, color: Colors.pink), const SizedBox(width: 8), Text( - "Help this project grow", + context.l10n.help_project_grow, style: textTheme.titleMedium?.copyWith(color: Colors.pink), ), ], ), const Gap(16), - const Text( - "Spotube is an open-source project. You can help this project grow by contributing to the project, reporting bugs, or suggesting new features.", - ), + Text(context.l10n.help_project_grow_description), const Gap(16), Column( mainAxisSize: MainAxisSize.min, @@ -45,7 +44,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget { children: [ FilledButton.icon( icon: const Icon(SpotubeIcons.github), - label: const Text("Contribute on GitHub"), + label: Text(context.l10n.contribute_on_github), style: FilledButton.styleFrom( backgroundColor: Colors.black, foregroundColor: Colors.white, @@ -63,7 +62,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget { const Gap(16), FilledButton.icon( icon: const Icon(SpotubeIcons.openCollective), - label: const Text("Donate on Open Collective"), + label: Text(context.l10n.donate_on_open_collective), style: FilledButton.styleFrom( backgroundColor: const Color(0xff4cb7f6), foregroundColor: Colors.white, @@ -98,7 +97,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget { ), child: TextButton.icon( icon: const Icon(SpotubeIcons.anonymous), - label: const Text("Browse anonymously"), + label: Text(context.l10n.browse_anonymously), style: TextButton.styleFrom( foregroundColor: Colors.white, ), @@ -111,7 +110,7 @@ class GettingStartedScreenSupportSection extends HookConsumerWidget { const Gap(16), FilledButton.icon( icon: const Icon(SpotubeIcons.spotify), - label: const Text("Connect Spotify Account"), + label: Text(context.l10n.connect_with_spotify), style: FilledButton.styleFrom( backgroundColor: const Color(0xff1db954), foregroundColor: Colors.white, diff --git a/untranslated_messages.json b/untranslated_messages.json index cc14528c..3ff7a2f1 100644 --- a/untranslated_messages.json +++ b/untranslated_messages.json @@ -8,7 +8,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "bn": [ @@ -20,7 +38,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "ca": [ @@ -32,7 +68,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "de": [ @@ -44,7 +98,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "es": [ @@ -56,7 +128,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "fa": [ @@ -68,7 +158,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "fr": [ @@ -80,7 +188,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "hi": [ @@ -92,7 +218,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "it": [ @@ -104,7 +248,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "ja": [ @@ -116,7 +278,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "ne": [ @@ -128,7 +308,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "nl": [ @@ -141,7 +339,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "pl": [ @@ -153,7 +369,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "pt": [ @@ -165,7 +399,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "ru": [ @@ -177,7 +429,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "tr": [ @@ -189,7 +459,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "uk": [ @@ -201,7 +489,25 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ], "zh": [ @@ -213,6 +519,24 @@ "delete_playlist", "delete_playlist_confirmation", "local_tracks", - "song_link" + "song_link", + "skip_this_nonsense", + "freedom_of_music", + "freedom_of_music_palm", + "get_started", + "youtube_source_description", + "piped_source_description", + "jiosaavn_source_description", + "highest_quality", + "select_audio_source", + "endless_playback_description", + "choose_your_region", + "choose_your_region_description", + "choose_your_language", + "help_project_grow", + "help_project_grow_description", + "contribute_on_github", + "donate_on_open_collective", + "browse_anonymously" ] } From 1fa6d1f8199b3029b2a90e399bc9eeed522c3a64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:50:08 +0600 Subject: [PATCH 32/33] chore(deps): bump dio from 5.3.3 to 5.4.1 (#1243) Bumps [dio](https://github.com/cfug/dio) from 5.3.3 to 5.4.1. - [Release notes](https://github.com/cfug/dio/releases) - [Commits](https://github.com/cfug/dio/compare/dio_v5.3.3...dio_v5.4.1) --- updated-dependencies: - dependency-name: dio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index b9268b56..eb410177 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -470,10 +470,10 @@ packages: dependency: "direct main" description: name: dio - sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7" + sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" url: "https://pub.dev" source: hosted - version: "5.3.3" + version: "5.4.1" disable_battery_optimization: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 53da7ba7..e953f442 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,7 +27,7 @@ dependencies: dbus: ^0.7.8 device_info_plus: ^9.0.3 device_preview: ^1.1.0 - dio: ^5.3.2 + dio: ^5.4.1 disable_battery_optimization: ^1.1.0+1 duration: ^3.0.12 envied: ^0.3.0 From 59a819be9cf07b9d4c0f1cd0b30a04df878bacdd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:50:40 +0600 Subject: [PATCH 33/33] chore(deps): bump flutter_riverpod from 2.4.3 to 2.4.10 (#1212) Bumps [flutter_riverpod](https://github.com/rrousselGit/riverpod) from 2.4.3 to 2.4.10. - [Commits](https://github.com/rrousselGit/riverpod/compare/flutter_riverpod-v2.4.3...flutter_riverpod-v2.4.10) --- updated-dependencies: - dependency-name: flutter_riverpod dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 80 +++++++++++++++++++++------------------------------- pubspec.yaml | 2 +- 2 files changed, 33 insertions(+), 49 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index eb410177..c31f6dec 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -543,10 +543,10 @@ packages: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "6.1.4" file_picker: dependency: "direct main" description: @@ -855,10 +855,10 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: e667e406a74d67715f1fa0bd941d9ded49aff72f3a9f4440a36aece4e8d457a7 + sha256: "4bce556b7ecbfea26109638d5237684538d4abc509d253e6c5c4c5733b360098" url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.4.10" flutter_rust_bridge: dependency: transitive description: @@ -1078,10 +1078,10 @@ packages: dependency: "direct main" description: name: hooks_riverpod - sha256: "69dcb88acbc68c81fc27ec15a89a4e24b7812c83c13a6307a1a9366ada758541" + sha256: "758b07eba336e3cbacbd81dba481f2228a14102083fdde07045e8514e8054c49" url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.4.10" html: dependency: "direct main" description: @@ -1263,30 +1263,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.2" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" - url: "https://pub.dev" - source: hosted - version: "10.0.0" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 - url: "https://pub.dev" - source: hosted - version: "2.0.1" lints: dependency: transitive description: @@ -1331,18 +1307,18 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.5.0" media_kit: dependency: "direct main" description: @@ -1411,10 +1387,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.10.0" metadata_god: dependency: "direct main" description: @@ -1499,10 +1475,10 @@ packages: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.8.3" path_drawing: dependency: transitive description: @@ -1628,10 +1604,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.2" plugin_platform_interface: dependency: transitive description: @@ -1668,10 +1644,10 @@ packages: dependency: transitive description: name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" url: "https://pub.dev" source: hosted - version: "5.0.2" + version: "4.2.4" provider: dependency: transitive description: @@ -1732,10 +1708,10 @@ packages: dependency: transitive description: name: riverpod - sha256: "494bf2cfb4df30000273d3052bdb1cc1de738574c6b678f0beb146ea56f5e208" + sha256: "548e2192eb7aeb826eb89387f814edb76594f3363e2c0bb99dd733d795ba3589" url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.5.0" rxdart: dependency: transitive description: @@ -2250,10 +2226,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "11.10.0" watcher: dependency: transitive description: @@ -2262,6 +2238,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" web_socket_channel: dependency: transitive description: @@ -2274,10 +2258,10 @@ packages: dependency: transitive description: name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.2" wikipedia_api: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index e953f442..86366aa7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -50,7 +50,7 @@ dependencies: flutter_localizations: sdk: flutter flutter_native_splash: ^2.3.3 - flutter_riverpod: ^2.4.3 + flutter_riverpod: ^2.4.10 flutter_secure_storage: ^9.0.0 flutter_svg: ^1.1.6 form_validator: ^2.1.1