From 8af1ae303df588de03fbcf0149c2b773c46fccd8 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Sun, 6 Nov 2022 20:45:50 +0100 Subject: [PATCH] feat: add related playlists --- codegen/src/download_testfiles.rs | 25 + src/client/music_playlist.rs | 17 +- src/client/pagination.rs | 56 +- src/client/response/music_item.rs | 12 +- ...ylist__tests__map_music_playlist_long.snap | 6 + ...st__tests__map_music_playlist_nomusic.snap | 6 + ...list__tests__map_music_playlist_short.snap | 6 + ...gination__tests__map_playlist_related.snap | 204 + src/model/mod.rs | 2 + .../music_playlist/playlist_related.json | 4367 +++++++++++++++++ tests/youtube.rs | 27 +- 11 files changed, 4712 insertions(+), 16 deletions(-) create mode 100644 src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_related.snap create mode 100644 testfiles/music_playlist/playlist_related.json diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index 0dc6325..3b54f3d 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -40,6 +40,7 @@ pub async fn download_testfiles(project_root: &Path) { music_playlist(&testfiles).await; music_playlist_cont(&testfiles).await; + music_playlist_related(&testfiles).await; music_album(&testfiles).await; music_search(&testfiles).await; music_search_tracks(&testfiles).await; @@ -535,6 +536,30 @@ async fn music_playlist_cont(testfiles: &Path) { playlist.tracks.next(&rp.query()).await.unwrap().unwrap(); } +async fn music_playlist_related(testfiles: &Path) { + let mut json_path = testfiles.to_path_buf(); + json_path.push("music_playlist"); + json_path.push("playlist_related.json"); + if json_path.exists() { + return; + } + + let rp = RustyPipe::new(); + let playlist = rp + .query() + .music_playlist("PL5dDx681T4bR7ZF1IuWzOv1omlRbE7PiJ") + .await + .unwrap(); + + let rp = rp_testfile(&json_path); + playlist + .related_playlists + .next(&rp.query()) + .await + .unwrap() + .unwrap(); +} + async fn music_album(testfiles: &Path) { for (name, id) in [ ("one_artist", "MPREb_nlBWQROfvjo"), diff --git a/src/client/music_playlist.rs b/src/client/music_playlist.rs index 5cf7a05..87ed521 100644 --- a/src/client/music_playlist.rs +++ b/src/client/music_playlist.rs @@ -63,12 +63,13 @@ impl MapResponse for response::MusicPlaylist { let header = self.header.music_detail_header_renderer; let mut content = self.contents.single_column_browse_results_renderer.contents; - let mut shelf = content + let mut music_contents = content .try_swap_remove(0) .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))? .tab_renderer .content - .section_list_renderer + .section_list_renderer; + let mut shelf = music_contents .contents .into_iter() .find_map(|section| match section { @@ -121,6 +122,11 @@ impl MapResponse for response::MusicPlaylist { None => Some(map_res.c.len() as u64), }; + let related_ctoken = music_contents + .continuations + .try_swap_remove(0) + .map(|c| c.next_continuation_data.continuation); + Ok(MapResult { c: MusicPlaylist { id: playlist_id, @@ -137,6 +143,13 @@ impl MapResponse for response::MusicPlaylist { None, crate::param::ContinuationEndpoint::MusicBrowse, ), + related_playlists: Paginator::new_ext( + None, + Vec::new(), + related_ctoken, + None, + crate::param::ContinuationEndpoint::MusicBrowse, + ), }, warnings: map_res.warnings, }) diff --git a/src/client/pagination.rs b/src/client/pagination.rs index 5a47ce1..47e58ee 100644 --- a/src/client/pagination.rs +++ b/src/client/pagination.rs @@ -128,12 +128,34 @@ impl MapResponse> for response::MusicContinuation { _deobf: Option<&crate::deobfuscate::Deobfuscator>, ) -> Result>, ExtractionError> { let mut mapper = MusicListMapper::new(lang); - let mut shelf = self.continuation_contents.music_shelf_continuation; - mapper.map_response(shelf.contents); - let map_res = mapper.items(); + let mut continuations = Vec::new(); - let ctoken = shelf - .continuations + match self.continuation_contents { + response::music_item::ContinuationContents::MusicShelfContinuation(mut shelf) => { + mapper.map_response(shelf.contents); + continuations.append(&mut shelf.continuations); + } + response::music_item::ContinuationContents::SectionListContinuation(contents) => { + for c in contents.contents { + match c { + response::music_item::ItemSection::MusicShelfRenderer(mut shelf) => { + mapper.map_response(shelf.contents); + continuations.append(&mut shelf.continuations); + } + response::music_item::ItemSection::MusicCarouselShelfRenderer { + contents, + .. + } => { + mapper.map_response(contents); + } + response::music_item::ItemSection::None => {} + } + } + } + } + + let map_res = mapper.items(); + let ctoken = continuations .try_swap_remove(0) .map(|cont| cont.next_continuation_data.continuation); @@ -281,7 +303,7 @@ mod tests { use rstest::rstest; use super::*; - use crate::model::{PlaylistItem, TrackItem}; + use crate::model::{MusicPlaylistItem, PlaylistItem, TrackItem}; use crate::param::Language; #[rstest] @@ -352,4 +374,26 @@ mod tests { ); insta::assert_ron_snapshot!(format!("map_{}", name), paginator); } + + #[rstest] + #[case("playlist_related", "music_playlist/playlist_related")] + fn map_continuation_music_playlists(#[case] name: &str, #[case] path: &str) { + let filename = format!("testfiles/{}.json", path); + let json_path = Path::new(&filename); + let json_file = File::open(json_path).unwrap(); + + let items: response::MusicContinuation = + serde_json::from_reader(BufReader::new(json_file)).unwrap(); + let map_res: MapResult> = + items.map_response("", Language::En, None).unwrap(); + let paginator: Paginator = + map_ytm_paginator(map_res.c, None, ContinuationEndpoint::MusicBrowse); + + assert!( + map_res.warnings.is_empty(), + "deserialization/mapping warnings: {:?}", + map_res.warnings + ); + insta::assert_ron_snapshot!(format!("map_{}", name), paginator); + } } diff --git a/src/client/response/music_item.rs b/src/client/response/music_item.rs index 16ee6da..26da4ec 100644 --- a/src/client/response/music_item.rs +++ b/src/client/response/music_item.rs @@ -17,7 +17,7 @@ use crate::{ use super::{ url_endpoint::{BrowseEndpointWrap, NavigationEndpoint, PageType}, - MusicContinuationData, ThumbnailsWrap, + ContentsRenderer, MusicContinuationData, ThumbnailsWrap, }; #[serde_as] @@ -156,16 +156,15 @@ pub(crate) struct PlaylistItemData { pub video_id: String, } +#[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicContentsRenderer { pub contents: Vec, - /* /// Continuation token for fetching recommended items #[serde(default)] #[serde_as(as = "VecSkipError<_>")] - pub continuations: Vec, - */ + pub continuations: Vec, } #[derive(Debug, Deserialize)] @@ -204,9 +203,10 @@ pub(crate) struct MusicContinuation { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct ContinuationContents { +pub(crate) enum ContinuationContents { #[serde(alias = "musicPlaylistShelfContinuation")] - pub music_shelf_continuation: MusicShelf, + MusicShelfContinuation(MusicShelf), + SectionListContinuation(ContentsRenderer), } #[derive(Debug, Deserialize)] diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap index 7b036aa..d803b92 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap @@ -2268,4 +2268,10 @@ MusicPlaylist( ctoken: Some("4qmFsgI-EiRWTFBMNWREeDY4MVQ0YlI3WkYxSXVXek92MW9tbFJiRTdQaUoaFmVnWlFWRHBEUjFtU0FRTUl1Z1ElM0Q%3D"), endpoint: music_browse, ), + related_playlists: Paginator( + count: None, + items: [], + ctoken: Some("4qmFsgIwEiRWTFBMNWREeDY4MVQ0YlI3WkYxSXVXek92MW9tbFJiRTdQaUoaCGtnRURDTTBH"), + endpoint: music_browse, + ), ) diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap index f3ad6bf..8bfe2fb 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap @@ -1488,4 +1488,10 @@ MusicPlaylist( ctoken: None, endpoint: music_browse, ), + related_playlists: Paginator( + count: None, + items: [], + ctoken: Some("4qmFsgIwEiRWTFBMMUotNkpPY2tadEVfUDlYeDhEM2IyTzZ3MGlkaHVLQmUaCGtnRURDTTBH"), + endpoint: music_browse, + ), ) diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap index e1f3b36..abfb4b3 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap @@ -2048,4 +2048,10 @@ MusicPlaylist( ctoken: None, endpoint: music_browse, ), + related_playlists: Paginator( + count: None, + items: [], + ctoken: Some("4qmFsgI5Ei1WTFJEQ0xBSzV1eV9rRlFYZG5xTWFRQ1Z4MndwVU00WmZic0dDRGliWnRrSmsaCGtnRURDTTBH"), + endpoint: music_browse, + ), ) diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_related.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_related.snap new file mode 100644 index 0000000..b2b5175 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_related.snap @@ -0,0 +1,204 @@ +--- +source: src/client/pagination.rs +expression: paginator +--- +Paginator( + count: Some(10), + items: [ + MusicPlaylistItem( + id: "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8", + name: "Party Schlager", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/xrAa318NOyL334j4P3KOeuvMh2NdaC3zbcRfdP2VPQ3o_MDthD0ueeMTh-Hfk5kzmkp73nH8enOH1as=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/xrAa318NOyL334j4P3KOeuvMh2NdaC3zbcRfdP2VPQ3o_MDthD0ueeMTh-Hfk5kzmkp73nH8enOH1as=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA", + name: "Happy German Pop", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/vqBjVRRp93TYop30YxN84sS9ITPVBWYCpzGMBBv-1KVpoQaS0kLixwXYTMX8p84wWrMRj-IrWipg6rE=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/vqBjVRRp93TYop30YxN84sS9ITPVBWYCpzGMBBv-1KVpoQaS0kLixwXYTMX8p84wWrMRj-IrWipg6rE=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA", + name: "Oktoberfest", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/_wFTtKjF2JrQPeF4FGAJeayJD1p5I24gLf92WZc7Q6M5uOMSVouuSOB0iS7jlV6vG18kMViPjBmgW6Y=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/_wFTtKjF2JrQPeF4FGAJeayJD1p5I24gLf92WZc7Q6M5uOMSVouuSOB0iS7jlV6vG18kMViPjBmgW6Y=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E", + name: "\'10s German Pop", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/slwtKgp4BHop8sstyZ2YRVKhg-cOpcFx2vWSmBaeBP4bloW0gVe6eJcqFcO-4VkjfUTDJTdcIrzGoch6=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/slwtKgp4BHop8sstyZ2YRVKhg-cOpcFx2vWSmBaeBP4bloW0gVe6eJcqFcO-4VkjfUTDJTdcIrzGoch6=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY", + name: "\'10s Schlager", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Lmxml0utaSLguhcR3Fre_60dbUfF-T87l4KouMD_nWdVEz32sn4RNOZNOLiqhBjMf0bs4LnFPSsUdJY=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Lmxml0utaSLguhcR3Fre_60dbUfF-T87l4KouMD_nWdVEz32sn4RNOZNOLiqhBjMf0bs4LnFPSsUdJY=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc", + name: "German Pop Throwback", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/gCaww9YpZ-Th2I6Y7mTarqo_JJPkBerhUPTchgu06VowkRZc8ndS9Efa-AIz5uqKoGWiNf32YzkFUQ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/gCaww9YpZ-Th2I6Y7mTarqo_JJPkBerhUPTchgu06VowkRZc8ndS9Efa-AIz5uqKoGWiNf32YzkFUQ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0", + name: "Presenting Mark Forster", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/ZarhsSrgS22O6JwaZl4FfgeXOtaVyq0GWZKTLCrByxYgQhrEVRj1oP4MO__moYmQuKCRB1BB67JDZfg=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ZarhsSrgS22O6JwaZl4FfgeXOtaVyq0GWZKTLCrByxYgQhrEVRj1oP4MO__moYmQuKCRB1BB67JDZfg=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn", + name: "German Pop", + thumbnail: [ + Thumbnail( + url: "https://yt3.ggpht.com/DN7nE9pKDZ6gU-k6TJbMmIhBf-c_CfczCJ_hACD0MMIQzCXf9h69_b8y5PaStkznCsiPBHYcuVc=s192", + width: 192, + height: 192, + ), + Thumbnail( + url: "https://yt3.ggpht.com/DN7nE9pKDZ6gU-k6TJbMmIhBf-c_CfczCJ_hACD0MMIQzCXf9h69_b8y5PaStkznCsiPBHYcuVc=s576", + width: 576, + height: 576, + ), + ], + channel: Some(ChannelId( + id: "UCnOnrhWLv3YMoTVWqF4k82w", + name: "botevpd", + )), + track_count: Some(49), + from_ytm: false, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0", + name: "German Singalong Songs", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/JLLNoS2hhZ54GcYoY_mD0fxVVxcZ7Ay_rT41TIbjv6n3efAUqAexZpcbK7qAS8vLw_K4NuV2R3_iRPfs=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/JLLNoS2hhZ54GcYoY_mD0fxVVxcZ7Ay_rT41TIbjv6n3efAUqAexZpcbK7qAS8vLw_K4NuV2R3_iRPfs=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + MusicPlaylistItem( + id: "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4", + name: "German Summer", + thumbnail: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/DKPAdAdEmbP1UYpXmQaFRIvIuZXVkRmgzxx9V_PtsvSZLBRDL8gzv9ibIJbRBcNV0toryLF4tFxEIaE=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/DKPAdAdEmbP1UYpXmQaFRIvIuZXVkRmgzxx9V_PtsvSZLBRDL8gzv9ibIJbRBcNV0toryLF4tFxEIaE=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + channel: None, + track_count: None, + from_ytm: true, + ), + ], + ctoken: None, + endpoint: music_browse, +) diff --git a/src/model/mod.rs b/src/model/mod.rs index d6a54d2..1810d67 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -1014,6 +1014,8 @@ pub struct MusicPlaylist { pub from_ytm: bool, /// Playlist tracks pub tracks: Paginator, + /// Related playlists + pub related_playlists: Paginator, } /// YouTube music album object diff --git a/testfiles/music_playlist/playlist_related.json b/testfiles/music_playlist/playlist_related.json new file mode 100644 index 0000000..5269788 --- /dev/null +++ b/testfiles/music_playlist/playlist_related.json @@ -0,0 +1,4367 @@ +{ + "continuationContents": { + "sectionListContinuation": { + "contents": [ + { + "musicCarouselShelfRenderer": { + "contents": [ + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJgBEJrzBRgAIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CJgBEJrzBRgAIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJcBEJvzBRgBIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CJcBEJvzBRgBIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJUBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CJYBEMrHAyITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + } + }, + "clickTrackingParams": "CJUBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CJUBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJMBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CJQBEMrHAyITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + } + }, + "clickTrackingParams": "CJMBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CJMBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CJEBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJIBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJIBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CJEBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CJEBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CI8BEMOUBhgFIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJABEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJABEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CI8BEMOUBhgFIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CI4BEJH7BRgGIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfbWVLSkc0ZlJWR1VHMVo1UDZPLU9WUkpJamE5VTNDdHQ4", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CI4BEJH7BRgGIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + ], + "trackingParams": "CI0BEKc7IhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + }, + "clickTrackingParams": "CIsBEKCzAhgAIhMIgoa7l6Ka-wIVrtURCB1ETwar" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Party Schlager" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Party Schlager" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CIwBEMjeAiITCIKGu5eimvsCFa7VEQgdRE8Gqw==", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CIwBEMjeAiITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/xrAa318NOyL334j4P3KOeuvMh2NdaC3zbcRfdP2VPQ3o_MDthD0ueeMTh-Hfk5kzmkp73nH8enOH1as=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/xrAa318NOyL334j4P3KOeuvMh2NdaC3zbcRfdP2VPQ3o_MDthD0ueeMTh-Hfk5kzmkp73nH8enOH1as=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CJkBEIS_AiITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_meKJG4fRVGUG1Z5P6O-OVRJIja9U3Ctt8" + }, + "clickTrackingParams": "CIsBEKCzAhgAIhMIgoa7l6Ka-wIVrtURCB1ETwar" + }, + "text": "Party Schlager" + } + ] + }, + "trackingParams": "CIsBEKCzAhgAIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIkBEJrzBRgAIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CIkBEJrzBRgAIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIgBEJvzBRgBIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CIgBEJvzBRgBIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIYBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CIcBEMrHAyITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + } + }, + "clickTrackingParams": "CIYBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CIYBEL7uBRgCIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIQBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CIUBEMrHAyITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + } + }, + "clickTrackingParams": "CIQBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CIQBEPvvBRgDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CIIBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIMBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIMBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CIIBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CIIBEIT_BRgEIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIABEMOUBhgFIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIEBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIEBEPBbIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CIABEMOUBhgFIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CH8QkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfbkNVTDVmYTBHNW1TQXhtWFU5dHU0dUdNMVNvWjQ0T1BB", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CH8QkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CH4QpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + }, + "clickTrackingParams": "CHwQoLMCGAEiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Happy German Pop" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Happy German Pop" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CH0QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CH0QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/vqBjVRRp93TYop30YxN84sS9ITPVBWYCpzGMBBv-1KVpoQaS0kLixwXYTMX8p84wWrMRj-IrWipg6rE=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/vqBjVRRp93TYop30YxN84sS9ITPVBWYCpzGMBBv-1KVpoQaS0kLixwXYTMX8p84wWrMRj-IrWipg6rE=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CIoBEIS_AiITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_nCUL5fa0G5mSAxmXU9tu4uGM1SoZ44OPA" + }, + "clickTrackingParams": "CHwQoLMCGAEiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "Happy German Pop" + } + ] + }, + "trackingParams": "CHwQoLMCGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHoQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CHoQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHkQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CHkQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHcQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CHgQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CHcQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CHcQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHUQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CHYQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CHUQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CHUQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CHMQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHQQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHQQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CHMQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CHMQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHEQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHIQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHIQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CHEQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHAQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfa3NnQVNkTGRXei1OQWRfckRWb3dBeHFUNnhBRU41SkFB", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CHAQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CG8QpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + }, + "clickTrackingParams": "CG0QoLMCGAIiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Oktoberfest" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Oktoberfest" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CG4QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CG4QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/_wFTtKjF2JrQPeF4FGAJeayJD1p5I24gLf92WZc7Q6M5uOMSVouuSOB0iS7jlV6vG18kMViPjBmgW6Y=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/_wFTtKjF2JrQPeF4FGAJeayJD1p5I24gLf92WZc7Q6M5uOMSVouuSOB0iS7jlV6vG18kMViPjBmgW6Y=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CHsQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_ksgASdLdWz-NAd_rDVowAxqT6xAEN5JAA" + }, + "clickTrackingParams": "CG0QoLMCGAIiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "Oktoberfest" + } + ] + }, + "trackingParams": "CG0QoLMCGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGsQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CGsQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGoQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CGoQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGgQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CGkQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CGgQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CGgQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGYQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CGcQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CGYQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CGYQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CGQQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGUQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGUQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CGQQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CGQQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGIQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGMQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGMQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CGIQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGEQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfbEV0MXlYN2pkWjBkY3I0ZThONVk4cFVZc2FPOG5VYzJF", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CGEQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CGAQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + }, + "clickTrackingParams": "CF4QoLMCGAMiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause '10s German Pop" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play '10s German Pop" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CF8QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CF8QyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/slwtKgp4BHop8sstyZ2YRVKhg-cOpcFx2vWSmBaeBP4bloW0gVe6eJcqFcO-4VkjfUTDJTdcIrzGoch6=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/slwtKgp4BHop8sstyZ2YRVKhg-cOpcFx2vWSmBaeBP4bloW0gVe6eJcqFcO-4VkjfUTDJTdcIrzGoch6=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CGwQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_lEt1yX7jdZ0dcr4e8N5Y8pUYsaO8nUc2E" + }, + "clickTrackingParams": "CF4QoLMCGAMiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "'10s German Pop" + } + ] + }, + "trackingParams": "CF4QoLMCGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFwQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CFwQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFsQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CFsQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFkQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CFoQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CFkQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CFkQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFcQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CFgQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CFcQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CFcQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CFUQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFYQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFYQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CFUQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CFUQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFMQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFQQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFQQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CFMQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFIQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfa24xSWNORnd3ejVOX3Fla1VGbnZ4WXpQWUhIUlE5X21Z", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CFIQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CFEQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + }, + "clickTrackingParams": "CE8QoLMCGAQiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause '10s Schlager" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play '10s Schlager" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CFAQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CFAQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/Lmxml0utaSLguhcR3Fre_60dbUfF-T87l4KouMD_nWdVEz32sn4RNOZNOLiqhBjMf0bs4LnFPSsUdJY=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/Lmxml0utaSLguhcR3Fre_60dbUfF-T87l4KouMD_nWdVEz32sn4RNOZNOLiqhBjMf0bs4LnFPSsUdJY=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CF0QhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kn1IcNFwwz5N_qekUFnvxYzPYHHRQ9_mY" + }, + "clickTrackingParams": "CE8QoLMCGAQiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "'10s Schlager" + } + ] + }, + "trackingParams": "CE8QoLMCGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE0QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CE0QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEwQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CEwQm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEoQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CEsQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CEoQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CEoQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEgQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CEkQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CEgQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CEgQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CEYQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CEYQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CEYQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEQQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEUQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEUQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CEQQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEMQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfa3ZIX1ZXT2wxdHgwQWQ0SDJGXzRqYVRNbkltY3VDRlhj", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CEMQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CEIQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + }, + "clickTrackingParams": "CEAQoLMCGAUiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause German Pop Throwback" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play German Pop Throwback" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CEEQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CEEQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/gCaww9YpZ-Th2I6Y7mTarqo_JJPkBerhUPTchgu06VowkRZc8ndS9Efa-AIz5uqKoGWiNf32YzkFUQ=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/gCaww9YpZ-Th2I6Y7mTarqo_JJPkBerhUPTchgu06VowkRZc8ndS9Efa-AIz5uqKoGWiNf32YzkFUQ=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CE4QhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kvH_VWOl1tx0Ad4H2F_4jaTMnImcuCFXc" + }, + "clickTrackingParams": "CEAQoLMCGAUiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "German Pop Throwback" + } + ] + }, + "trackingParams": "CEAQoLMCGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD4QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CD4QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD0Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CD0Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDsQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CDwQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CDsQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CDsQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDkQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CDoQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CDkQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CDkQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CDcQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CDgQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CDgQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CDcQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CDcQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDUQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CDYQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CDYQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CDUQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDQQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfa1NKMzB5bS1HUmxHSnZsWnNNOXhuSzlkQVpkb25Cb0Iw", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CDQQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CDMQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + }, + "clickTrackingParams": "CDEQoLMCGAYiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Presenting Mark Forster" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Presenting Mark Forster" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CDIQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CDIQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/ZarhsSrgS22O6JwaZl4FfgeXOtaVyq0GWZKTLCrByxYgQhrEVRj1oP4MO__moYmQuKCRB1BB67JDZfg=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/ZarhsSrgS22O6JwaZl4FfgeXOtaVyq0GWZKTLCrByxYgQhrEVRj1oP4MO__moYmQuKCRB1BB67JDZfg=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CD8QhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_kSJ30ym-GRlGJvlZsM9xnK9dAZdonBoB0" + }, + "clickTrackingParams": "CDEQoLMCGAYiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "Presenting Mark Forster" + } + ] + }, + "trackingParams": "CDEQoLMCGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC8QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECKAE%3D", + "playlistId": "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CC8QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC4Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLPLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CC4Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CC0QyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CCwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CCwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CCsQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CCoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CCoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CCgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCkQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCkQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CCgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CCgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCYQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CCYQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCUQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EiJQTFc0cl9idGJZNmUzcDhSdW9nUU05RjhTM2RGTmdzTXFu", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CCUQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CCQQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLPLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + }, + "clickTrackingParams": "CCEQoLMCGAciEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_USER_CHANNEL" + } + }, + "browseId": "UCnOnrhWLv3YMoTVWqF4k82w" + }, + "clickTrackingParams": "CCEQoLMCGAciEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "botevpd" + }, + { + "text": " • " + }, + { + "text": "49 songs" + } + ] + }, + "thumbnailCornerOverlay": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 48, + "url": "https://yt3.ggpht.com/ytc/AMLnZu-6NRp7R_qUbBuHV9zbJ2-z-KRPysQYtubLjQ=s48-c-k-c0x00000000-no-cc-rj-rp", + "width": 48 + }, + { + "height": 96, + "url": "https://yt3.ggpht.com/ytc/AMLnZu-6NRp7R_qUbBuHV9zbJ2-z-KRPysQYtubLjQ=s96-c-k-c0x00000000-no-cc-rj-rp", + "width": 96 + }, + { + "height": 48, + "url": "https://yt3.ggpht.com/ytc/AMLnZu-6NRp7R_qUbBuHV9zbJ2-z-KRPysQYtubLjQ=s48-c-k-c0x00000000-no-cc-rj-rp", + "width": 48 + }, + { + "height": 96, + "url": "https://yt3.ggpht.com/ytc/AMLnZu-6NRp7R_qUbBuHV9zbJ2-z-KRPysQYtubLjQ=s96-c-k-c0x00000000-no-cc-rj-rp", + "width": 96 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_CIRCLE", + "trackingParams": "CCIQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause German Pop" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play German Pop" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CCMQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB8gECKAE%3D", + "playlistId": "PLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CCMQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 192, + "url": "https://yt3.ggpht.com/DN7nE9pKDZ6gU-k6TJbMmIhBf-c_CfczCJ_hACD0MMIQzCXf9h69_b8y5PaStkznCsiPBHYcuVc=s192", + "width": 192 + }, + { + "height": 576, + "url": "https://yt3.ggpht.com/DN7nE9pKDZ6gU-k6TJbMmIhBf-c_CfczCJ_hACD0MMIQzCXf9h69_b8y5PaStkznCsiPBHYcuVc=s576", + "width": 576 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CDAQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLPLW4r_btbY6e3p8RuogQM9F8S3dFNgsMqn" + }, + "clickTrackingParams": "CCEQoLMCGAciEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "German Pop" + } + ] + }, + "trackingParams": "CCEQoLMCGAciEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CB8QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CB8QmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CB4Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CB4Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CB0QyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CBwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CBwQvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CBsQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CBoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CBoQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CBgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBkQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBkQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CBgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CBgQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBYQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBcQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CBYQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBUQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfbTU1aUFuRmEyNWw4Ymw3bTh2c1RzbUdwaDMtX3lWQlcw", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CBUQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CBQQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + }, + "clickTrackingParams": "CBIQoLMCGAgiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause German Singalong Songs" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play German Singalong Songs" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CBMQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CBMQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/JLLNoS2hhZ54GcYoY_mD0fxVVxcZ7Ay_rT41TIbjv6n3efAUqAexZpcbK7qAS8vLw_K4NuV2R3_iRPfs=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/JLLNoS2hhZ54GcYoY_mD0fxVVxcZ7Ay_rT41TIbjv6n3efAUqAexZpcbK7qAS8vLw_K4NuV2R3_iRPfs=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CCAQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_m55iAnFa25l8bl7m8vsTsmGph3-_yVBW0" + }, + "clickTrackingParams": "CBIQoLMCGAgiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "German Singalong Songs" + } + ] + }, + "trackingParams": "CBIQoLMCGAgiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "musicTwoRowItemRenderer": { + "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBAQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECGAE%3D", + "playlistId": "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CBAQmvMFGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CA8Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLRDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CA8Qm_MFGAEiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CA0Qvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist will play next" + } + ] + }, + "trackingParams": "CA4QyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CA0Qvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CA0Qvu4FGAIiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAsQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Playlist added to queue" + } + ] + }, + "trackingParams": "CAwQyscDIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + } + }, + "clickTrackingParams": "CAsQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CAsQ--8FGAMiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CAkQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAoQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAoQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add playlist to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CAkQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "playlistId": "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove playlist from library" + } + ] + }, + "trackingParams": "CAkQhP8FGAQiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAcQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAgQ8FsiEwiChruXopr7AhWu1REIHURPBqs=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAgQ8FsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CAcQw5QGGAUiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAYQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=", + "shareEntityEndpoint": { + "serializedShareEntity": "EitSRENMQUs1dXlfbkxtNl9tbk1kT1FEMXZaeXBKMHlQcHpKUHV6ZlBONGQ0", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CAYQkfsFGAYiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CAUQpzsiEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + }, + "clickTrackingParams": "CAMQoLMCGAkiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "subtitle": { + "runs": [ + { + "text": "Playlist" + }, + { + "text": " • " + }, + { + "text": "YouTube Music" + } + ] + }, + "thumbnailOverlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "2147483648", + "0", + "0" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause German Summer" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play German Summer" + } + }, + "activeBackgroundColor": 4278190080, + "activeScaleFactor": 1.2, + "backgroundColor": 2566914048, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", + "iconColor": 4294967295, + "iconLoadingColor": 1308622847, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CAQQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CAQQyN4CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" + } + }, + "thumbnailRenderer": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 226, + "url": "https://lh3.googleusercontent.com/DKPAdAdEmbP1UYpXmQaFRIvIuZXVkRmgzxx9V_PtsvSZLBRDL8gzv9ibIJbRBcNV0toryLF4tFxEIaE=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/DKPAdAdEmbP1UYpXmQaFRIvIuZXVkRmgzxx9V_PtsvSZLBRDL8gzv9ibIJbRBcNV0toryLF4tFxEIaE=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", + "trackingParams": "CBEQhL8CIhMIgoa7l6Ka-wIVrtURCB1ETwar" + } + }, + "title": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_PLAYLIST" + } + }, + "browseId": "VLRDCLAK5uy_nLm6_mnMdOQD1vZypJ0yPpzJPuzfPN4d4" + }, + "clickTrackingParams": "CAMQoLMCGAkiEwiChruXopr7AhWu1REIHURPBqs=" + }, + "text": "German Summer" + } + ] + }, + "trackingParams": "CAMQoLMCGAkiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "header": { + "musicCarouselShelfBasicHeaderRenderer": { + "accessibilityData": { + "accessibilityData": { + "label": "Related playlists" + } + }, + "headerStyle": "MUSIC_CAROUSEL_SHELF_BASIC_HEADER_STYLE_DISPLAY_TWO", + "title": { + "runs": [ + { + "text": "Related playlists" + } + ] + }, + "trackingParams": "CJoBEIi8BCITCIKGu5eimvsCFa7VEQgdRE8Gqw==" + } + }, + "itemSize": "COLLECTION_STYLE_ITEM_SIZE_MEDIUM", + "trackingParams": "CAIQobMCGAAiEwiChruXopr7AhWu1REIHURPBqs=" + } + } + ], + "trackingParams": "CAEQui8iEwiChruXopr7AhWu1REIHURPBqs=" + } + }, + "responseContext": { + "serviceTrackingParams": [ + { + "params": [ + { + "key": "has_unlimited_entitlement", + "value": "False" + }, + { + "key": "browse_id", + "value": "VLPL5dDx681T4bR7ZF1IuWzOv1omlRbE7PiJ" + }, + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714241,23804281,23858057,23882685,23918597,23934970,23940248,23946420,23966208,23983296,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036948,24077241,24080738,24108448,24120819,24135310,24140247,24161116,24162920,24164186,24169501,24175559,24181174,24184446,24185614,24186125,24187043,24187377,24191629,24197450,24199724,24200839,24211178,24217535,24219713,24230619,24233986,24241378,24248092,24255163,24255543,24255545,24256986,24258343,24260783,24262346,24262777,24263796,24267564,24267570,24268142,24278596,24279196,24280572,24283426,24283556,24285601,24286005,24286017,24287327,24287603,24287795,24288043,24290971,24292955,24293804,24299747,24390675,24390918,24391018,24391541,24392403,24392450,24393382,24396549,24396818,24398124,24398595,24398993,24399916,24401557,24402587,24402891,24406381,24406604,24406984,24407200,24407665,24407916,24411766,24590921,39322399,39322504,39322574" + } + ], + "service": "GFEEDBACK" + }, + { + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20221031.00.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetBrowsePlaylistDetailPage_rid", + "value": "0x2367da9c23cc9459" + } + ], + "service": "CSI" + }, + { + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + }, + { + "key": "client.fexp", + "value": "24162920,23858057,24392403,24406984,24002022,24267570,24080738,23966208,24169501,24255163,24200839,24407665,24402587,24288043,24292955,24077241,24268142,24278596,24197450,24186125,24390918,24290971,24590921,24398124,23946420,24181174,24256986,24034168,24175559,24406604,23804281,23918597,24396818,24260783,24267564,24263796,24135310,24255543,24283556,24398595,1714241,23998056,24283426,24004644,24036948,24392450,23983296,24286017,24002025,24140247,24287327,24262777,24184446,24399916,24219713,24407200,24164186,24233986,24248092,24199724,24280572,24391541,24241378,24407916,24007246,24187377,24398993,24396549,24258343,24391018,24185614,24262346,24402891,23940248,24287795,24217535,23934970,24187043,24406381,24411766,39322399,24401557,24279196,24286005,24287603,24191629,24161116,23882685,24001373,24393382,24230619,24255545,24120819,24293804,39322504,24211178,24108448,24390675,24299747,24285601,39322574" + } + ], + "service": "ECATCHER" + } + ], + "visitorData": "CgtCdXBCTDdzTlE2NCjsj6CbBg%3D%3D" + }, + "trackingParams": "CAAQhGciEwiChruXopr7AhWu1REIHURPBqs=" +} diff --git a/tests/youtube.rs b/tests/youtube.rs index 834a3fd..e49d9a3 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -1292,8 +1292,31 @@ async fn music_playlist_cont() { .extend_pages(&rp.query(), usize::MAX) .await .unwrap(); - assert!(playlist.tracks.items.len() > 100); - assert!(playlist.tracks.count.unwrap() > 100); + + assert_gte(playlist.tracks.items.len(), 100, "tracks"); + assert_gte(playlist.tracks.count.unwrap(), 100, "track count"); +} + +#[tokio::test] +async fn music_playlist_related() { + let rp = RustyPipe::builder().strict().build(); + let mut playlist = rp + .query() + .music_playlist("PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi") + .await + .unwrap(); + + playlist + .related_playlists + .extend(&rp.query()) + .await + .unwrap(); + + assert_gte( + playlist.related_playlists.items.len(), + 10, + "related playlists", + ); } #[tokio::test]