commit e1cb73f8174b0b32c42fd1ac5e9be121a5f14829 Author: Khoa.vo Date: Wed Dec 17 11:18:36 2025 +0700 Initial commit: Spotify Clone with Audiophile specs and Synology support diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..21db60a --- /dev/null +++ b/.gitignore @@ -0,0 +1,55 @@ +# System Files +.DS_Store +Thumbs.db + +# Environment Variables +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Node.js +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.next/ +out/ +build/ +dist/ + +# Python +venv/ +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# IDEs +.idea/ +.vscode/ + +# Project Specific +backend/data/*.json +!backend/data/browse_playlists.json +!backend/data/data.json +backend/cache/ +backend/data_seed/ diff --git a/DOCKER_README.md b/DOCKER_README.md new file mode 100644 index 0000000..311861d --- /dev/null +++ b/DOCKER_README.md @@ -0,0 +1,105 @@ +# Spotify Clone 🎡 + +A fully functional clone of the Spotify web player, built with a modern stack featuring **Next.js**, **FastAPI**, and **TailwindCSS**. This application replicates the premium authentic feel of the original web player with added features like synchronized lyrics and custom playlist management. + +### ⚑ One-Click Deployment +We have included a script to automate the build and deploy process. +1. Ensure Docker Desktop is running. +2. Double-click `deploy.bat`. + +### πŸ“¦ Clean Build & Publish (For Developers) + +If you are the developer or want to build the image yourself, follow these steps: + +### 1. Build the Image +```bash +docker build -t vndangkhoa/spotify-clone:latest . +``` + +### 2. Push to Docker Hub +```bash +# Login first +docker login + +# Push +docker push vndangkhoa/spotify-clone:latest +``` + +--- + +## πŸš€ Quick Start (Pre-built) + +Run the application instantly from Docker Hub: + +```bash +docker run -p 3000:3000 -p 8000:8000 vndangkhoa/spotify-clone +``` + +After the container starts, open **[http://localhost:3000](http://localhost:3000)** in your browser. + +--- + +## 🏠 Synology / Docker Compose (Self-Hosted/Offline) + +For permanent deployment on a NAS (Synology) or local server with data persistence, use **Docker Compose**. + +### 1. Create `docker-compose.yml` +Create a file named `docker-compose.yml` with the following content: + +```yaml +services: + spotify-clone: + image: vndangkhoa/spotify-clone:latest + container_name: spotify-clone + restart: always + network_mode: bridge + ports: + - "3000:3000" # Web UI (Access this) + - "8000:8000" # Optional: Direct API access + volumes: + # Persist your playlists and data + - ./data:/app/backend/data +``` + +### 2. Run the Service +Run the following command in the same directory: + +```bash +docker-compose up -d +``` + +Your data (playlists) will be securely saved in the `./data` folder on your host machine. + +--- + +## πŸ“± PWA Support (Mobile App) + +This web app is **Progressive Web App (PWA)** compatible. You can install it on your mobile device for a native-like experience: + +1. Open the web app in **Safari** (iOS) or **Chrome** (Android). +2. Tap the **Share** button (iOS) or **Menu** (Android). +3. Select **"Add to Home Screen"**. +4. Launch it from your home screenβ€”it looks and feels just like an app! 🎧 + +--- + +## ✨ Key Features + +- **mic Synced Lyrics**: Real-time scrolling lyrics with precise synchronization. +- **🎧 Seamless Playback**: Full audio controls, background play support. +- **πŸ“‚ Playlist Management**: Create, edit, and save playlists locally. +- **πŸ” Smart Search**: Instantly find tracks. +- **🎨 Premium UI**: Glassmorphism, dynamic gradients, and smooth animations. + +## πŸ› οΈ Tech Stack + +- **Frontend**: Next.js 14, React, TailwindCSS. +- **Backend**: FastAPI, Python 3.11. +- **Container**: Hybrid Image (Node.js + Python). + +## πŸ“¦ Ports + +- **3000**: Frontend (User Interface) - **Primary Access Point** +- **8000**: Backend (API) - *Internal use, but can be mapped for direct API access.* + +For standard usage, accessing via Port 3000 handles everything. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9a0275c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,57 @@ +FROM python:3.11-slim + +# Install Node.js +RUN apt-get update && apt-get install -y \ + curl \ + gnupg \ + ffmpeg \ + && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ + && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +# --- Backend Setup --- +COPY backend/requirements.txt ./backend/requirements.txt +RUN pip install --no-cache-dir -r backend/requirements.txt + +# --- Frontend Setup --- +COPY frontend/package*.json ./frontend/ +WORKDIR /app/frontend +# Install dependencies (ignoring peer deps conflicts) +RUN npm install --legacy-peer-deps + +COPY frontend/ . +# Build Next.js (with ignore-lint already set in next.config.mjs) +# We set API URL to http://localhost:8000 because in this container strategy, +# the browser will access the backend directly. +# Wait, for client-side fetches, "localhost" refers to the user's machine. +# If we run this container on port 3000 and 8000, localhost:8000 works internally via Rewrites. +# ENV NEXT_PUBLIC_API_URL="http://localhost:8000" Removed to use relative path proxying +# Build Next.js +ENV NEXTAUTH_URL=http://localhost:3000 +# Generate a static secret for now to prevent 500 error, or use a build arg +ENV NEXTAUTH_SECRET=changeme_in_production_but_this_fixes_500_error +RUN npm run build + +# --- Final Setup --- +WORKDIR /app +COPY backend/ ./backend/ + +# Create a start script +# We also implement a "seed data" check. +# If the volume mount is empty (missing data.json), we copy from our backup. +RUN mkdir -p backend/data_seed && cp -r backend/data/* backend/data_seed/ || true + +RUN echo '#!/bin/bash\n\ + if [ ! -f backend/data/data.json ]; then\n\ + echo "Data volume appears empty. Seeding with bundled data..."\n\ + cp -r backend/data_seed/* backend/data/\n\ + fi\n\ + uvicorn backend.main:app --host 0.0.0.0 --port 8000 &\n\ + cd frontend && npm start -- -p 3000\n\ + ' > start.sh && chmod +x start.sh + +EXPOSE 3000 8000 + +CMD ["./start.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..fc8ea5f --- /dev/null +++ b/README.md @@ -0,0 +1,125 @@ +# Spotify Clone 🎡 + +A fully functional clone of the Spotify web player, built with a modern stack featuring **Next.js**, **FastAPI**, and **TailwindCSS**. This application replicates the premium authentic feel of the original web player with added features like synchronized lyrics, custom playlist management, and "Audiophile" technical specs. + +![Preview](https://opengraph.githubassets.com/1/vndangkhoa/spotify-clone) + +--- + +## πŸš€ Quick Start (Docker) + +The easiest way to run the application is using Docker. + +### Option 1: Run from Docker Hub (Pre-built) +```bash +docker run -p 3000:3000 -p 8000:8000 vndangkhoa/spotify-clone:latest +``` +Open **[http://localhost:3000](http://localhost:3000)**. + +### Option 2: Build Locally +```bash +docker build -t spotify-clone . +docker run -p 3000:3000 -p 8000:8000 spotify-clone +``` + +--- + +## πŸ› οΈ Local Development + +If you want to contribute or modify the code: + +### Prerequisites +- Node.js 18+ +- Python 3.11+ +- ffmpeg (optional, for some audio features) + +### 1. Backend Setup +```bash +cd backend +python -m venv venv +source venv/bin/activate # Windows: venv\Scripts\activate +pip install -r requirements.txt +python main.py +``` +Backend runs on `http://localhost:8000`. + +### 2. Frontend Setup +```bash +cd frontend +npm install +npm run dev +``` +Frontend runs on `http://localhost:3000`. + +--- + +## πŸ“¦ Deployment Guide + +### 1. Deploy to GitHub +Initialize the repository (if not done) and push: +```bash +git init +git add . +git commit -m "Initial commit" +git branch -M main +git remote add origin https://github.com/YOUR_USERNAME/spotify-clone.git +git push -u origin main +``` + +### 2. Deploy to Docker Hub +To share your image with the world (or your NAS): +```bash +# 1. Login to Docker Hub +docker login + +# 2. Build the image (replace 'vndangkhoa' with your Docker Hub username) +docker build -t vndangkhoa/spotify-clone:latest . + +# 3. Push the image +docker push vndangkhoa/spotify-clone:latest +``` + +### 3. Deploy to Synology NAS (Container Manager) +This app runs perfectly on Synology NAS using **Container Manager** (formerly Docker). + +#### Method A: Using Container Manager UI (Easy) +1. Open **Container Manager**. +2. Go to **Registry** -> Search for `vndangkhoa/spotify-clone` (or your image). +3. Download the image. +4. Go to **Image** -> Select image -> **Run**. + - **Network**: Bridge (default). + - **Port Settings**: Map Local Port `3110` (or any) to Container Port `3000`. + - **Volume Settings** (Optional): Map a folder `/docker/spotify/data` to `/app/backend/data` to save playlists. +5. Done! Access at `http://YOUR_NAS_IP:3110`. + +#### Method B: Using Docker Compose (Recommended) +1. Create a folder on your NAS (e.g., `/volume1/docker/spotify`). +2. Create a file named `docker-compose.yml` inside it: + ```yaml + services: + spotify-clone: + image: vndangkhoa/spotify-clone:latest + container_name: spotify-clone + restart: always + network_mode: bridge + ports: + - "3110:3000" # Web UI Access Port + volumes: + - ./data:/app/backend/data + ``` +3. In Container Manager, go to **Project** -> **Create**. +4. Select the folder path, give it a name, and it will detect the compose file. +5. Click **Build** / **Run**. + +--- + +## ✨ Features + +- **Real-Time Lyrics**: Fetch and sync lyrics from multiple sources (YouTube, LRCLIB). +- **Audiophile Engine**: "Tech Specs" view showing live bitrate, LUFS, and Dynamic Range. +- **Local-First**: Works offline (PWA) and syncs local playlists. +- **Smart Search**: Unified search across YouTube Music. +- **Responsive**: Full mobile support with a dedicated full-screen player. + +## πŸ“ License +MIT License diff --git a/backend/api/__init__.py b/backend/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/api/routes.py b/backend/api/routes.py new file mode 100644 index 0000000..c19c8df --- /dev/null +++ b/backend/api/routes.py @@ -0,0 +1,614 @@ +from fastapi import APIRouter, HTTPException +from fastapi.responses import StreamingResponse +from pydantic import BaseModel +import json +from pathlib import Path +import yt_dlp +import requests +from backend.cache_manager import CacheManager +from backend.playlist_manager import PlaylistManager + +import re + +router = APIRouter() +cache = CacheManager() +playlist_manager = PlaylistManager() + +def clean_text(text: str) -> str: + if not text: + return "" + # Remove emojis + text = text.encode('ascii', 'ignore').decode('ascii') + # Remove text inside * * or similar patterns if they look spammy + # Remove excessive punctuation + # Example: "THE * VIRAL 50 *" -> "THE VIRAL 50" + + # 1. Remove URLs + text = re.sub(r'http\S+|www\.\S+', '', text) + + # 2. Remove "Playlist", "Music Chart", "Full SPOTIFY" spam keywords if desirable, + # but that might be too aggressive. + # Let's focus on cleaning the "Structure". + + # 3. Truncate Description if too long (e.g. > 300 chars)? + # The user example had a MASSIVE description. + # Let's just take the first paragraph or chunk? + + # 4. Remove excessive non-alphanumeric separators + text = re.sub(r'[*_=]{3,}', '', text) # Remove long separator lines + + # Custom cleaning for the specific example style: + # Remove text between asterisks if it looks like garbage? No, sometimes it's emphasis. + + return text.strip() + +def clean_title(title: str) -> str: + if not title: return "Playlist" + # Remove emojis (simple way) + title = title.encode('ascii', 'ignore').decode('ascii') + # Remove "Playlist", "Music Chart", "Full Video" spam + spam_words = ["Playlist", "Music Chart", "Full SPOTIFY Video", "Updated Weekly", "Official", "Video"] + for word in spam_words: + title = re.sub(word, "", title, flags=re.IGNORECASE) + + # Remove extra spaces and asterisks + title = re.sub(r'\s+', ' ', title).strip() + title = title.strip('*- ') + return title + +def clean_description(desc: str) -> str: + if not desc: return "" + # Remove URLs + desc = re.sub(r'http\S+', '', desc) + # Remove massive divider lines + desc = re.sub(r'[*_=]{3,}', '', desc) + # Be more aggressive with length? + if len(desc) > 300: + desc = desc[:300] + "..." + return desc.strip() + +CACHE_DIR = Path("backend/cache") + +class SearchRequest(BaseModel): + url: str + +class CreatePlaylistRequest(BaseModel): + name: str # Renamed from Title to Name to match Sidebar usage more typically, but API expects pydantic model + description: str = "" + +@router.get("/browse") +async def get_browse_content(): + """ + Returns the real fetched playlists from browse_playlists.json + """ + try: + data_path = Path("backend/data/browse_playlists.json") + if data_path.exists(): + with open(data_path, "r") as f: + return json.load(f) + else: + return [] + except Exception as e: + print(f"Browse Error: {e}") + return [] + +@router.get("/playlists") +async def get_user_playlists(): + return playlist_manager.get_all() + +@router.post("/playlists") +async def create_user_playlist(playlist: CreatePlaylistRequest): + return playlist_manager.create(playlist.name, playlist.description) + +@router.delete("/playlists/{id}") +async def delete_user_playlist(id: str): + success = playlist_manager.delete(id) + if not success: + raise HTTPException(status_code=404, detail="Playlist not found") + return {"status": "ok"} + +@router.get("/playlists/{id}") +async def get_playlist(id: str): + """ + Get a specific playlist by ID. + 1. Check if it's a User Playlist. + 2. If not, fetch from YouTube Music (Browse/External). + """ + # 1. Try User Playlist + user_playlists = playlist_manager.get_all() + user_playlist = next((p for p in user_playlists if p['id'] == id), None) + if user_playlist: + return user_playlist + + # 2. Try External (YouTube Music) + # Check Cache first + cache_key = f"playlist:{id}" + cached_playlist = cache.get(cache_key) + if cached_playlist: + return cached_playlist + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + # ytmusicapi returns a dict with 'tracks' list + playlist_data = yt.get_playlist(id, limit=100) + + # Format to match our app's Protocol + formatted_tracks = [] + if 'tracks' in playlist_data: + for track in playlist_data['tracks']: + # Safely extract artists + artists_list = track.get('artists') or [] + if isinstance(artists_list, list): + artist_names = ", ".join([a.get('name', 'Unknown') for a in artists_list]) + else: + artist_names = "Unknown Artist" + + # Safely extract thumbnails + thumbnails = track.get('thumbnails', []) + cover_url = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + # Safely extract album + album_info = track.get('album') + album_name = album_info.get('name', 'Single') if album_info else "Single" + + formatted_tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('duration_seconds', 0), + "cover_url": cover_url, + "id": track.get('videoId'), + "url": f"https://music.youtube.com/watch?v={track.get('videoId')}" + }) + + # Get Playlist Cover (usually highest res) + thumbnails = playlist_data.get('thumbnails', []) + p_cover = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + formatted_playlist = { + "id": playlist_data.get('id'), + "title": clean_title(playlist_data.get('title', 'Unknown')), + "description": clean_description(playlist_data.get('description', '')), + "author": playlist_data.get('author', {}).get('name', 'YouTube Music'), + "cover_url": p_cover, + "tracks": formatted_tracks + } + + # Cache it (1 hr) + cache.set(cache_key, formatted_playlist, ttl_seconds=3600) + return formatted_playlist + + except Exception as e: + print(f"Playlist Fetch Error: {e}") + raise HTTPException(status_code=404, detail="Playlist not found") + +class UpdatePlaylistRequest(BaseModel): + name: str = None + description: str = None + +@router.put("/playlists/{id}") +async def update_user_playlist(id: str, playlist: UpdatePlaylistRequest): + updated = playlist_manager.update(id, name=playlist.name, description=playlist.description) + if not updated: + raise HTTPException(status_code=404, detail="Playlist not found") + return updated + +class AddTrackRequest(BaseModel): + id: str + title: str + artist: str + album: str + cover_url: str + duration: int = 0 + url: str = "" + +@router.post("/playlists/{id}/tracks") +async def add_track_to_playlist(id: str, track: AddTrackRequest): + track_data = track.dict() + success = playlist_manager.add_track(id, track_data) + if not success: + raise HTTPException(status_code=404, detail="Playlist not found") + return {"status": "ok"} + + +@router.get("/search") +async def search_tracks(query: str): + """ + Search for tracks using ytmusicapi. + """ + if not query: + return [] + + # Check Cache + cache_key = f"search:{query.lower().strip()}" + cached_result = cache.get(cache_key) + if cached_result: + print(f"DEBUG: Returning cached search results for '{query}'") + return cached_result + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + results = yt.search(query, filter="songs", limit=20) + + tracks = [] + for track in results: + # Safely extract artists + artists_list = track.get('artists') or [] + if isinstance(artists_list, list): + artist_names = ", ".join([a.get('name', 'Unknown') for a in artists_list]) + else: + artist_names = "Unknown Artist" + + # Safely extract thumbnails + thumbnails = track.get('thumbnails', []) + cover_url = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + # Safely extract album + album_info = track.get('album') + album_name = album_info.get('name', 'Single') if album_info else "Single" + + tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('duration_seconds', 0), + "cover_url": cover_url, + "id": track.get('videoId'), + "url": f"https://music.youtube.com/watch?v={track.get('videoId')}" + }) + + response_data = {"tracks": tracks} + # Cache for 24 hours (86400 seconds) + cache.set(cache_key, response_data, ttl_seconds=86400) + return response_data + + except Exception as e: + print(f"Search Error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/recommendations") +async def get_recommendations(seed_id: str = None): + """ + Get recommended tracks (Play History based or Trending). + If seed_id is provided, fetches 'Up Next' / 'Radio' tracks for that video. + """ + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + if not seed_id: + # Fallback to Trending if no history + return await get_trending() + + cache_key = f"rec:{seed_id}" + cached = cache.get(cache_key) + if cached: + return cached + + # Use get_watch_playlist to find similar tracks (Radio) + watch_playlist = yt.get_watch_playlist(videoId=seed_id, limit=20) + + tracks = [] + if 'tracks' in watch_playlist: + for track in watch_playlist['tracks']: + # Skip the seed track itself if play history already has it + if track.get('videoId') == seed_id: + continue + + artists_list = track.get('artists') or [] + if isinstance(artists_list, list): + artist_names = ", ".join([a.get('name', 'Unknown') for a in artists_list]) + else: + artist_names = "Unknown Artist" + + thumbnails = track.get('thumbnails', []) + cover_url = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + # album is often missing in watch playlist, fallback + album_info = track.get('album') + album_name = album_info.get('name', 'Single') if album_info else "Single" + + tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artist_names, + "album": album_name, + "duration": track.get('length_seconds', track.get('duration_seconds', 0)), + "cover_url": cover_url, + "id": track.get('videoId'), + "url": f"https://music.youtube.com/watch?v={track.get('videoId')}" + }) + + response_data = {"tracks": tracks} + cache.set(cache_key, response_data, ttl_seconds=3600) # 1 hour cache + return response_data + + except Exception as e: + print(f"Recommendation Error: {e}") + # Fallback to trending on error + return await get_trending() + +@router.get("/recommendations/albums") +async def get_recommended_albums(seed_artist: str = None): + """ + Get recommended albums based on an artist query. + """ + if not seed_artist: + return [] + + cache_key = f"rec_albums:{seed_artist.lower().strip()}" + cached = cache.get(cache_key) + if cached: + return cached + + try: + from ytmusicapi import YTMusic + yt = YTMusic() + + # Search for albums by this artist + results = yt.search(seed_artist, filter="albums", limit=10) + + albums = [] + for album in results: + thumbnails = album.get('thumbnails', []) + cover_url = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + albums.append({ + "title": album.get('title', 'Unknown Album'), + "description": album.get('year', '') + " β€’ " + album.get('artist', seed_artist), + "cover_url": cover_url, + "id": album.get('browseId'), + "type": "Album" + }) + + cache.set(cache_key, albums, ttl_seconds=86400) + return albums + + except Exception as e: + print(f"Album Rec Error: {e}") + return [] + +@router.get("/trending") +async def get_trending(): + """ + Returns the pre-fetched Trending Vietnam playlist. + """ + try: + data_path = Path("backend/data.json") + if data_path.exists(): + with open(data_path, "r") as f: + return json.load(f) + else: + return {"error": "Trending data not found. Run fetch_data.py first."} + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/stream") +async def stream_audio(id: str): + """ + Stream audio for a given YouTube video ID. + Extracts direct URL via yt-dlp and streams it. + """ + try: + # Check Cache for stream URL + cache_key = f"stream:{id}" + cached_url = cache.get(cache_key) + + stream_url = None + if cached_url: + print(f"DEBUG: Using cached stream URL for '{id}'") + stream_url = cached_url + else: + print(f"DEBUG: Fetching new stream URL for '{id}'") + url = f"https://www.youtube.com/watch?v={id}" + ydl_opts = { + 'format': 'bestaudio/best', + 'quiet': True, + 'noplaylist': True, + } + + # Extract direct URL + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + stream_url = info.get('url') + + if stream_url: + # Cache for 1 hour (3600 seconds) - URLs expire + cache.set(cache_key, stream_url, ttl_seconds=3600) + + if not stream_url: + raise HTTPException(status_code=404, detail="Audio stream not found") + + # Stream the content + def iterfile(): + # Verify if URL is still valid by making a HEAD request or handling stream error + # For simplicity, we just try to stream. If 403, we might need to invalidate, + # but that logic is complex for this method. + with requests.get(stream_url, stream=True) as r: + r.raise_for_status() # Check for 403 + # Use smaller chunks (64KB) for better TTFB (Time To First Byte) + for chunk in r.iter_content(chunk_size=64*1024): + yield chunk + + # Note: We return audio/mpeg, but it might be opus/webm. + # Browsers are usually smart enough to sniff. + return StreamingResponse(iterfile(), media_type="audio/mpeg") + + except Exception as e: + print(f"Stream Error: {e}") + # If cached URL failed (likely 403), we could try to invalidate here, + # but for now we just return error. + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/download") +async def download_audio(id: str, title: str = "audio"): + """ + Download audio for a given YouTube video ID. + Proxies the stream content as a file attachment. + """ + try: + # Check Cache for stream URL + cache_key = f"stream:{id}" + cached_url = cache.get(cache_key) + + stream_url = None + if cached_url: + stream_url = cached_url + else: + url = f"https://www.youtube.com/watch?v={id}" + ydl_opts = { + 'format': 'bestaudio/best', + 'quiet': True, + 'noplaylist': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + stream_url = info.get('url') + + if stream_url: + cache.set(cache_key, stream_url, ttl_seconds=3600) + + if not stream_url: + raise HTTPException(status_code=404, detail="Audio stream not found") + + # Stream the content with attachment header + def iterfile(): + with requests.get(stream_url, stream=True) as r: + r.raise_for_status() + for chunk in r.iter_content(chunk_size=1024*1024): + yield chunk + + # Sanitize filename + safe_filename = "".join([c for c in title if c.isalnum() or c in (' ', '-', '_')]).strip() + headers = { + "Content-Disposition": f'attachment; filename="{safe_filename}.mp3"' + } + + return StreamingResponse(iterfile(), media_type="audio/mpeg", headers=headers) + + except Exception as e: + print(f"Download Error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + +@router.get("/lyrics") +async def get_lyrics(id: str, title: str = None, artist: str = None): + """ + Fetch synchronized lyrics using multiple providers hierarchy: + 1. Cache (fastest) + 2. yt-dlp (Original Video Captions - best sync for exact video) + 3. LRCLIB (Open Source Database - good fuzzy match) + 4. syncedlyrics (Musixmatch/NetEase Aggregator - widest coverage) + """ + if not id: + return [] + + cache_key = f"lyrics:{id}" + cached_lyrics = cache.get(cache_key) + if cached_lyrics: + return cached_lyrics + + parsed_lines = [] + + # Run heavy IO in threadpool + from starlette.concurrency import run_in_threadpool + import syncedlyrics + + try: + # --- Strategy 1: yt-dlp (Official Captions) --- + def fetch_ytdlp_subs(): + parsed = [] + try: + lyrics_dir = CACHE_DIR / "lyrics" + lyrics_dir.mkdir(parents=True, exist_ok=True) + out_tmpl = str(lyrics_dir / f"{id}") + ydl_opts = { + 'skip_download': True, 'writesubtitles': True, 'writeautomaticsub': True, + 'subtitleslangs': ['en', 'vi'], 'subtitlesformat': 'json3', + 'outtmpl': out_tmpl, 'quiet': True + } + url = f"https://www.youtube.com/watch?v={id}" + import glob + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + pattern = str(lyrics_dir / f"{id}.*.json3") + found_files = glob.glob(pattern) + if found_files: + best_file = next((f for f in found_files if f.endswith(f"{id}.en.json3")), found_files[0]) + with open(best_file, 'r', encoding='utf-8') as f: + data = json.load(f) + for event in data.get('events', []): + if 'segs' in event and 'tStartMs' in event: + text = "".join([s.get('utf8', '') for s in event['segs']]).strip() + if text and not text.startswith('[') and text != '\n': + parsed.append({"time": float(event['tStartMs']) / 1000.0, "text": text}) + except Exception as e: + print(f"yt-dlp sub error: {e}") + return parsed + + parsed_lines = await run_in_threadpool(fetch_ytdlp_subs) + + # --- Strategy 2: LRCLIB (Search API) --- + if not parsed_lines and title and artist: + print(f"Trying LRCLIB Search for: {title} {artist}") + def fetch_lrclib(): + try: + # Fuzzy match using search, not get + cleaned_title = re.sub(r'\(.*?\)', '', title) + clean_query = f"{artist} {cleaned_title}".strip() + resp = requests.get("https://lrclib.net/api/search", params={"q": clean_query}, timeout=5) + if resp.status_code == 200: + results = resp.json() + # Find first result with synced lyrics + for item in results: + if item.get("syncedLyrics"): + return parse_lrc_string(item["syncedLyrics"]) + except Exception as e: + print(f"LRCLIB error: {e}") + return [] + + parsed_lines = await run_in_threadpool(fetch_lrclib) + + # --- Strategy 3: syncedlyrics (Aggregator) --- + if not parsed_lines and title and artist: + print(f"Trying SyncedLyrics Aggregator for: {title} {artist}") + def fetch_syncedlyrics(): + try: + # syncedlyrics.search returns the LRC string or None + clean_query = f"{title} {artist}".strip() + lrc_str = syncedlyrics.search(clean_query) + if lrc_str: + return parse_lrc_string(lrc_str) + except Exception as e: + print(f"SyncedLyrics error: {e}") + return [] + + parsed_lines = await run_in_threadpool(fetch_syncedlyrics) + + # Cache Result + if parsed_lines: + cache.set(cache_key, parsed_lines, ttl_seconds=86400 * 30) + return parsed_lines + + return [] + + except Exception as e: + print(f"Global Lyrics Error: {e}") + return [] + +def parse_lrc_string(lrc_content: str): + """Parses LRC format string into [{time, text}]""" + lines = [] + if not lrc_content: return lines + for line in lrc_content.split('\n'): + # Format: [mm:ss.xx] Text + match = re.search(r'\[(\d+):(\d+\.?\d*)\](.*)', line) + if match: + minutes = float(match.group(1)) + seconds = float(match.group(2)) + text = match.group(3).strip() + total_time = minutes * 60 + seconds + if text: + lines.append({"time": total_time, "text": text}) + return lines diff --git a/backend/cache_manager.py b/backend/cache_manager.py new file mode 100644 index 0000000..575a9a2 --- /dev/null +++ b/backend/cache_manager.py @@ -0,0 +1,53 @@ +import json +import time +import hashlib +from pathlib import Path +from typing import Any, Optional + +class CacheManager: + def __init__(self, cache_dir: str = "backend/cache"): + self.cache_dir = Path(cache_dir) + self.cache_dir.mkdir(parents=True, exist_ok=True) + + def _get_path(self, key: str) -> Path: + # Create a safe filename from the key + hashed_key = hashlib.md5(key.encode()).hexdigest() + return self.cache_dir / f"{hashed_key}.json" + + def get(self, key: str) -> Optional[Any]: + """ + Retrieve data from cache if it exists and hasn't expired. + """ + path = self._get_path(key) + if not path.exists(): + return None + + try: + with open(path, "r") as f: + data = json.load(f) + + # Check TTL + if data["expires_at"] < time.time(): + # Expired, delete it + path.unlink() + return None + + return data["value"] + except (json.JSONDecodeError, KeyError, OSError): + return None + + def set(self, key: str, value: Any, ttl_seconds: int = 3600): + """ + Save data to cache with a TTL (default 1 hour). + """ + path = self._get_path(key) + data = { + "value": value, + "expires_at": time.time() + ttl_seconds, + "key_debug": key # Store original key for debugging + } + try: + with open(path, "w") as f: + json.dump(data, f) + except OSError as e: + print(f"Cache Write Error: {e}") diff --git a/backend/data.json b/backend/data.json new file mode 100644 index 0000000..dfcafce --- /dev/null +++ b/backend/data.json @@ -0,0 +1,548 @@ +{ + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] +} \ No newline at end of file diff --git a/backend/data/browse_playlists.json b/backend/data/browse_playlists.json new file mode 100644 index 0000000..272046f --- /dev/null +++ b/backend/data/browse_playlists.json @@ -0,0 +1,13096 @@ +{ + "Trending Vietnam": [ + { + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] + }, + { + "id": "PLm_fM7dlkg8FbRVCCosRFtDldS74OVSgi", + "title": "\ud83d\udcbf Vietnam \ud83c\udfa7 TOP 50 \ud83d\udcbf Music Chart \ud83c\udfa7 Full SPOTIFY Video Playlist \ud83d\udcbf Updated Weekly \ud83c\udfa7", + "description": "THE * VIRAL 50 * https://bit.ly/3SH4lrf\n*****************************************\n*****************************************\nIf u like our playlist, please save it. \nThis playlist is updated weekly, so stay with us for more new hit songs...\n\n*****************************************\n************ 1 HOUR LOOPS ************\nRocket-Media * 1 HOUR LOOPS: https://bit.ly/39T7uj9\nRocket-Media * 1 HOUR LOOPS * HITS: https://bit.ly/3dFFJvw\nRocket-Media * 1 HOUR LOOPS * DANCE: https://bit.ly/3urhN5M\nRocket-Media * 1 HOUR LOOPS * ROCKS: https://bit.ly/3wF8L76\nRocket-Media * 1 HOUR LOOPS * CLASSIC: https://bit.ly/3t375lH\n\n*****************************************\n************** PLAYLISTS **************\nFavorite brobeat playlist: https://www.youtube.com/playlist?list...\nDeezer Playlist: https://www.deezer.com/en/profile/533...\nRocket-Media MTV Dance: https://www.youtube.com/playlist?list...\nRocket-Media MTV Hits: https://www.youtube.com/playlist?list...\nRocket-Media MTV Rocks: https://www.youtube.com/playlist?list...\nRocket-Media MTV Classic: https://www.youtube.com/playlist?list...\nRocket-Media Concerts UltraHD 4K: https://www.youtube.com/playlist?list...\nRocket-Media Mixes UltraHD 4K: https://www.youtube.com/playlist?list...\n\n*****************************************\n*****************************************\n\n************** YOUTUBE **************\n*** Central * Rocket-Media * Central ***\nhttps://www.youtube.com/channel/UCkN5...\n************** YOUTUBE **************\n*****************************************\n01. brobeat: https://www.youtube.com/channel/UC8_2...\n02. remixit: https://www.youtube.com/channel/UCvY5...\n03. remixit * greek: https://www.youtube.com/channel/UC0nw...\n04. Liverpool F.C. Legends: https://www.youtube.com/channel/UCq0J...\n05. Juventus F.C. Legends: https://www.youtube.com/channel/UC6JR...\n06. Chicago Bulls Legends: https://www.youtube.com/channel/UC9hs...\n07. Boston Celtics Legends: https://www.youtube.com/channel/UC83o...\n08. Miami Heat Legends: https://www.youtube.com/channel/UCSrh...\n09. Trail Blazers Legends: https://www.youtube.com/channel/UCw_2...\n10. OKC Thunder Legends: https://www.youtube.com/channel/UCa2y...\n11. Rockets Legends: https://www.youtube.com/channel/UCK8U...\n\n*****************************************\n*****************************************\n\n*** Central * Rocket-Media * Central ***\nhttps://www.youtube.com/channel/UCkN5...\n*****************************************\nViral Instagram Hashtags: https://www.instagram.com/goviralhash...\n*****************************************\nFavorite brobeat playlist: https://www.youtube.com/playlist?list...\nDeezer Playlist: https://www.deezer.com/en/profile/533...\n************** FACEBOOK **************\n01. https://www.facebook.com/rocketmediaw...\n02. https://www.facebook.com/TheViralRock...\n************* INSTAGRAM *************\n01. https://www.instagram.com/brobeat72/\n02. https://www.instagram.com/remixit72/\n*************** TWITTER ***************\n01. https://twitter.com/brobeat72\n02. https://twitter.com/remixit72\n************** PINTEREST **************\nhttps://pinterest.com/brobeat72/\n*************** TUMBLR ***************\nhttps://rocketmedia72.tumblr.com/\n\n*****************************************\n*****************************************\n\ntop vietnamese songs\nvietnam music charts\nvietnam music hits\nvietnam top music charts\nvietnamese music channel\nvietnamese music charts\n2012 chart music\n4music charts\namazon world music chart\nasian music charts\nbest chart music\nbest international music\nbest music usa\nbest music world\nbest songs charts\nbest songs us charts\nbest world music songs\nbiggest music singles\nbillboard charts worldwide\nbillboard world album\nbillboard world album charts\nbillboard world charts\nbillboard world music\nbillboard world music album chart\nbillboard world music chart internet charts\nceltic thunder billboard world music chart\nchart list music\nchart mtv music\nchart music 2014\nchart music chart music\nchart music free online\nchart official music\nchart official us music\nchart song usa\nchart songs\nchartmusic\ncharts all\ncharts all over\ncharts around the world\ncharts around world\ncharts over world\ncharts usa\nchina chart music\nchinese chart music\nclassical music charts\nenglish music chart\nenglish music top chart", + "cover_url": "https://yt3.googleusercontent.com/eEjGg43BajytnnS5S0gBc_rhXXhFLBLU-e8QF4jNMxX4W2oqmBhdd5uBzuTu11X5bRqpcX2hHw4=s1200", + "tracks": [ + { + "title": "Who", + "artist": "Jimin", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/Av9DvtlJ9_M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lo74Sku93WaUE-8yH-iP6Zw_M7Uw", + "id": "Av9DvtlJ9_M", + "url": "https://music.youtube.com/watch?v=Av9DvtlJ9_M" + }, + { + "title": "Seven (feat. Latto)", + "artist": "Jung Kook", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/QU9c0053UAU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ki23gt683kPaAs_tipdild1wrLTQ", + "id": "QU9c0053UAU", + "url": "https://music.youtube.com/watch?v=QU9c0053UAU" + }, + { + "title": "M\u1ed8NG YU - AMEE x MCK | Official Music Video (from \u2018M\u1ed8NGMEE\u2019 album)", + "artist": "AMEE", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/09Mh7GgUFFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kOfLMsTFC8tE0kNUwRjBLFPok5BQ", + "id": "09Mh7GgUFFA", + "url": "https://music.youtube.com/watch?v=09Mh7GgUFFA" + }, + { + "title": "Die With A Smile", + "artist": "Lady Gaga, Bruno Mars", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/kPa7bsKwL-c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m0dtEFyfTFfbWA9Qj84zDLREtdUw", + "id": "kPa7bsKwL-c", + "url": "https://music.youtube.com/watch?v=kPa7bsKwL-c" + }, + { + "title": "Standing Next to You", + "artist": "Jung Kook", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/UNo0TG9LwwI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3myS1MPOlFVYv7S9qH2lm9wln3RlQ", + "id": "UNo0TG9LwwI", + "url": "https://music.youtube.com/watch?v=UNo0TG9LwwI" + }, + { + "title": "REGRET - LYRICS", + "artist": "VieShows", + "album": "Single", + "duration": 541, + "cover_url": "https://i.ytimg.com/vi/LWzxnYB8K08/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m_mMidsikFjBFNkEKN7eK6Bl76iA", + "id": "LWzxnYB8K08", + "url": "https://music.youtube.com/watch?v=LWzxnYB8K08" + }, + { + "title": "NG\u00c1O NG\u01a0- LYRICS | ANH TRAI SAY HI", + "artist": "VieShows", + "album": "Single", + "duration": 541, + "cover_url": "https://i.ytimg.com/vi/LvWPPjJE-uE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSDz3hkRb9VfKFGPxHHUaR9bKzOA", + "id": "LvWPPjJE-uE", + "url": "https://music.youtube.com/watch?v=LvWPPjJE-uE" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "H\u00c0O QUANG (feat. RHYDER, D\u01af\u01a0NG DOMIC & PH\u00c1P KI\u1ec0U)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "T\u1eacP 5 - ANH TRAI \"SAY HI\"", + "duration": 246, + "cover_url": "https://lh3.googleusercontent.com/peH3Ubcoqxirb5EQxA-E0DkZAmQGZX5AiDpBA3Ow6sFUhNcfIAOLJbMzqpL8lGNBAFvEYoeD5xBt-lk=w120-h120-l90-rj", + "id": "TMUWRIau4PU", + "url": "https://music.youtube.com/watch?v=TMUWRIau4PU" + }, + { + "title": "Love Me Again", + "artist": "V", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/HYzyRHAHJl8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nc6Ad1QlMZEkDRZyM8qr4euI4KtQ", + "id": "HYzyRHAHJl8", + "url": "https://music.youtube.com/watch?v=HYzyRHAHJl8" + }, + { + "title": "2 4 - w/n (3107 - 2024) (LYRICS)", + "artist": "Nghe nh\u1ea1c Official", + "album": "Single", + "duration": 194, + "cover_url": "https://i.ytimg.com/vi/M7KlePwgtE0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mR1KhgL-_ug9euybHCS0MFHfuuLA", + "id": "M7KlePwgtE0", + "url": "https://music.youtube.com/watch?v=M7KlePwgtE0" + }, + { + "title": "Sau C\u01a1n M\u01b0a", + "artist": "COOLKID , RHYDER", + "album": "Single", + "duration": 154, + "cover_url": "https://i.ytimg.com/vi/iFoLKvdqXk8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWsLcVGvFYQwQYKj0QNo-6ZE-19g", + "id": "iFoLKvdqXk8", + "url": "https://music.youtube.com/watch?v=iFoLKvdqXk8" + }, + { + "title": "Exit Sign", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 202, + "cover_url": "https://i.ytimg.com/vi/sJt_i0hOugA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lcKx6N9oT-jvflhlil6p0IMK4WQA", + "id": "sJt_i0hOugA", + "url": "https://music.youtube.com/watch?v=sJt_i0hOugA" + }, + { + "title": "I'M THINKING ABOUT YOU (feat. RHYDER, WEAN, \u0110\u1ee8C PH\u00daC & H\u00d9NG HU\u1ef2NH)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "T\u1eacP 8 - ANH TRAI \"SAY HI\"", + "duration": 279, + "cover_url": "https://lh3.googleusercontent.com/248xlXUpIjHgrxGAJwcVxUnRobbqWPo2kbO7byupciekLxOE3ZfL854mWNqB1Bq_aGLwp6hASXknS-Cc=w120-h120-l90-rj", + "id": "C2d6C89Erb8", + "url": "https://music.youtube.com/watch?v=C2d6C89Erb8" + }, + { + "title": "Cu\u1ed9c g\u1ecdi l\u00fac n\u1eeda \u0111\u00eam", + "artist": "AMEE", + "album": "Single", + "duration": 183, + "cover_url": "https://i.ytimg.com/vi/D64So_vDEZI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuD-dfRwbfHx70IqrX06Hxwojg3g", + "id": "D64So_vDEZI", + "url": "https://music.youtube.com/watch?v=D64So_vDEZI" + }, + { + "title": "CH\u00c2N TH\u00c0NH (feat. RHYDER, CAPTAIN, QUANG H\u00d9NG MASTERD & WEAN)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "T\u1eacP 10 - ANH TRAI \"SAY HI\"", + "duration": 258, + "cover_url": "https://lh3.googleusercontent.com/mcirwaIBLC_TC6bqKsR0YRNIgm64b8FiZNyXEX4fYjplFbLVsJBTTVh9q6xsyjeyoQC9_cAV1NG6YKA=w120-h120-l90-rj", + "id": "jMjp_GWggOA", + "url": "https://music.youtube.com/watch?v=jMjp_GWggOA" + }, + { + "title": "Kh\u00f4ng Th\u1ec3 Say", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/i0nd3NPJ4MI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kpxPJNBIFUrjPyNXj9KSzyZhPacA", + "id": "i0nd3NPJ4MI", + "url": "https://music.youtube.com/watch?v=i0nd3NPJ4MI" + }, + { + "title": "Ch\u1ecbu c\u00e1ch m\u00ecnh n\u00f3i thua", + "artist": "COOLKID , RHYDER, BAN", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/dm5-tn1Rug0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFnPXT7foRtqF89FTZzWrkrdGqoA", + "id": "dm5-tn1Rug0", + "url": "https://music.youtube.com/watch?v=dm5-tn1Rug0" + }, + { + "title": "id thang m\u00e1y (feat. 267)", + "artist": "W/n", + "album": "Single", + "duration": 132, + "cover_url": "https://i.ytimg.com/vi/qDE-veU-roI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mLGvve83scPNVS2RWf0J8FE2eQIQ", + "id": "qDE-veU-roI", + "url": "https://music.youtube.com/watch?v=qDE-veU-roI" + }, + { + "title": "BADBYE", + "artist": "WEAN", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/yhWCh5IVE04/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m7JjyuA67IUsHF0vJMVhZ6ctvNgw", + "id": "yhWCh5IVE04", + "url": "https://music.youtube.com/watch?v=yhWCh5IVE04" + }, + { + "title": "LOU HO\u00c0NG - NG\u00c0Y \u0110\u1eb8P TR\u1edcI \u0110\u1ec2 N\u00d3I CHIA TAY (Official Music Video)", + "artist": "Lou Ho\u00e0ng", + "album": "Single", + "duration": 231, + "cover_url": "https://i.ytimg.com/vi/0xAW6MAT_Wo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPE9mrfq0gILpgA16nZDyF_f41lQ", + "id": "0xAW6MAT_Wo", + "url": "https://music.youtube.com/watch?v=0xAW6MAT_Wo" + }, + { + "title": "Nh\u1eafn nh\u1ee7 | Ronboogz (Lyrics video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/vfKiaXKO44M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n381KndVeEVyU0CF_eZqSMS-QR6g", + "id": "vfKiaXKO44M", + "url": "https://music.youtube.com/watch?v=vfKiaXKO44M" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Chuy\u1ec7n \u0110\u00f4i Ta - Emcee L (Da LAB) ft Mu\u1ed9ii (Official MV)", + "artist": "Da LAB", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/6eONmnFB9sw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mVwjdT_-mZ2QAlwE7xqAKAQAVAlA", + "id": "6eONmnFB9sw", + "url": "https://music.youtube.com/watch?v=6eONmnFB9sw" + }, + { + "title": "MI\u00caN MAN", + "artist": "Minh Huy", + "album": "Single", + "duration": 205, + "cover_url": "https://i.ytimg.com/vi/7uX_f8YzEiI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNH-OfD4NzEJA1co0Lc1fikXUKpw", + "id": "7uX_f8YzEiI", + "url": "https://music.youtube.com/watch?v=7uX_f8YzEiI" + }, + { + "title": "CH\u00daNG TA C\u1ee6A T\u01af\u01a0NG LAI", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/zoEtcR5EW08/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lv4_jfNfESnK0mh8F5gKgJ7h1vUw", + "id": "zoEtcR5EW08", + "url": "https://music.youtube.com/watch?v=zoEtcR5EW08" + }, + { + "title": "NOLOVENOLIFE", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 172, + "cover_url": "https://i.ytimg.com/vi/F084mTHtBpI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhKw7o_AGrSUJzBbFcDXst7hK2jA", + "id": "F084mTHtBpI", + "url": "https://music.youtube.com/watch?v=F084mTHtBpI" + }, + { + "title": "Mo", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 334, + "cover_url": "https://i.ytimg.com/vi/2YM4j-oP_qQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lzpPjF9OCGDVvOwuwbLtyGa7Pi4A", + "id": "2YM4j-oP_qQ", + "url": "https://music.youtube.com/watch?v=2YM4j-oP_qQ" + }, + { + "title": "WEAN \u2013 shhhhhhh.. feat tlinh (Official Lyrics Video)", + "artist": "WEAN", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/Pys2iOT9rpw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mXx9k9v4Z61a5lDYIb6s5wJ829XQ", + "id": "Pys2iOT9rpw", + "url": "https://music.youtube.com/watch?v=Pys2iOT9rpw" + }, + { + "title": "HURRYKNG, HIEUTHUHAI, MANBO | H\u1eb9n G\u1eb7p Em D\u01b0\u1edbi \u00c1nh Tr\u0103ng | Official Video", + "artist": "GERDNANG", + "album": "Single", + "duration": 232, + "cover_url": "https://i.ytimg.com/vi/dLmczwDCEZI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSMrrgkOYzN73RZZ9YG9WoUKG5xg", + "id": "dLmczwDCEZI", + "url": "https://music.youtube.com/watch?v=dLmczwDCEZI" + }, + { + "title": "Obito - H\u00e0 N\u1ed9i ft. VSTRA", + "artist": "Obito", + "album": "Single", + "duration": 166, + "cover_url": "https://i.ytimg.com/vi/OerAX-zKyvg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nO_yPfoJxp7C-FpHpc8p9sN47q1A", + "id": "OerAX-zKyvg", + "url": "https://music.youtube.com/watch?v=OerAX-zKyvg" + }, + { + "title": "LOVE SAND (feat. HIEUTHUHAI, JSOL, ALI HO\u00c0NG D\u01af\u01a0NG & V\u0168 TH\u1ecaNH)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "T\u1eacP 4 - ANH TRAI \"SAY HI\"", + "duration": 236, + "cover_url": "https://lh3.googleusercontent.com/OWVfxVgRseYQVQcPzWcQ1bHhiYSfCxxiMqK5HDH7JXFdbRoo9RNr2-YbjdSwBGjk3Cz5l9DAetYOprVG=w120-h120-l90-rj", + "id": "cSjF9UkTWqg", + "url": "https://music.youtube.com/watch?v=cSjF9UkTWqg" + }, + { + "title": "An Th\u1ea7n (ft. Th\u1eafng) | Low G | Rap Nh\u00e0 L\u00e0m", + "artist": "Rap Nh\u00e0 L\u00e0m", + "album": "Single", + "duration": 216, + "cover_url": "https://i.ytimg.com/vi/J7eYhM6wXPo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPN37KoE_QGfGty9ZPpJj2tYxa0A", + "id": "J7eYhM6wXPo", + "url": "https://music.youtube.com/watch?v=J7eYhM6wXPo" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "CATCH ME IF YOU CAN - NEGAV x Quang H\u00f9ng MasterD x Nicky x C\u00f4ng D\u01b0\u01a1ng | ANH TRAI SAY HI", + "artist": "Negav", + "album": "Single", + "duration": 282, + "cover_url": "https://i.ytimg.com/vi/WUbTGHzxeDI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3njQTKSHjLv_2NRhqxzSlOiwryGAA", + "id": "WUbTGHzxeDI", + "url": "https://music.youtube.com/watch?v=WUbTGHzxeDI" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "puppy & @Dangrangto - Wrong Times ( ft. FOWLEX Snowz ) [OFFICIAL LYRICS VIDEO]", + "artist": "Ocean Waves", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/O3pj32O5WN4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kIT8pcPmY-AZV1W4Znp0b8wlgdoQ", + "id": "O3pj32O5WN4", + "url": "https://music.youtube.com/watch?v=O3pj32O5WN4" + }, + { + "title": "Sinh ra \u0111\u00e3 l\u00e0 th\u1ee9 \u0111\u1ed1i l\u1eadp nhau (feat. Badbies)", + "artist": "Emcee L", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/redFrGBZoJY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kHwvlcYNZc52dc1dMwoR7acMguXQ", + "id": "redFrGBZoJY", + "url": "https://music.youtube.com/watch?v=redFrGBZoJY" + }, + { + "title": "Ch\u1ea1y Kh\u1ecfi Th\u1ebf Gi\u1edbi N\u00e0y (Instrumental)", + "artist": "Da LAB", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/hYYMF3VtOjE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3naDMhRqjY3rGBYbSzMd7JJzIVYtg", + "id": "hYYMF3VtOjE", + "url": "https://music.youtube.com/watch?v=hYYMF3VtOjE" + }, + { + "title": "Haegeum", + "artist": "Agust D & SUGA", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/iy9qZR_OGa0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mCUEnijJVusKHFSq4NRWJ99K7u9w", + "id": "iy9qZR_OGa0", + "url": "https://music.youtube.com/watch?v=iy9qZR_OGa0" + }, + { + "title": "1000 \u00c1nh M\u1eaft", + "artist": "Shiki, Obito", + "album": "Single", + "duration": 152, + "cover_url": "https://i.ytimg.com/vi/AJDEu1-nSTI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nDeVx4U7u37ehqM43JjDTxqd_txA", + "id": "AJDEu1-nSTI", + "url": "https://music.youtube.com/watch?v=AJDEu1-nSTI" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "FRI(END)S", + "artist": "V", + "album": "Single", + "duration": 254, + "cover_url": "https://i.ytimg.com/vi/62peQdQv4uo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdJHc4aKKdSbjWA95DPVNDZ9eCgA", + "id": "62peQdQv4uo", + "url": "https://music.youtube.com/watch?v=62peQdQv4uo" + }, + { + "title": "Ch\u00ecm S\u00e2u (feat. Trung Tr\u1ea7n)", + "artist": "RPT MCK", + "album": "Single", + "duration": 159, + "cover_url": "https://i.ytimg.com/vi/Yw9Ra2UiVLw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kJVIY2E4nN72epESsrE4a8_0Ybhg", + "id": "Yw9Ra2UiVLw", + "url": "https://music.youtube.com/watch?v=Yw9Ra2UiVLw" + }, + { + "title": "WALK", + "artist": "HURRYKNG, HIEUTHUHAI, Negav, Ph\u00e1p Ki\u1ec1u, and Isaac", + "album": "Single", + "duration": 349, + "cover_url": "https://i.ytimg.com/vi/iiL1XDZe-JM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPkUKHjm0Yy3CSzyRGycAiIas7Ew", + "id": "iiL1XDZe-JM", + "url": "https://music.youtube.com/watch?v=iiL1XDZe-JM" + }, + { + "title": "Ch\u00fang Ta C\u1ee7a Hi\u1ec7n T\u1ea1i", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Ch\u00fang Ta C\u1ee7a Hi\u1ec7n T\u1ea1i", + "duration": 302, + "cover_url": "https://lh3.googleusercontent.com/R96C4cCNuVOuaKpo8AfoM2ienXSOY3rhljcOi2_7Cg1KnjyZ3hr1X_A5Z8G5vOg645yG6P8txcu1r5kI=w120-h120-l90-rj", + "id": "bNp9pn0ni3I", + "url": "https://music.youtube.com/watch?v=bNp9pn0ni3I" + }, + { + "title": "Mi\u1ec1n M\u1ed9ng M\u1ecb", + "artist": "AMEE", + "album": "Single", + "duration": 167, + "cover_url": "https://i.ytimg.com/vi/8ItcR_8NkP8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k60wEuxjklJhJjGOsZHrGHoPDxSw", + "id": "8ItcR_8NkP8", + "url": "https://music.youtube.com/watch?v=8ItcR_8NkP8" + } + ] + }, + { + "id": "PLNXnv4KPzSF9GLB4EMTqOkhrvrgDNQeqS", + "title": "Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026)", + "description": "Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026)\n \nWe are happy that you are here and you are listening to best of vietnamese songs. We hope that you will enjoy these famous vietnamese songs. Save it if you want to listen again. Thank you!\n \nYou can also find us with:\nvietnamese songs 2025\nmost popular vietnamese songs 2025\npopular vietnamese songs 2025\nvietnam music playlist\nvietnam playlist 2025\nbest of vietnamese music\nfamous vietnamese songs 2025\nvietnamese playlist 2025\nmost popular vietnamese songs\npopular vietnamese songs\n \nMost Popular Vietnamese Songs January 2025, February 2025, March 2025, April 2025, May 2025, June 2025, July 2025, August 2025, September 2025, October 2025, November 2025, December 2024\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/BAZCttRpg_pjlG9tDzk9C0Sk6O2hr3BQEY9TiresXpRBpSbbp3GyZP4FQXboOjesNgoXiZ7Pjyk=s1200", + "tracks": [ + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "C\u1ee9u L\u1ea5y \u00c2m Nh\u1ea1c (feat. itsnk)", + "artist": "Wren Evans", + "album": "Single", + "duration": 224, + "cover_url": "https://i.ytimg.com/vi/3K6PRfAp6O4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lg7mFYjCGYWV7sS9aC6K8H03Q_AQ", + "id": "3K6PRfAp6O4", + "url": "https://music.youtube.com/watch?v=3K6PRfAp6O4" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "KI\u00caN TR\u00cc L\u00c0 D\u00cc TH\u00c0NH C\u00d4NG", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/_r2CjzHXUWQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mWkAmFtoALHRNrqZIMXtMOmS_FCw", + "id": "_r2CjzHXUWQ", + "url": "https://music.youtube.com/watch?v=_r2CjzHXUWQ" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "N\u01b0\u1edbc M\u1eaft C\u00e1 S\u1ea5u", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/zaYS8tiD0Og/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJH1X0IXVk0CQMSuUOGO0tUjY8lw", + "id": "zaYS8tiD0Og", + "url": "https://music.youtube.com/watch?v=zaYS8tiD0Og" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "[ KARAOKE BEAT CHU\u1ea8N ] B\u1eaeC BLING ( B\u1eaeC NINH ) - HO\u00c0 MINZY FT NS XU\u00c2N HINH x MASEW x TU\u1ea4N CRY", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/GAc_G1tonwg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kgf6WUrnm1xLYthbryXs0jMA9vsQ", + "id": "GAc_G1tonwg", + "url": "https://music.youtube.com/watch?v=GAc_G1tonwg" + }, + { + "title": "Ch\u0103m Em M\u1ed9t \u0110\u1eddi", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/ZvbwY5qUYnc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ltyalTmLfvg4ZbQCX5q-0MKFUpNA", + "id": "ZvbwY5qUYnc", + "url": "https://music.youtube.com/watch?v=ZvbwY5qUYnc" + }, + { + "title": "T\u00c2M T\u00ccNH NG\u01af\u1edcI L\u00cdNH", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 363, + "cover_url": "https://i.ytimg.com/vi/I2Cqm-_dWLk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l8MojKOIR7Up4ewRIX9ffM_yVycg", + "id": "I2Cqm-_dWLk", + "url": "https://music.youtube.com/watch?v=I2Cqm-_dWLk" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "\u0110\u1ea7u T\u01b0 Cho Tr\u00e1i Tim", + "artist": "Quang H\u00f9ng MasterD", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/-rWEFecV8iw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC-w4ThFsULIWmVLuS3dXGqkJ1eA", + "id": "-rWEFecV8iw", + "url": "https://music.youtube.com/watch?v=-rWEFecV8iw" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "SOOBIN - Ti\u1ebfn T\u1edbi \u01af\u1edbc M\u01a1 2 | V\u01b0\u01a1n M\u00ecnh V\u01b0\u1ee3t Tr\u1ed9i (feat. Rhymastic & SlimV)", + "artist": "SOOBIN", + "album": "Single", + "duration": 170, + "cover_url": "https://i.ytimg.com/vi/2EBWjBMTfUo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNvghJ1rpsvt7TYaNV5EMeLZ0pmw", + "id": "2EBWjBMTfUo", + "url": "https://music.youtube.com/watch?v=2EBWjBMTfUo" + }, + { + "title": "\u00d4M S\u1ea6U REMIX - NB3 HO\u00c0I B\u1ea2O | Em Quay B\u01b0\u1edbc \u0110i Ch\u1eafc C\u00f3 L\u1ebd Anh \u0110\u00e3 Sai | Ph\u00fat Cu\u1ed1i C\u1ed1 N\u00edu \u0110\u00f4i B\u00e0n Tay", + "artist": "ACV Entertainment", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/AhC2SbKd-bY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mZoCtYKosK2XtxwJVirCbHl9ISzQ", + "id": "AhC2SbKd-bY", + "url": "https://music.youtube.com/watch?v=AhC2SbKd-bY" + }, + { + "title": "Tr\u00fac Nh\u00e2n - KH\u00d4NG RA G\u00cc | Only Vocal", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 202, + "cover_url": "https://i.ytimg.com/vi/mtCS2V7PsoI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nO1unzoxyhqJz_fxtzNK-c-YCXLw", + "id": "mtCS2V7PsoI", + "url": "https://music.youtube.com/watch?v=mtCS2V7PsoI" + }, + { + "title": "M\u00f9a H\u00e8 N\u0103m \u0110\u00f3 - The Underdogs | Official MV", + "artist": "B Ray", + "album": "Single", + "duration": 365, + "cover_url": "https://i.ytimg.com/vi/jpPa1-EOxcc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4h_9_jEkzEQmwFq3D0FdAx9NvsQ", + "id": "jpPa1-EOxcc", + "url": "https://music.youtube.com/watch?v=jpPa1-EOxcc" + }, + { + "title": "M\u1eb8 Y\u00caU CON", + "artist": "BB Tr\u1ea7n, T\u1ef1 Long, Tuan Hung, C\u01b0\u1eddng Seven", + "album": "Single", + "duration": 361, + "cover_url": "https://i.ytimg.com/vi/_lIu6T3Bp2I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPQ36_hC6IImZYmCW9Jz9QVRtOmw", + "id": "_lIu6T3Bp2I", + "url": "https://music.youtube.com/watch?v=_lIu6T3Bp2I" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "N\u1ee4 C\u01af\u1edcI KHO\u1eba | RHYMASTIC x D\u01af\u01a0NG HO\u00c0NG Y\u1ebeN x MA B\u01af | NH\u1ea0C XU\u00c2N 2025 (feat. D\u01b0\u01a1ng Ho\u00e0ng Y\u1ebfn)", + "artist": "Rhymastic", + "album": "Single", + "duration": 231, + "cover_url": "https://i.ytimg.com/vi/b-sCa9raHcA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ka9uO2s9DrSBU9176GCPubScmtxg", + "id": "b-sCa9raHcA", + "url": "https://music.youtube.com/watch?v=b-sCa9raHcA" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "\u0110O\u00c1 PH\u00d9 DUNG CU\u1ed0I C\u00d9NG (feat. \u0110\u1ee9c Ph\u00fac)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "Single", + "duration": 332, + "cover_url": "https://i.ytimg.com/vi/aXqwQ_ZjY2A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nIlVw0nHGTmGUMUvFoiF0TLxw8OQ", + "id": "aXqwQ_ZjY2A", + "url": "https://music.youtube.com/watch?v=aXqwQ_ZjY2A" + }, + { + "title": "\u00c1nh M\u1eaft Bi\u1ebft C\u01b0\u1eddi", + "artist": "Quang H\u00f9ng MasterD, T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 171, + "cover_url": "https://i.ytimg.com/vi/eUR8nHYyZIA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUFhqZ8JHvL_uVbGK--T1CLO9l2A", + "id": "eUR8nHYyZIA", + "url": "https://music.youtube.com/watch?v=eUR8nHYyZIA" + }, + { + "title": "\ud83d\udd25B\u00e0i h\u00e1t \u0111ang HOT\ud83d\udd25NH\u00c2N CH\u1ee8NG - Quang Nhi | B\u00e0i H\u00e1t Mang Nhi\u1ec1u C\u1ea3m X\u00fac \u00cdt Ng\u01b0\u1eddi T\u1eebng Nghe | 4K MV", + "artist": "Gi\u1ecdng Ca \u0110\u1ec3 \u0110\u1eddi", + "album": "Single", + "duration": 377, + "cover_url": "https://i.ytimg.com/vi/0R6Zr1B5w1U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lrxxx3eNgizCsiz6qlFuFCGcr2Jg", + "id": "0R6Zr1B5w1U", + "url": "https://music.youtube.com/watch?v=0R6Zr1B5w1U" + }, + { + "title": "T\u00c1I SINH REMIX - T\u00d9NG D\u01af\u01a0NG x ACV REMIX | Ch\u00ecm V\u00e0o Trong \u00c1nh M\u1eaft \u0110\u1eafm \u0110u\u1ed1i Remix...", + "artist": "ACV Entertainment", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/BkXDE5nGtHI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kioNt0_rqfyPj5Pwu5fuo_2hycXg", + "id": "BkXDE5nGtHI", + "url": "https://music.youtube.com/watch?v=BkXDE5nGtHI" + }, + { + "title": "D\u01b0\u1edbi T\u00e1n C\u00e2y Kh\u00f4 Hoa N\u1edf", + "artist": "Jack - J97", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/Lf8df8FCJhk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kX6iI7yhEIDtHxoexrnH5lLJu13g", + "id": "Lf8df8FCJhk", + "url": "https://music.youtube.com/watch?v=Lf8df8FCJhk" + }, + { + "title": "Ng\u00e0y \u0110\u1ea7u Sau Chia Tay", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 334, + "cover_url": "https://i.ytimg.com/vi/ZnRgYm4t_14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nG2GzD56eudZALSy3qJ1Me1fsU_A", + "id": "ZnRgYm4t_14", + "url": "https://music.youtube.com/watch?v=ZnRgYm4t_14" + }, + { + "title": "Say S\u00f3ng", + "artist": "2pillz, T\u0103ng Duy T\u00e2n, & Drum7", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/gpl26Fg50zE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lU6FrqsvpUITc-CLxbwrski_4gXg", + "id": "gpl26Fg50zE", + "url": "https://music.youtube.com/watch?v=gpl26Fg50zE" + }, + { + "title": "Saved by a Psalm", + "artist": "Govana & Popcaan", + "album": "Single", + "duration": 217, + "cover_url": "https://i.ytimg.com/vi/QF-w-tdJGeI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWXIRxbbS5ovba5gz7A55DzzhCcw", + "id": "QF-w-tdJGeI", + "url": "https://music.youtube.com/watch?v=QF-w-tdJGeI" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "Ng\u00e0y Trong Xanh", + "artist": "Quang H\u00f9ng MasterD", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/NmO2joWVbGk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n44SNjQC7Rf_s00egs1BPz5GcpTQ", + "id": "NmO2joWVbGk", + "url": "https://music.youtube.com/watch?v=NmO2joWVbGk" + }, + { + "title": "H\u1ee8A \u0110\u1ee2I NH\u01afNG CH\u1eb2NG T\u1edaI REMIX - L\u00c2M TU\u1ea4N x MIKE.N REMIX | Em \u0110i V\u1ec1 \u1ede Ph\u00eda M\u1eb7t Tr\u1eddi...", + "artist": "ACV", + "album": "Single", + "duration": 415, + "cover_url": "https://i.ytimg.com/vi/AEMbb7NAnbo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxW-do6K_-YShw6_fXUv3j17_Ogw", + "id": "AEMbb7NAnbo", + "url": "https://music.youtube.com/watch?v=AEMbb7NAnbo" + }, + { + "title": "W/n - a b c d x y z n m a s a d (song 24) | 3107", + "artist": "W/n", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/rDpJfmBI9xQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mROJlZKPjwF__nqYYv7YTPYA7AYQ", + "id": "rDpJfmBI9xQ", + "url": "https://music.youtube.com/watch?v=rDpJfmBI9xQ" + }, + { + "title": "ALL TEN (feat. Lil Baby)", + "artist": "Tay B", + "album": "Single", + "duration": 204, + "cover_url": "https://i.ytimg.com/vi/EWdPzOQOCWU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mczok6LMfVaItnkmpb27iF_opiNg", + "id": "EWdPzOQOCWU", + "url": "https://music.youtube.com/watch?v=EWdPzOQOCWU" + }, + { + "title": "SOOBIN, tlinh - Ai M\u00e0 Bi\u1ebft \u0110\u01b0\u1ee3c | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video) (feat. tlinh)", + "artist": "SOOBIN", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/oV7qaHKPoK0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3llKRVwDPB7Zu5d4DMZY3gzvw1ZQQ", + "id": "oV7qaHKPoK0", + "url": "https://music.youtube.com/watch?v=oV7qaHKPoK0" + }, + { + "title": "D\u1eabu C\u00f3 L\u1ed7i L\u1ea7m", + "artist": "Duy Kh\u00e1nh \u5468\u5468, B\u00f9i C\u00f4ng Nam, Binz, Thi\u00ean Minh", + "album": "Single", + "duration": 356, + "cover_url": "https://i.ytimg.com/vi/SmHsIi5gJNc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mY5SM06uG0DP6MLQkD0hIDL_clGg", + "id": "SmHsIi5gJNc", + "url": "https://music.youtube.com/watch?v=SmHsIi5gJNc" + }, + { + "title": "M\u1ed8NG YU - AMEE x MCK | Official Music Video (from \u2018M\u1ed8NGMEE\u2019 album)", + "artist": "AMEE", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/09Mh7GgUFFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kOfLMsTFC8tE0kNUwRjBLFPok5BQ", + "id": "09Mh7GgUFFA", + "url": "https://music.youtube.com/watch?v=09Mh7GgUFFA" + } + ] + }, + { + "id": "PL2O9v6ujh6BASo3h0ylckzpprl-rP0wGy", + "title": "Top 50 - Vietnam-Da LAB, Wren Evans, W/N", + "description": "Da LAB, Wren Evans, W/N, Th\u1ecbnh Suy, ERIK\r\nTop 50 - Vietnam HipHop Playlist\r\nDa LAB - G\u00e1c L\u1ea1i \u00c2u Lo (feat. Miu L\u00ea)\nWren Evans - Th\u00edch Em H\u01a1i Nhi\u1ec1u\nW/N - 3 1 0 7 (feat. Duongg & N\u00e2u)\nTh\u1ecbnh Suy - Chuy\u1ec7n R\u1eb1ng\nERIK - \u0110au Nh\u1ea5t L\u00e0 Im L\u1eb7ng\nHoang Dung - N\u00e0ng Th\u01a1\nsalem ilese - PS5 (with TOMORROW x TOGETHER feat. Alan Walker)\nn\u00e2n - T\u00ecnh \u0110\u1eafng Nh\u01b0 Ly C\u00e0 Ph\u00ea\nHoang Thuy Linh - See T\u00ecnh\nERIK - D\u1ecbu D\u00e0ng Em \u0110\u1ebfn\nV - Christmas Tree\nPink Sweat$ - At My Worst\nbuitruonglinh - D\u00f9 Cho Mai V\u1ec1 Sau\nV\u0169. - B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n\nTh\u1ecbnh Suy - tiny love\nBTS - Butter\nJuice WRLD - Girl Of My Dreams (with SUGA of BTS)\nhooligan. - To The Moon\nMONSTAR - c\u00f3 h\u1eb9n v\u1edbi thanh xu\u00e2n\nS\u01a1n T\u00f9ng M-TP - Ch\u00fang Ta C\u1ee7a Hi\u1ec7n T\u1ea1i\nGlass Animals - Heat Waves\nENHYPEN - Polaroid Love\nDa LAB - Th\u1ee9c Gi\u1ea5c\nV\u0169. - B\u01b0\u1edbc Qua Nhau\nTREASURE - DARARI\nChillies - C\u1ee9 Chill Th\u00f4i\nRPT MCK - Ch\u00ecm S\u00e2u (feat. Trung Tr\u1ea7n)\ndhruv - double take\nS\u01a1n T\u00f9ng M-TP - Mu\u1ed9n R\u1ed3i M\u00e0 Sao C\u00f2n\nJSOL - S\u00e0i G\u00f2n H\u00f4m Nay M\u01b0a\nLynk Lee - Bu\u1ed3n Th\u00ec C\u1ee9 Kh\u00f3c \u0110i\nEmcee L (Da LAB) - Sinh Ra \u0110\u00e3 L\u00e0 Th\u1ee9 \u0110\u1ed1i L\u1eadp Nhau (feat. Badbies)\nBTS - Dynamite\nJung Kook - Stay Alive (Prod. SUGA of BTS)\nLow G - An Th\u1ea7n\nM\u1ef9 T\u00e2m - H\u1eb9n \u01af\u1edbc T\u1eeb H\u01b0 V\u00f4 - Live\nBTS - Trivia \u8f49 : Seesaw\nGAYLE - abcdefu\nAgust D - Daechwita\nK-ICM - Ch\u00e2n M\u00e2y\n\u0110\u1ee9c Ph\u00fac - Ng\u00e0y \u0110\u1ea7u Ti\u00ean\nThe Kid LAROI - Stay (with Justin Bieber)\nHoang Thuy Linh - Gieo Qu\u1ebb", + "cover_url": "https://yt3.ggpht.com/cLnoSoJC1NcystKbaHASkgvPnIN-9zikTK5RCVwM7andtlgdna0wRnxQxhL80ms_je4HQPhMMA=s1200", + "tracks": [ + { + "title": "Butter", + "artist": "BTS", + "album": "Butter / Permission to Dance", + "duration": 165, + "cover_url": "https://lh3.googleusercontent.com/DZLnUlmagZUyAJPBvh1Jlf_ER26uxSDwzv2-SXzU3JZAyrWVeRTVE4GEKFsmCIKk8E2ISKmsghaaCSw3=w120-h120-l90-rj", + "id": "NNCBq0JHXsU", + "url": "https://music.youtube.com/watch?v=NNCBq0JHXsU" + }, + { + "title": "Big Move", + "artist": "Jennifer Mariucci", + "album": "Non Stop", + "duration": 180, + "cover_url": "https://lh3.googleusercontent.com/M1JuNMt2cft-WClp8cMiRkb17LxqFc5B-khEQJrOKWJcYBv9hEWjGk5UB9kMSLo21Ks-wIoQKvpgcC3T=w120-h120-l90-rj", + "id": "96rCmQBafmo", + "url": "https://music.youtube.com/watch?v=96rCmQBafmo" + }, + { + "title": "Daechwita", + "artist": "Agust D", + "album": "D-2", + "duration": 226, + "cover_url": "https://lh3.googleusercontent.com/J4Hm2Pb6YHoad2TWoFMvDPoYnSi-cuQPAtuYNk7Y1hFUr1OpOFWFBQYnqZp2bO5SLLa3LdWIeI3vAdWM=w120-h120-l90-rj", + "id": "65XIZDJ24_s", + "url": "https://music.youtube.com/watch?v=65XIZDJ24_s" + }, + { + "title": "Girl Of My Dreams", + "artist": "Juice WRLD, SUGA, BTS", + "album": "Fighting Demons (Digital Deluxe)", + "duration": 227, + "cover_url": "https://lh3.googleusercontent.com/afsVRbXYH8AgBIHGuGPB_cpOCmm11aUAHrxDTf9ilqPphEpQCILiEuiShXB_Yn2oJhrvvZhMo_4_NeKM=w120-h120-l90-rj", + "id": "plPjM4DTw1w", + "url": "https://music.youtube.com/watch?v=plPjM4DTw1w" + }, + { + "title": "Ch\u00ecm S\u00e2u", + "artist": "RPT MCK, Trung Tr\u1ea7n", + "album": "Ch\u00ecm S\u00e2u", + "duration": 156, + "cover_url": "https://lh3.googleusercontent.com/KBIqnRPfgFdkPTL-jf3a3tYThe5oLEVrgSfpuu-QEiKYTMOKUyqe9BqC4qM4MeqEN32hDQqzn_pLkZWP=w120-h120-l90-rj", + "id": "hpNUnNyR_00", + "url": "https://music.youtube.com/watch?v=hpNUnNyR_00" + }, + { + "title": "Pimp of the Year", + "artist": "Ant Banks, Dru Down", + "album": "Dru Down", + "duration": 254, + "cover_url": "https://lh3.googleusercontent.com/Nhm9yQxSduyF4XGkw2Ykdpr3MKJne8N6wf_P0CbPfDJAp3taCOuCu0IsoKv6QHknnrGzaznzVgYAPtge=w120-h120-l90-rj", + "id": "JzWbj3xpyMg", + "url": "https://music.youtube.com/watch?v=JzWbj3xpyMg" + }, + { + "title": "Trivia\u00a0\u8f49: Seesaw", + "artist": "BTS", + "album": "LOVE YOURSELF \u7d50 'Answer'", + "duration": 247, + "cover_url": "https://lh3.googleusercontent.com/-dnQo6KIRWKvUD2L_uLuxYQ-YJfpmdOfuQ77tFBdoNM_1_6N_Wagm_aJMRuIOdXxCqg0wA7hAVuI0M9A=w120-h120-l90-rj", + "id": "NC_Lo8nRqfA", + "url": "https://music.youtube.com/watch?v=NC_Lo8nRqfA" + }, + { + "title": "Moloi", + "artist": "Umanji", + "album": "The Collection", + "duration": 358, + "cover_url": "https://lh3.googleusercontent.com/6uWWH8crMbSvHv0HIpE6K1kHaxKwBk19nA7GJQErXtKQgIkDSW7gNjqOqtTmIvoanc5mQWkRGgBFPG2Wog=w120-h120-l90-rj", + "id": "EULXmXfXuzw", + "url": "https://music.youtube.com/watch?v=EULXmXfXuzw" + }, + { + "title": "HODON\u00cdN-Z koncertu nejstar\u0161\u00ed jiho\u010desk\u00e9 obl\u00edben\u00e9 dechov\u00e9 hudby-Babouci (13.)", + "artist": "Vrba Anton\u00edn", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/Lxpynj-kMsM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lVDknQgQNgUGJ3724WX5HZF-fQAg", + "id": "Lxpynj-kMsM", + "url": "https://music.youtube.com/watch?v=Lxpynj-kMsM" + }, + { + "title": "See T\u00ecnh", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "See T\u00ecnh", + "duration": 186, + "cover_url": "https://lh3.googleusercontent.com/z9Ny4Pp_x72b4zdfpjdGL00t3WnnztqjDHloQhYXhoxY-jFRI2cZatciEi_hQwYH4ihaST5VxLWS2uE=w120-h120-l90-rj", + "id": "vdck9OBanpc", + "url": "https://music.youtube.com/watch?v=vdck9OBanpc" + }, + { + "title": "\u0110au Nh\u1ea5t L\u00e0 L\u1eb7ng Im", + "artist": "Erik", + "album": "\u0110au Nh\u1ea5t L\u00e0 L\u1eb7ng Im", + "duration": 287, + "cover_url": "https://lh3.googleusercontent.com/72LQFuR2HTQvI76WnQ48rRvJNoUrapDoM2vuqK4z3XilLov7aNZW7TGvA3_XBXXPzpbN0TLeCM0Vvf6E=w120-h120-l90-rj", + "id": "Q8Z5aLT2xUE", + "url": "https://music.youtube.com/watch?v=Q8Z5aLT2xUE" + }, + { + "title": "B\u01b0\u1edbc Qua Nhau", + "artist": "V\u0169", + "album": "B\u01b0\u1edbc Qua Nhau", + "duration": 258, + "cover_url": "https://lh3.googleusercontent.com/v5o1k2cnxzGsGgzTGc0CfB9u0mQfraC6nw1HgJ1Kz2OMZTneyr78FLuhrJ7nWL8YdhVOrPsoAk6JHFQ=w120-h120-l90-rj", + "id": "Q3dktYAC1yM", + "url": "https://music.youtube.com/watch?v=Q3dktYAC1yM" + }, + { + "title": "Ch\u00e2n M\u00e2y", + "artist": "K-ICM, Ph\u01b0\u01a1ng Thanh", + "album": "Ch\u00e2n M\u00e2y", + "duration": 264, + "cover_url": "https://lh3.googleusercontent.com/2LU9waFtcXARLqcEZK63O2aYu4oMzucD7Eiqyb8bHAzsh0TGPkF9O63i8GmBolCjkxyz13elJNFwgF8=w120-h120-l90-rj", + "id": "aOMVjKXO3lo", + "url": "https://music.youtube.com/watch?v=aOMVjKXO3lo" + }, + { + "title": "Christmas Tree", + "artist": "V", + "album": "Our Beloved Summer (Original Television Soundtrack), Pt. 5", + "duration": 210, + "cover_url": "https://lh3.googleusercontent.com/a8HdlGyvcWl6UQ3GjAeSavPDfGs7yRVcQbAy98bPMJCwJIOkRH9ISsbXShoDu-8zIy5F-Vtih1uf90r9=w120-h120-l90-rj", + "id": "l29XdcD2gTo", + "url": "https://music.youtube.com/watch?v=l29XdcD2gTo" + }, + { + "title": "Juliet at Friar's Laurence's, Act 2, Scene 2 - Romeo and Juliet, Op. 64 (Remastered 2022)", + "artist": "Gennady Rozhdestvensky, Bolshoi Theatre Orchestra, Sergei Prokofiev", + "album": "Prokofiev: Romeo and Juliet, Ballet in 3 Acts, Op. 64", + "duration": 221, + "cover_url": "https://lh3.googleusercontent.com/SStS7Kw4VsFGpa6l5JBxr2bz5F0ZLxAS5LwCiJy_XUxQFWQSXQ_eBDoiCK1KzGTZSvSW6XLflBbswE_6=w120-h120-l90-rj", + "id": "FwNe-kdIPu4", + "url": "https://music.youtube.com/watch?v=FwNe-kdIPu4" + }, + { + "title": "tiny love", + "artist": "Th\u1ecbnh Suy", + "album": "Tiny Things", + "duration": 159, + "cover_url": "https://lh3.googleusercontent.com/DQ8HJNrVZNOKM7d3IbNWCKKJTUG7VIQPpLvyzbPsCl05lEUJrnu2gRqqn_EVz7P-Z3t4xDwoo5A_JH5p=w120-h120-l90-rj", + "id": "WQjT_-DYZKU", + "url": "https://music.youtube.com/watch?v=WQjT_-DYZKU" + }, + { + "title": "Gieo Qu\u1ebb (feat. \u0110en)", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "Gieo Qu\u1ebb", + "duration": 199, + "cover_url": "https://lh3.googleusercontent.com/vwzI1P-53KD8dTouq_A-9tLVP-BPdKlzjGqLiDXTlMV3IfZtJcwapmEMLIOoa2216bjUKlx1FIsTu4wt=w120-h120-l90-rj", + "id": "VWw6KXPhfwY", + "url": "https://music.youtube.com/watch?v=VWw6KXPhfwY" + }, + { + "title": "Youm Maychbah Youm", + "artist": "Daoudi, DJ Youcef", + "album": "Youm Maychbah Youm", + "duration": 474, + "cover_url": "https://lh3.googleusercontent.com/HIv-ial6LeHA25FU0r1oPCRhsx5H-giimWTh_VD6wryHoHX7Wi3b_VnrmwYavD9ZBRIIVcuAorBIzwNR=w120-h120-l90-rj", + "id": "0_BdB35IUbw", + "url": "https://music.youtube.com/watch?v=0_BdB35IUbw" + }, + { + "title": "c\u00f3 h\u1eb9n v\u1edbi thanh xu\u00e2n", + "artist": "MONSTAR, GREY D, & V\u01af\u01a0NG B\u00ccNH", + "album": "c\u00f3 h\u1eb9n v\u1edbi thanh xu\u00e2n", + "duration": 219, + "cover_url": "https://lh3.googleusercontent.com/20wc4M3qIVQ67mcikZIu2OLNpwVb_g838gaG8PZ44p5JU-BCwZHgKDw6oVNfO_ghNM70Knhgonskh2aA=w120-h120-l90-rj", + "id": "HXzRlUL1cF0", + "url": "https://music.youtube.com/watch?v=HXzRlUL1cF0" + }, + { + "title": "\ub2e4\ub77c\ub9ac (DARARI)", + "artist": "TREASURE", + "album": "THE SECOND STEP : CHAPTER ONE", + "duration": 221, + "cover_url": "https://lh3.googleusercontent.com/gJFq0ac9QC7xpzniLb2sNvW4-363my4869MBYWNJEuH9Ma_SqrnA75Hlj9QFrf72kAThYkimQj4EYZOvTg=w120-h120-l90-rj", + "id": "cXCwKMvt9wE", + "url": "https://music.youtube.com/watch?v=cXCwKMvt9wE" + }, + { + "title": "Alive _ Sunset _Midnight_ Cover", + "artist": "Alive Jam Studio", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/OIBUTyYm9BE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mphhhczctOQJM31p7_uETIoyc2aQ", + "id": "OIBUTyYm9BE", + "url": "https://music.youtube.com/watch?v=OIBUTyYm9BE" + }, + { + "title": "92nd annual day function", + "artist": "\u0d28\u0d2e\u0d4d\u0d2e\u0d41\u0d1f\u0d46 LF \u0d13\u0d7c\u0d2e\u0d4d\u0d2e\u0d15\u0d7e", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/2v8xVNnlOcI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_Sh6XRj9fNelZArc2I-RNYg8adQ", + "id": "2v8xVNnlOcI", + "url": "https://music.youtube.com/watch?v=2v8xVNnlOcI" + }, + { + "title": "B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n", + "artist": "V\u0169", + "album": "B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n", + "duration": 279, + "cover_url": "https://lh3.googleusercontent.com/80JtLoJK8_2cZqH6nZQp5k0k5fxH23LdXH1zn0H7hQFfUDKAhokNYQrUR-MTWJHlao5qdZO4s2HdI8g=w120-h120-l90-rj", + "id": "l7oEVIZoZrQ", + "url": "https://music.youtube.com/watch?v=l7oEVIZoZrQ" + }, + { + "title": "T\u00ecnh \u0110\u1eafng Nh\u01b0 Ly C\u00e0 Ph\u00ea", + "artist": "Ng\u01a1, N\u00c2N", + "album": "T\u00ecnh \u0110\u1eafng Nh\u01b0 Ly C\u00e0 Ph\u00ea", + "duration": 216, + "cover_url": "https://lh3.googleusercontent.com/w0js64ARb8hCazMx2CXW-6pa1gfP1pNDQp437gFbJMS6yaSwPMHCaraYpqI9nSSx9EUuIVvd5iA90N1Q=w120-h120-l90-rj", + "id": "geFn1prsizI", + "url": "https://music.youtube.com/watch?v=geFn1prsizI" + } + ] + } + ], + "Vietnamese Artists": [ + { + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] + }, + { + "id": "PLhyMoBNI74EGiYSZPbWEtOIXEzNXOyWYh", + "title": "Catchy Vietnamese Pop Songs", + "description": "Best of Vietnamese Artists", + "cover_url": "https://yt3.googleusercontent.com/TYvpc00zYNnbTjI_DGHJqJAEwsuwjGi02hnTJWgheX5PqBOGv4lemcUe1IgJdPBS5NXMk8ljSHA=s1200", + "tracks": [ + { + "title": "B\u00f9a y\u00eau", + "artist": "B\u00edch Ph\u01b0\u01a1ng", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/FkOt19CUC30/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m5MACIY7yrSV3SstJmXMCPs6Onqg", + "id": "FkOt19CUC30", + "url": "https://music.youtube.com/watch?v=FkOt19CUC30" + }, + { + "title": "Lyrics || Y\u00caU 5 - Rhymastic", + "artist": "Jen Hoang", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/y576-ONm5II/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kz4IWQMh9ktPv0NdTAAQGAP0FXJw", + "id": "y576-ONm5II", + "url": "https://music.youtube.com/watch?v=y576-ONm5II" + }, + { + "title": "Bu\u00f4ng \u0110\u00f4i Tay Nhau Ra", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/LCyo565N_5w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLPRwRDZ4ejJigePYqj1jW2DSKpg", + "id": "LCyo565N_5w", + "url": "https://music.youtube.com/watch?v=LCyo565N_5w" + }, + { + "title": "Ch\u00fang ta kh\u00f4ng thu\u1ed9c v\u1ec1 nhau", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/qGRU3sRbaYw/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3lpsuY4DmPABtvjlmOI_6xGkF2Pfg", + "id": "qGRU3sRbaYw", + "url": "https://music.youtube.com/watch?v=qGRU3sRbaYw" + }, + { + "title": "My everything", + "artist": "Tien Tien", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/IKZJKFy9rI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKoGl3rXugdpbMwgq6vzNLXepwAA", + "id": "IKZJKFy9rI0", + "url": "https://music.youtube.com/watch?v=IKZJKFy9rI0" + }, + { + "title": "Tr\u00fac Nh\u00e2n | Ng\u01b0\u1eddi Ta C\u00f3 Th\u01b0\u01a1ng M\u00ecnh \u0110\u00e2u", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/Ya-btLv0WG0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mf-F79kMV1YgriLV6PkYG_bzsPAw", + "id": "Ya-btLv0WG0", + "url": "https://music.youtube.com/watch?v=Ya-btLv0WG0" + }, + { + "title": "PH\u00cdA SAU EM - Kay Tr\u1ea7n ft Binz (Official Music Video)", + "artist": "STUDY KLA6", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/LklFoy_a3bA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mgWeXpCMNRlsqJGwwk4zVilWBHdQ", + "id": "LklFoy_a3bA", + "url": "https://music.youtube.com/watch?v=LklFoy_a3bA" + }, + { + "title": "Y\u00eau M\u1ed9t Ng\u01b0\u1eddi C\u00f3 L\u1ebd | Lou Ho\u00e0ng - Miu L\u00ea | Official MV | Nh\u1ea1c tr\u1ebb hay tuy\u1ec3n ch\u1ecdn", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/_-KiD98d3_o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k6FClgGMuTK8TFSgbvYwGWSglYZg", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "T\u00f3c Ti\u00ean - C\u00d3 AI TH\u01af\u01a0NG EM NH\u01af ANH (#CATENA) ft. Touliver (Official MV)", + "artist": "T\u00f3c Ti\u00ean", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/neCmEbI2VWg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWRpg9Xl9T8yX9meotiK_rhF-SwA", + "id": "neCmEbI2VWg", + "url": "https://music.youtube.com/watch?v=neCmEbI2VWg" + }, + { + "title": "T\u1eeb Ng\u00e0y Em \u0110\u1ebfn (Official Music Video)", + "artist": "Da LAB", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/AmvA-XJF0j8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kL_WU6vNVMY6_4eImgWBUziY6Y7A", + "id": "AmvA-XJF0j8", + "url": "https://music.youtube.com/watch?v=AmvA-XJF0j8" + }, + { + "title": "S\u00e1ng M\u1eaft Ch\u01b0a", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 323, + "cover_url": "https://i.ytimg.com/vi/rDhx4ejrPPA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbb15kuppY5OxIbG-phIzCxRc-Iw", + "id": "rDhx4ejrPPA", + "url": "https://music.youtube.com/watch?v=rDhx4ejrPPA" + }, + { + "title": "TIA - Ai \u0110\u01b0a Em V\u1ec1 | Official M/V | Ft. L\u00ea Thi\u1ec7n Hi\u1ebfu", + "artist": "TIA", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/apqe_u3VJQ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nw69fL7mdMXj-ONLQ-Zdef2Vyjfw", + "id": "apqe_u3VJQ4", + "url": "https://music.youtube.com/watch?v=apqe_u3VJQ4" + }, + { + "title": "Kimmese - Loving You Sunny ft. \u0110en (Prod.by Touliver)", + "artist": "Kimmese", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/GjSi4OxJORY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kf8x7NyqpSnfUu5f0uHo9tRgrjsQ", + "id": "GjSi4OxJORY", + "url": "https://music.youtube.com/watch?v=GjSi4OxJORY" + }, + { + "title": "MUON RUOU TO TINH", + "artist": "BIG DADDY, EMILY", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/aGUQsb31TEw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuSpN7XgGtIKCbCVaMkNombxl8ng", + "id": "aGUQsb31TEw", + "url": "https://music.youtube.com/watch?v=aGUQsb31TEw" + }, + { + "title": "See t\u00ecnh", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/gJHSDZfJrRY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3noujG7mmhreYZe3fNV75wr-TfSGg", + "id": "gJHSDZfJrRY", + "url": "https://music.youtube.com/watch?v=gJHSDZfJrRY" + }, + { + "title": "C\u1ee9 Chill Th\u00f4i", + "artist": "Chillies, Suni H\u1ea1 Linh, Rhymastic", + "album": "Single", + "duration": 281, + "cover_url": "https://i.ytimg.com/vi/LZN4I3K8SC0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nhG-SX7zN488sVWdirjihYRA_92w", + "id": "LZN4I3K8SC0", + "url": "https://music.youtube.com/watch?v=LZN4I3K8SC0" + }, + { + "title": "Tr\u00ean t\u00ecnh b\u1ea1n d\u01b0\u1edbi t\u00ecnh y\u00eau", + "artist": "MIN", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/0R8IbpKXavM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mzgRevtvxrv0OinAbmkfaDo0hDQQ", + "id": "0R8IbpKXavM", + "url": "https://music.youtube.com/watch?v=0R8IbpKXavM" + }, + { + "title": "B\u00cdCH PH\u01af\u01a0NG - N\u00f3i Th\u01b0\u01a1ng Nhau Th\u00ec \u0110\u1eebng L\u00e0m Tr\u00e1i Tim Em \u0110au [Official M/V]", + "artist": "B\u00edch Ph\u01b0\u01a1ng", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/2DuthnSIeYY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mVVI2kXGHBOcF9PHZ4OMFNUhF1EQ", + "id": "2DuthnSIeYY", + "url": "https://music.youtube.com/watch?v=2DuthnSIeYY" + }, + { + "title": "Em \u0110\u00e2y Ch\u1eb3ng Ph\u1ea3i Th\u00fay Ki\u1ec1u", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/sZuix0W7xKY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k8OEB2xyneJoyq_vruL9zauZdFww", + "id": "sZuix0W7xKY", + "url": "https://music.youtube.com/watch?v=sZuix0W7xKY" + }, + { + "title": "NANG TIEN CA", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/Vmh_LWV0KEc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mMHIeoJmupnkin7KCqMfPTGrJ5Tw", + "id": "Vmh_LWV0KEc", + "url": "https://music.youtube.com/watch?v=Vmh_LWV0KEc" + }, + { + "title": "LU\u00d4N B\u00caN ANH (feat. Mr. A)", + "artist": "MIN", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/ezNd1Fo_guQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kZFh9tJajTUixHXDgRR9dLOIZZsg", + "id": "ezNd1Fo_guQ", + "url": "https://music.youtube.com/watch?v=ezNd1Fo_guQ" + }, + { + "title": "sao anh ch\u01b0a v\u1ec1 nh\u00e0", + "artist": "AMEE, Ricky Star", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/RlBkvjVss-s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kwpaDvrI6IMsXiNLHs4y0S0JvHxQ", + "id": "RlBkvjVss-s", + "url": "https://music.youtube.com/watch?v=RlBkvjVss-s" + } + ] + }, + { + "id": "PLvuMfxvpAQrmTKCPdL_LNY4mmydlGyBgf", + "title": "Best Vietnamese Songs of All Time - Vietnamese Greatest Hits (Most Viewed Vietnamese Songs)", + "description": "Best Vietnamese Songs of All Time - Vietnamese Greatest Hits (Most Viewed Vietnamese Songs)\n \nWe are happy that you are here and you are listening to greatest vietnam songs. We hope that you will enjoy these best of vietnamese songs. Save it if you want to listen again. Thank you!\n \nYou can also find us with:\nbest vietnamese songs of all time\nvietnamese greatest hits\nmost viewed vietnamese songs\nvietnam music playlist\nvietnamese music\nbest of vietnamese music\nvietnamese music mashup\npopular vietnamese songs\nmost popular vietnamese songs\nvietnam song most popular\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/Pdsy0NEdC_4bahqkQRavm6AWyp3uijwni63UpVjX-JbDbL_MAC95I915j0LugROPl7673N1c1a0=s1200", + "tracks": [ + { + "title": "365DABAND - B\u1ed0NG B\u1ed0NG BANG BANG | OFFICIAL MV (T\u1ea4M C\u00c1M: CHUY\u1ec6N CH\u01afA K\u1ec2 OST)", + "artist": "Studio68", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/BwN3NiZt-PU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kd-3R6W_Vq3rps-VfIUUlWHQf-jQ", + "id": "BwN3NiZt-PU", + "url": "https://music.youtube.com/watch?v=BwN3NiZt-PU" + }, + { + "title": "S\u00f3ng Gi\u00f3", + "artist": "ICM, Jack - J97", + "album": "Single", + "duration": 351, + "cover_url": "https://i.ytimg.com/vi/j8U06veqxdU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lQ7Q2-hQMmUncfAzDzKq7MS5Fu_w", + "id": "j8U06veqxdU", + "url": "https://music.youtube.com/watch?v=j8U06veqxdU" + }, + { + "title": "N\u01a1i n\u00e0y c\u00f3 anh", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/FN7ALfpGxiI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAEdVQAa8Ka-CDOKFqNb7VB4_X9A", + "id": "FN7ALfpGxiI", + "url": "https://music.youtube.com/watch?v=FN7ALfpGxiI" + }, + { + "title": "B\u1ea0C PH\u1eacN | ICM x JACK | OFFICIAL MV", + "artist": "ICM Entertainment", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/WX7dUj14Z00/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lOy_OYP9WrKOt_Pf-6sVz37gUQwg", + "id": "WX7dUj14Z00", + "url": "https://music.youtube.com/watch?v=WX7dUj14Z00" + }, + { + "title": "JACK - H\u1ed2NG NHAN [OFFICIAL MV] | G5R", + "artist": "G5RSquad", + "album": "Single", + "duration": 196, + "cover_url": "https://i.ytimg.com/vi/8x2NjwwHUbQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lro7AXxveGs3QfeYPq6KTCIatBuQ", + "id": "8x2NjwwHUbQ", + "url": "https://music.youtube.com/watch?v=8x2NjwwHUbQ" + }, + { + "title": "H\u00e3y Trao Cho Anh (feat. Snoop Dogg)", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 263, + "cover_url": "https://i.ytimg.com/vi/knW7-x7Y7RE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nvczQ4J_yX5yxXa_ebqQGWHpGEMw", + "id": "knW7-x7Y7RE", + "url": "https://music.youtube.com/watch?v=knW7-x7Y7RE" + }, + { + "title": "Th\u1eb1ng \u0110i\u00ean", + "artist": "JustaTee, Ph\u01b0\u01a1ng Ly", + "album": "Single", + "duration": 287, + "cover_url": "https://i.ytimg.com/vi/HXkh7EOqcQ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luk6tXYyuoBvIy9-lFBJc93Q_L0w", + "id": "HXkh7EOqcQ4", + "url": "https://music.youtube.com/watch?v=HXkh7EOqcQ4" + }, + { + "title": "L\u1ea1c Tr\u00f4i", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/Llw9Q6akRo4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ncKgD6TcfEnvuP1TgzH7GBKmj91Q", + "id": "Llw9Q6akRo4", + "url": "https://music.youtube.com/watch?v=Llw9Q6akRo4" + }, + { + "title": "Ng\u1eafm Hoa L\u1ec7 R\u01a1i (Remix)", + "artist": "Ch\u00e2u Kh\u1ea3i Phong", + "album": "Single", + "duration": 309, + "cover_url": "https://i.ytimg.com/vi/6SW3zgCQQMw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhJtLtxwe620ABn20hvQ0BSwlGTw", + "id": "6SW3zgCQQMw", + "url": "https://music.youtube.com/watch?v=6SW3zgCQQMw" + }, + { + "title": "M\u00ccNH C\u01af\u1edaI NHAU \u0110I - Pjnboys x Hu\u1ef3nh James (Official MV)", + "artist": "Mondo Records", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/BBRCKcGPmhI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mRUd2R45jJqYXD70rw-9Ptn5njDA", + "id": "BBRCKcGPmhI", + "url": "https://music.youtube.com/watch?v=BBRCKcGPmhI" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Anh Thanh Ni\u00ean", + "artist": "HuyR", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/HPL74s4VPdk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4JPPjiO2Lb6HFZPzc_KbLyQIqpg", + "id": "HPL74s4VPdk", + "url": "https://music.youtube.com/watch?v=HPL74s4VPdk" + }, + { + "title": "Mu\u1ed9n R\u1ed3i M\u00e0 Sao C\u00f2n", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/xypzmu5mMPY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbjdCDkpci2t8KZRYJXAfH2w0D9A", + "id": "xypzmu5mMPY", + "url": "https://music.youtube.com/watch?v=xypzmu5mMPY" + }, + { + "title": "H\u00e0 Anh Tu\u1ea5n | Th\u00e1ng T\u01b0 L\u00e0 L\u1eddi N\u00f3i D\u1ed1i C\u1ee7a Em", + "artist": "Ha Anh Tuan", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/UCXao7aTDQM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mSuSY_7Xx7NABTg7hY0s2ITY4afg", + "id": "UCXao7aTDQM", + "url": "https://music.youtube.com/watch?v=UCXao7aTDQM" + }, + { + "title": "R\u1ed3i T\u1edbi Lu\u00f4n (Rumba)", + "artist": "CT, Nal", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/HZi4eJXWZU0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m0Z2zSkaxBfZfvUOMmfwgX11UGPQ", + "id": "HZi4eJXWZU0", + "url": "https://music.youtube.com/watch?v=HZi4eJXWZU0" + }, + { + "title": "\u0110\u00e3 L\u1ee1 Y\u00eau Em Nhi\u1ec1u", + "artist": "JustaTee", + "album": "Single", + "duration": 267, + "cover_url": "https://i.ytimg.com/vi/KhTCatAKVpk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lpSvGsQvF_YQwX3Vps26W2XK1-AQ", + "id": "KhTCatAKVpk", + "url": "https://music.youtube.com/watch?v=KhTCatAKVpk" + }, + { + "title": "MUON RUOU TO TINH", + "artist": "BIG DADDY, EMILY", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/aGUQsb31TEw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuSpN7XgGtIKCbCVaMkNombxl8ng", + "id": "aGUQsb31TEw", + "url": "https://music.youtube.com/watch?v=aGUQsb31TEw" + }, + { + "title": "Cu\u1ed9c S\u1ed1ng Em \u1ed4n Kh\u00f4ng", + "artist": "Anh T\u00fa", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/DWYwmTdXpqw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mMg6s_9HHQeYxnJ2iWdDhpYC2T9w", + "id": "DWYwmTdXpqw", + "url": "https://music.youtube.com/watch?v=DWYwmTdXpqw" + }, + { + "title": "Ex's Hate Me (feat. AMEE)", + "artist": "B Ray", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/95ahbau-rJk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3keFHQZhNCGeeOE8nnGU1eBAtaVCQ", + "id": "95ahbau-rJk", + "url": "https://music.youtube.com/watch?v=95ahbau-rJk" + }, + { + "title": "B\u00e0i n\u00e0y chill ph\u1ebft", + "artist": "MIN", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/ddaEtFOsFeM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mptLKU3czp_Z6HzUpirJuhLVlyeA", + "id": "ddaEtFOsFeM", + "url": "https://music.youtube.com/watch?v=ddaEtFOsFeM" + }, + { + "title": "C\u00d4 TH\u1eaeM KH\u00d4NG V\u1ec0 | Ph\u00e1t H\u1ed3 x JokeS Bii x Sinike ft. DinhLong | Official Music Video", + "artist": "X2X", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/J1VzE0S-jzk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFaqg_fsJ2zqqmDwO9Zfcz610v1g", + "id": "J1VzE0S-jzk", + "url": "https://music.youtube.com/watch?v=J1VzE0S-jzk" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "\u0110i V\u1ec1 Nh\u00e0", + "artist": "JustaTee", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/vTJdVE_gjI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nTjBzNH0lQ87Dio-kaiLPlTZk8AA", + "id": "vTJdVE_gjI0", + "url": "https://music.youtube.com/watch?v=vTJdVE_gjI0" + }, + { + "title": "\u0110\u1ec3 M\u1ecb N\u00f3i Cho M\u00e0 Nghe", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "Single", + "duration": 282, + "cover_url": "https://i.ytimg.com/vi/JAhdeizXpaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljbZBG1CtV2rNk6-KOtINp0YzPQg", + "id": "JAhdeizXpaQ", + "url": "https://music.youtube.com/watch?v=JAhdeizXpaQ" + }, + { + "title": "C\u00f3 Ch\u1eafc Y\u00eau L\u00e0 \u0110\u00e2y", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 216, + "cover_url": "https://i.ytimg.com/vi/6t-MjBazs3o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nOWF8Sf8UFeGl3CDslFKxpW40-2w", + "id": "6t-MjBazs3o", + "url": "https://music.youtube.com/watch?v=6t-MjBazs3o" + }, + { + "title": "Thanh Xu\u00e2n (Official Music Video)", + "artist": "Da LAB", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/GgQFO8dL5XQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lET-4X7gwjk1nO5CfXS12vwIFbPg", + "id": "GgQFO8dL5XQ", + "url": "https://music.youtube.com/watch?v=GgQFO8dL5XQ" + }, + { + "title": "N\u1ebfu L\u00e0 Anh", + "artist": "The Men", + "album": "Single", + "duration": 396, + "cover_url": "https://i.ytimg.com/vi/003LPzYwSNc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3khoyPFKA9QFpCH2BwltRdeeJfJfg", + "id": "003LPzYwSNc", + "url": "https://music.youtube.com/watch?v=003LPzYwSNc" + }, + { + "title": "T\u1ebft \u0110ong \u0110\u1ea7y | KHOA x Kay Tran x Duck V | HOMIE BOIZ OFFICIAL", + "artist": "Focus Entertainment", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/gOtfJ151ue4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nih0YJse8tGZsViXERF1ql8ATqkw", + "id": "gOtfJ151ue4", + "url": "https://music.youtube.com/watch?v=gOtfJ151ue4" + }, + { + "title": "24H", + "artist": "LyLy", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/IpniN1Wq68Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mB-e26G8-WxBTwxfPIIVlLzMApBw", + "id": "IpniN1Wq68Y", + "url": "https://music.youtube.com/watch?v=IpniN1Wq68Y" + }, + { + "title": "L\u1ed1i Nh\u1ecf (feat. Ph\u01b0\u01a1ng Anh \u0110\u00e0o)", + "artist": "\u0110en", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/KKc_RMln5UY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kGf_Gv3K2Bf8RS8zGaj707N5DhFw", + "id": "KKc_RMln5UY", + "url": "https://music.youtube.com/watch?v=KKc_RMln5UY" + }, + { + "title": "Thay T\u00f4i Y\u00eau C\u00f4 \u1ea4y", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/kSYhR8vnzBg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ldfbrrrYWUiWA2w8ml_ebWT9PbVg", + "id": "kSYhR8vnzBg", + "url": "https://music.youtube.com/watch?v=kSYhR8vnzBg" + }, + { + "title": "Su\u00fdt N\u1eefa Th\u00ec...", + "artist": "Andiez", + "album": "Single", + "duration": 286, + "cover_url": "https://i.ytimg.com/vi/cUmpJ2zwfVU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k65TEq3E031gDDBN2PURUxX0TKmA", + "id": "cUmpJ2zwfVU", + "url": "https://music.youtube.com/watch?v=cUmpJ2zwfVU" + }, + { + "title": "Solyom Berni \u2013 CIGI (Official Music Video)", + "artist": "SOBER", + "album": "Single", + "duration": 152, + "cover_url": "https://i.ytimg.com/vi/e2Ya0alfG-4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdFgIyZUfUwBbBxWRiU-JM_8uYuQ", + "id": "e2Ya0alfG-4", + "url": "https://music.youtube.com/watch?v=e2Ya0alfG-4" + }, + { + "title": "\u0110\u01b0\u1eddng M\u1ed9t Chi\u1ec1u", + "artist": "Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/W6hxiDmMGSE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l2xmzKBlEx328TKW_bZ-to-LEcpg", + "id": "W6hxiDmMGSE", + "url": "https://music.youtube.com/watch?v=W6hxiDmMGSE" + }, + { + "title": "Bu\u00f4ng \u0110\u00f4i Tay Nhau Ra", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/LCyo565N_5w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLPRwRDZ4ejJigePYqj1jW2DSKpg", + "id": "LCyo565N_5w", + "url": "https://music.youtube.com/watch?v=LCyo565N_5w" + }, + { + "title": "HET THUONG CAN NHO", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 382, + "cover_url": "https://i.ytimg.com/vi/DZDYZ9nRHfU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mWrNfyq6u2zxldycVMZqBActN9yw", + "id": "DZDYZ9nRHfU", + "url": "https://music.youtube.com/watch?v=DZDYZ9nRHfU" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "GH\u00c9 QUA | OFFICIAL MV | Dick x PC x Tofu", + "artist": "B\u1ea0N C\u00d3 T\u00c0I M\u00c0", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/zEWSSod0zTY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ntI5phDL8WqGh1XUdR8xjWWXSpyQ", + "id": "zEWSSod0zTY", + "url": "https://music.youtube.com/watch?v=zEWSSod0zTY" + }, + { + "title": "MIN - \u0110\u1eeaNG Y\u00caU N\u1eeeA, EM M\u1ec6T R\u1ed2I | OFFICIAL MUSIC VIDEO", + "artist": "MIN", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/2sIC1sh-yc0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lXLD8jF4DElFf_rWAEDNJY818Bjg", + "id": "2sIC1sh-yc0", + "url": "https://music.youtube.com/watch?v=2sIC1sh-yc0" + }, + { + "title": "TH\u00cdCH TH\u00cc \u0110\u1ebeN | L\u00ca B\u1ea2O B\u00ccNH | OFFICIAL MUSIC VIDEO", + "artist": "L\u00ea B\u1ea3o B\u00ecnh", + "album": "Single", + "duration": 365, + "cover_url": "https://i.ytimg.com/vi/j4Jj29mUYS8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPWNghSUw6fHLeJaWbsJOVVeVsig", + "id": "j4Jj29mUYS8", + "url": "https://music.youtube.com/watch?v=j4Jj29mUYS8" + }, + { + "title": "Worth It (Official Video)", + "artist": "YK Osiris", + "album": "Single", + "duration": 210, + "cover_url": "https://i.ytimg.com/vi/nPiFfJ0UTqE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k8ssbOutcoDR8zh-aO3smCAaSwBA", + "id": "nPiFfJ0UTqE", + "url": "https://music.youtube.com/watch?v=nPiFfJ0UTqE" + }, + { + "title": "Th\u00eam bao nhi\u00eau l\u00e2u", + "artist": " DatG Music", + "album": "Single", + "duration": 312, + "cover_url": "https://i.ytimg.com/vi/sinhZ1l54K8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUEwCT2GXUZ9BvnsZMqvDo04aNMA", + "id": "sinhZ1l54K8", + "url": "https://music.youtube.com/watch?v=sinhZ1l54K8" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "\u0110\u1ebe V\u01af\u01a0NG - \u0110\u00ccNH D\u0168NG | OFFICIAL MUSIC VIDEO", + "artist": "\u0110\u00ecnh D\u0169ng", + "album": "Single", + "duration": 272, + "cover_url": "https://i.ytimg.com/vi/qkPgUgkQE4Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n93goWSN7mVo8-XDiS8qpr-7ruxg", + "id": "qkPgUgkQE4Y", + "url": "https://music.youtube.com/watch?v=qkPgUgkQE4Y" + }, + { + "title": "When We", + "artist": "Tank", + "album": "Single", + "duration": 336, + "cover_url": "https://i.ytimg.com/vi/QRF9TgkBCjc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mLrUqQO34JHVdqNoJkGt3fwJ32-w", + "id": "QRF9TgkBCjc", + "url": "https://music.youtube.com/watch?v=QRF9TgkBCjc" + }, + { + "title": "anh nh\u00e0 \u1edf \u0111\u00e2u th\u1ebf", + "artist": "AMEE", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/iE52-XXnQqs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mmwsYksB_7nLvuerOKTGe7UrbixQ", + "id": "iE52-XXnQqs", + "url": "https://music.youtube.com/watch?v=iE52-XXnQqs" + }, + { + "title": "N\u00e0ng Th\u01a1", + "artist": "Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/Zzn9-ATB9aU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSi8o3ZM12g1kRAu5k1MQEiMq43w", + "id": "Zzn9-ATB9aU", + "url": "https://music.youtube.com/watch?v=Zzn9-ATB9aU" + }, + { + "title": "\u0110au \u0110\u1ec3 Tr\u01b0\u1edfng Th\u00e0nh", + "artist": "Only C", + "album": "Single", + "duration": 331, + "cover_url": "https://i.ytimg.com/vi/eoJecvGMR6E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nIcHxVPPPiFb-0hbsGCN_YsptG6A", + "id": "eoJecvGMR6E", + "url": "https://music.youtube.com/watch?v=eoJecvGMR6E" + }, + { + "title": "Ai L\u00e0 Ng\u01b0\u1eddi Th\u01b0\u01a1ng Em?", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 391, + "cover_url": "https://i.ytimg.com/vi/P_jk6caKnfA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3li_l9ik4jDAKVrccw4ZV21YBLcVQ", + "id": "P_jk6caKnfA", + "url": "https://music.youtube.com/watch?v=P_jk6caKnfA" + }, + { + "title": "TR\u00daC NH\u00c2N x MIRINDA \u2013 AIIII CHUY\u1ec6N C\u0168 B\u00c1N H\u00d4NG? (Official M/V)", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/vPDVFJO17Ps/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nDhDe5lQPTt_WnfS_PzwAb-b5P4A", + "id": "vPDVFJO17Ps", + "url": "https://music.youtube.com/watch?v=vPDVFJO17Ps" + }, + { + "title": "\u0110\u1ebfm Ng\u00e0y Xa Em", + "artist": "Lou Ho\u00e0ng, Only C", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/rtviC6i42bc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lo1neboUs8Q46lusqkvsUBqBzxMQ", + "id": "rtviC6i42bc", + "url": "https://music.youtube.com/watch?v=rtviC6i42bc" + }, + { + "title": "M\u00e3i M\u00e3i Kh\u00f4ng Ph\u1ea3i Anh", + "artist": "Thanh Binh", + "album": "Single", + "duration": 356, + "cover_url": "https://i.ytimg.com/vi/xD8Xchuxq8g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdmi_UTzanUJvzJa-4Fcxtjo_nWg", + "id": "xD8Xchuxq8g", + "url": "https://music.youtube.com/watch?v=xD8Xchuxq8g" + }, + { + "title": "Love Again", + "artist": "MIRA", + "album": "Single", + "duration": 167, + "cover_url": "https://i.ytimg.com/vi/L9C9WiBBeRk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxrL-dC7x_rqxs-xzkdQbWzdnkoQ", + "id": "L9C9WiBBeRk", + "url": "https://music.youtube.com/watch?v=L9C9WiBBeRk" + }, + { + "title": "Tr\u00ean t\u00ecnh b\u1ea1n d\u01b0\u1edbi t\u00ecnh y\u00eau", + "artist": "MIN", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/0R8IbpKXavM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mzgRevtvxrv0OinAbmkfaDo0hDQQ", + "id": "0R8IbpKXavM", + "url": "https://music.youtube.com/watch?v=0R8IbpKXavM" + }, + { + "title": "TOULIVER X L\u00ca HI\u1ebeU X SOOBIN HO\u00c0NG S\u01a0N - NG\u00c0Y MAI EM \u0110I 2017 | OFFICIAL LYRIC VIDEO", + "artist": "SpaceSpeakers Label", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/z5Jc7KiTLbs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l5SLOmu5kLvo41TvnxwgS5ddfGVg", + "id": "z5Jc7KiTLbs", + "url": "https://music.youtube.com/watch?v=z5Jc7KiTLbs" + }, + { + "title": "L\u00e0m g\u00ec ph\u1ea3i H\u1ed1t", + "artist": "Ho\u00e0ng Th\u00f9y Linh, JustaTee, \u0110en", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/1seYuaWehxY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mf7FeFPTrG2KUCr-SLdr_sS3LurA", + "id": "1seYuaWehxY", + "url": "https://music.youtube.com/watch?v=1seYuaWehxY" + }, + { + "title": "Chi\u1ec1u H\u00f4m \u1ea4y", + "artist": "JayKii", + "album": "Single", + "duration": 318, + "cover_url": "https://i.ytimg.com/vi/SA35ldy92s0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kVcyA5dLBbHgoHzmUCamWiA7__Uw", + "id": "SA35ldy92s0", + "url": "https://music.youtube.com/watch?v=SA35ldy92s0" + }, + { + "title": "L\u1ea1 l\u00f9ng", + "artist": "V\u0169", + "album": "Single", + "duration": 262, + "cover_url": "https://i.ytimg.com/vi/F5tS5m86bOI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kw0CKsCnbkiY_d56tp1NOsdFvdSw", + "id": "F5tS5m86bOI", + "url": "https://music.youtube.com/watch?v=F5tS5m86bOI" + }, + { + "title": "C\u1eaeT \u0110\u00d4I N\u1ed6I S\u1ea6U", + "artist": "T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 204, + "cover_url": "https://i.ytimg.com/vi/GpmOn4RyzZI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m0E9jTmcKewu3GMoit3WnPJXgStA", + "id": "GpmOn4RyzZI", + "url": "https://music.youtube.com/watch?v=GpmOn4RyzZI" + }, + { + "title": "MIN - C\u00f3 Em Ch\u1edd feat. Mr A (Official MV)", + "artist": "MIN", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/_YzngEllRgM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mxgVq4RCp9c_FYPJae4bnH6n3AOw", + "id": "_YzngEllRgM", + "url": "https://music.youtube.com/watch?v=_YzngEllRgM" + }, + { + "title": "V\u00ec M\u1eb9 Anh B\u1eaft Chia Tay", + "artist": "Miu L\u00ea, Ch\u00e2u \u0110\u0103ng Khoa, Karik", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/S7ElVoYZN0g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mPfnk_ONvr8weQJ65XRLvL5l2WOQ", + "id": "S7ElVoYZN0g", + "url": "https://music.youtube.com/watch?v=S7ElVoYZN0g" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "Come With Me", + "artist": "MIRA", + "album": "Single", + "duration": 168, + "cover_url": "https://i.ytimg.com/vi/1j6Pfv6xS9o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lTR_Y1-VAU83sV5o-Lus3ETlY1Xg", + "id": "1j6Pfv6xS9o", + "url": "https://music.youtube.com/watch?v=1j6Pfv6xS9o" + }, + { + "title": "H\u01a1n C\u1ea3 Y\u00eau", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 343, + "cover_url": "https://i.ytimg.com/vi/__kGJZ-kPno/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lykWrZ1WwaKb_W7akLz5eFh0ATHw", + "id": "__kGJZ-kPno", + "url": "https://music.youtube.com/watch?v=__kGJZ-kPno" + }, + { + "title": "M\u01b0\u1eddi N\u0103m (L\u1ed9n X\u1ed9n 3) (feat. Ngoc Linh)", + "artist": "\u0110en", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/L0NZW6pgSLc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kyFTtgBFgjuTEiW1MxDBWQ1UsSsw", + "id": "L0NZW6pgSLc", + "url": "https://music.youtube.com/watch?v=L0NZW6pgSLc" + }, + { + "title": "S\u00d3NG GI\u00d3 KARAOKE - JACK x K-ICM [Official Video]", + "artist": "ICM Studio", + "album": "Single", + "duration": 254, + "cover_url": "https://i.ytimg.com/vi/2-k2ziSu9b8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l0dulcqwp26402rzxUEVW8-iJ1Og", + "id": "2-k2ziSu9b8", + "url": "https://music.youtube.com/watch?v=2-k2ziSu9b8" + }, + { + "title": "Anh \u01a0i \u1ede L\u1ea1i (feat. DatG Music)", + "artist": "Chi Pu", + "album": "Single", + "duration": 342, + "cover_url": "https://i.ytimg.com/vi/3fi7uwBU-CE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSP20-J5WHFlH_U_StsB5W6VbiFw", + "id": "3fi7uwBU-CE", + "url": "https://music.youtube.com/watch?v=3fi7uwBU-CE" + }, + { + "title": "BINZ - OK (Official Music Video) (feat. Touliver)", + "artist": "Binz", + "album": "Single", + "duration": 154, + "cover_url": "https://i.ytimg.com/vi/SNES5Y-tYxM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mOTS59c5j-amM8_bON2cI3XI8Q1A", + "id": "SNES5Y-tYxM", + "url": "https://music.youtube.com/watch?v=SNES5Y-tYxM" + }, + { + "title": "Waiting For You", + "artist": "MONO", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/okz5RIZRT0U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mmxkW4YiPdOPtqeX2Gb7IG5vIqVw", + "id": "okz5RIZRT0U", + "url": "https://music.youtube.com/watch?v=okz5RIZRT0U" + }, + { + "title": "B\u00e1nh M\u00ec Kh\u00f4ng - \u0110\u1ea1tG x DuUy\u00ean || OFFICIAL MV", + "artist": " DatG Music", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/Ztrj8UIDMQY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mOvm-S6q7qdIAw4coTbH8f9MOLrQ", + "id": "Ztrj8UIDMQY", + "url": "https://music.youtube.com/watch?v=Ztrj8UIDMQY" + }, + { + "title": "B\u00f4ng Hoa \u0110\u1eb9p Nh\u1ea5t", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 357, + "cover_url": "https://i.ytimg.com/vi/fTXd-DpN3AI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lljj0Ka4HKeR3niKR-OoOGiYNElA", + "id": "fTXd-DpN3AI", + "url": "https://music.youtube.com/watch?v=fTXd-DpN3AI" + }, + { + "title": "Kh\u00f3 V\u1ebd N\u1ee5 C\u01b0\u1eddi (feat. Du Uyen)", + "artist": " DatG Music", + "album": "Single", + "duration": 335, + "cover_url": "https://i.ytimg.com/vi/z3qOnZIqRVs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n15GB9jqzhYIrW0tl8fU0FvPWtpQ", + "id": "z3qOnZIqRVs", + "url": "https://music.youtube.com/watch?v=z3qOnZIqRVs" + }, + { + "title": "Ladida", + "artist": "MIRA", + "album": "Single", + "duration": 185, + "cover_url": "https://i.ytimg.com/vi/iXYroDymuMk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqFDuhv0F-gOW9e_eB0deChTyKJQ", + "id": "iXYroDymuMk", + "url": "https://music.youtube.com/watch?v=iXYroDymuMk" + }, + { + "title": "The Recipe (Lyric Video) (feat. Dr. Dre)", + "artist": "Kendrick Lamar", + "album": "Single", + "duration": 354, + "cover_url": "https://i.ytimg.com/vi/YpugK0RpEaU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kkFjPeo3oBegvcADr_IULElSwDZg", + "id": "YpugK0RpEaU", + "url": "https://music.youtube.com/watch?v=YpugK0RpEaU" + }, + { + "title": "\u0110\u1eebng Qu\u00ean T\u00ean Anh (Yang Remix - Beat)", + "artist": "Hoa Vinh", + "album": "Single", + "duration": 394, + "cover_url": "https://i.ytimg.com/vi/NIJHqNWMtAw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3njYlwmpOKJ-WgCnrhd74GGTkE-GA", + "id": "NIJHqNWMtAw", + "url": "https://music.youtube.com/watch?v=NIJHqNWMtAw" + }, + { + "title": "M\u1eb7t Tr\u1eddi C\u1ee7a Em - Official MV | Ph\u01b0\u01a1ng Ly ft JustaTee", + "artist": "Ph\u01b0\u01a1ng Ly", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/t0WFOnwp3MM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lB0MT_bdDCla8VjxQIB-HBttVJ_w", + "id": "t0WFOnwp3MM", + "url": "https://music.youtube.com/watch?v=t0WFOnwp3MM" + }, + { + "title": "Anh \u0110\u00e3 Quen V\u1edbi C\u00f4 \u0110\u01a1n - Soobin Ho\u00e0ng S\u01a1n | Official Music Video 4K", + "artist": "Soobin Ho\u00e0ng S\u01a1n", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/X7sSE3yCNLI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k1f5RDGtQzULDH0pkIuqYH0HcSpg", + "id": "X7sSE3yCNLI", + "url": "https://music.youtube.com/watch?v=X7sSE3yCNLI" + }, + { + "title": "EM L\u00c0 CON THUY\u1ec0N C\u00d4 \u0110\u01a0N", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/InlnBTL4qeQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMMAyQpHtrMyhski_pdo3Qk2dlIA", + "id": "InlnBTL4qeQ", + "url": "https://music.youtube.com/watch?v=InlnBTL4qeQ" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "H\u1ea1 C\u00f2n V\u01b0\u01a1ng N\u1eafng", + "artist": "KIdo, DatKaa", + "album": "Single", + "duration": 292, + "cover_url": "https://i.ytimg.com/vi/2YllmPaKhkY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3meTsKjjcozMUHA-DoS28noZzDoMQ", + "id": "2YllmPaKhkY", + "url": "https://music.youtube.com/watch?v=2YllmPaKhkY" + }, + { + "title": "\u00c1nh Sao V\u00e0 B\u1ea7u Tr\u1eddi", + "artist": "T.R.I", + "album": "Single", + "duration": 258, + "cover_url": "https://i.ytimg.com/vi/9vaLkYElidg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9zpgLGoRWH_ZYy9DLgwR7Zoc7cQ", + "id": "9vaLkYElidg", + "url": "https://music.youtube.com/watch?v=9vaLkYElidg" + }, + { + "title": "Khu\u00ea M\u1ed9c Lang", + "artist": "H\u01b0\u01a1ng Ly", + "album": "Single", + "duration": 209, + "cover_url": "https://i.ytimg.com/vi/GMyF41IxReo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQqohspU-zeAhhDgCv9y5YYekCNQ", + "id": "GMyF41IxReo", + "url": "https://music.youtube.com/watch?v=GMyF41IxReo" + }, + { + "title": "Duro", + "artist": "MIRA", + "album": "Single", + "duration": 166, + "cover_url": "https://i.ytimg.com/vi/HRJd_Qhb9k0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljI7eM4Fb2TI6yA3TbmH9iSCNilQ", + "id": "HRJd_Qhb9k0", + "url": "https://music.youtube.com/watch?v=HRJd_Qhb9k0" + }, + { + "title": "Man Of The Year (Official Music Video)", + "artist": "ScHoolboy Q", + "album": "Single", + "duration": 223, + "cover_url": "https://i.ytimg.com/vi/rEMsjeq43_U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kZzP7b-S3DvslKiN-Pg7nl13PO2A", + "id": "rEMsjeq43_U", + "url": "https://music.youtube.com/watch?v=rEMsjeq43_U" + }, + { + "title": "A.D.H.D", + "artist": "Kendrick Lamar", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/QjlFqgRbICY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kAS_fsuBc420uqWk4qwYVTgYqIZQ", + "id": "QjlFqgRbICY", + "url": "https://music.youtube.com/watch?v=QjlFqgRbICY" + }, + { + "title": "\u0110\u1ed4I THAY - H\u1ed2 QUANG HI\u1ebeU | OFFICIAL MV (4K)", + "artist": "H\u1ed3 Quang Hi\u1ebfu ", + "album": "Single", + "duration": 435, + "cover_url": "https://i.ytimg.com/vi/RfAB6nYMG4g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lURZCOd6x1PzcYtqAkcPtkNWdfJg", + "id": "RfAB6nYMG4g", + "url": "https://music.youtube.com/watch?v=RfAB6nYMG4g" + }, + { + "title": "KEYO - T\u00d2NG PHU | Official Music Video | Qu\u00e1 kh\u00f3 \u0111\u1ec3 ch\u0103m lo m\u1ed9t ng\u01b0\u1eddi con g\u00e1i...", + "artist": "Keyo", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/hjvRIpU6acQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mF-IY3iBeCxLB77s05daL5wP1btw", + "id": "hjvRIpU6acQ", + "url": "https://music.youtube.com/watch?v=hjvRIpU6acQ" + }, + { + "title": "M\u1ef9 Nh\u00e2n (Orinn Remix) \u2013 \u0110inh \u0110\u1ea1i V\u0169 | Nh\u1ea1c Tr\u1ebb Remix EDM Tiktok G\u00e2y Nghi\u1ec7n Hay Nh\u1ea5t", + "artist": "Orinn Mix", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/ckBc_1XnXhA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kbJazlr37eZX3_rV61CDmXWOBjPA", + "id": "ckBc_1XnXhA", + "url": "https://music.youtube.com/watch?v=ckBc_1XnXhA" + }, + { + "title": "ERIK - L\u1ea0C NHAU C\u00d3 PH\u1ea2I MU\u00d4N \u0110\u1edcI | Official Music Video", + "artist": "ST.319 Entertainment", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/Mb4xUU0utEI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nJF8t7vroPNHOQDWfnUUmiomxzxA", + "id": "Mb4xUU0utEI", + "url": "https://music.youtube.com/watch?v=Mb4xUU0utEI" + }, + { + "title": "1 Ph\u00fat", + "artist": "Andiez", + "album": "Single", + "duration": 376, + "cover_url": "https://i.ytimg.com/vi/dLQe4qEfVJw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_pm58Upvs4ZGbXf0NNi_amP9nzA", + "id": "dLQe4qEfVJw", + "url": "https://music.youtube.com/watch?v=dLQe4qEfVJw" + }, + { + "title": "Kh\u00e1c Bi\u1ec7t To L\u1edbn", + "artist": "Trinh Thang Binh, Liz Kim Cuong", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/KgOtLOUdCMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lP-wW3IuuDCa_ed1I1s_yLOL9U2g", + "id": "KgOtLOUdCMQ", + "url": "https://music.youtube.com/watch?v=KgOtLOUdCMQ" + }, + { + "title": "Th\u1ee7 \u0110\u00f4 Cypher - Beck'Stage X Biti's Hunter ( RPT Orijinn, LOW G, RZMas, RPT MCK)", + "artist": "Beck'Stage - Unexpected Rap Fest", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/yET2SBRuNm0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lqdMxZmeTcd3I8Y8WOhl1txkueQQ", + "id": "yET2SBRuNm0", + "url": "https://music.youtube.com/watch?v=yET2SBRuNm0" + }, + { + "title": "Bad Booty", + "artist": "MIRA", + "album": "Single", + "duration": 154, + "cover_url": "https://i.ytimg.com/vi/wMDOli6JDBQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kAacYNa7VwxVgJZUNO9SYEfPvR6w", + "id": "wMDOli6JDBQ", + "url": "https://music.youtube.com/watch?v=wMDOli6JDBQ" + }, + { + "title": "Chi\u1ec1u Thu Ho\u1ea1 B\u00f3ng N\u00e0ng", + "artist": "DatKaa", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/PlVlWl8kKmg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mRXiePGWijneQyFWnbmdiaothVkg", + "id": "PlVlWl8kKmg", + "url": "https://music.youtube.com/watch?v=PlVlWl8kKmg" + }, + { + "title": "N\u01b0\u1edbc M\u1eaft Em Lau B\u1eb1ng T\u00ecnh Y\u00eau M\u1edbi", + "artist": "Da LAB, T\u00f3c Ti\u00ean", + "album": "Single", + "duration": 346, + "cover_url": "https://i.ytimg.com/vi/GQ4F9k4USfA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k7cdLfiKHNmcMOivln2oY8_tlmCQ", + "id": "GQ4F9k4USfA", + "url": "https://music.youtube.com/watch?v=GQ4F9k4USfA" + }, + { + "title": "KH\u00d4NG SAO M\u00c0 EM \u0110\u00c2Y R\u1ed2I | SUNI H\u1ea0 LINH ft. Lou Ho\u00e0ng | Official M/V", + "artist": "SUNI", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/AiD1a2fFFLw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kty0UK-JRWNd5TvjM8Jnd74EpwHg", + "id": "AiD1a2fFFLw", + "url": "https://music.youtube.com/watch?v=AiD1a2fFFLw" + }, + { + "title": "T\u1eeb Ng\u00e0y Em \u0110\u1ebfn (Official Music Video)", + "artist": "Da LAB", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/AmvA-XJF0j8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kL_WU6vNVMY6_4eImgWBUziY6Y7A", + "id": "AmvA-XJF0j8", + "url": "https://music.youtube.com/watch?v=AmvA-XJF0j8" + }, + { + "title": "T\u00f3c Ti\u00ean - C\u00d3 AI TH\u01af\u01a0NG EM NH\u01af ANH (#CATENA) ft. Touliver (Official MV)", + "artist": "T\u00f3c Ti\u00ean", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/neCmEbI2VWg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWRpg9Xl9T8yX9meotiK_rhF-SwA", + "id": "neCmEbI2VWg", + "url": "https://music.youtube.com/watch?v=neCmEbI2VWg" + }, + { + "title": "Cu\u1ed9c Vui C\u00f4 \u0110\u01a1n - L\u00ea B\u1ea3o B\u00ecnh [LYRIC VIDEO] #CVCD", + "artist": "Mar 18, 2019", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/dXTlxZu1tMc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nb2qBNbnZ0dRQH1O8gGDptdZAyDg", + "id": "dXTlxZu1tMc", + "url": "https://music.youtube.com/watch?v=dXTlxZu1tMc" + }, + { + "title": "T\u00ecnh \u0110\u1ea7u", + "artist": "T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/IDksv0Z-dTk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lpG73w2mccGEeqr0gapmqRfwGAug", + "id": "IDksv0Z-dTk", + "url": "https://music.youtube.com/watch?v=IDksv0Z-dTk" + }, + { + "title": "Th\u00edch qu\u00e1 r\u00f9i n\u00e0", + "artist": "tlinh, Trung Tr\u1ea7n", + "album": "Single", + "duration": 178, + "cover_url": "https://i.ytimg.com/vi/p40OWOxAeSw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9-07-Rcjr4PTIv3D4B0K0hzN8DA", + "id": "p40OWOxAeSw", + "url": "https://music.youtube.com/watch?v=p40OWOxAeSw" + }, + { + "title": "bao ti\u1ec1n m\u1ed9t m\u1edb b\u00ecnh y\u00ean?", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/vVhKA9Av6vA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ka-k964oklEGNtBu7FZod92fFViA", + "id": "vVhKA9Av6vA", + "url": "https://music.youtube.com/watch?v=vVhKA9Av6vA" + }, + { + "title": "Two Feet", + "artist": "TOESUP, Smiley", + "album": "Single", + "duration": 173, + "cover_url": "https://i.ytimg.com/vi/AqBwSkn5n18/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nwQzxU6I7boY-3tI1qg7k02dQ3iQ", + "id": "AqBwSkn5n18", + "url": "https://music.youtube.com/watch?v=AqBwSkn5n18" + }, + { + "title": "Cao \u1ed0c 20 (Masew Remix) (feat. K-ICM & Masew)", + "artist": "\u0110\u1ea1tG & B Ray", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/FWYrRSWabIs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxAYeaj_IJ4O40Ns95lfQO4165uw", + "id": "FWYrRSWabIs", + "url": "https://music.youtube.com/watch?v=FWYrRSWabIs" + }, + { + "title": "PH\u00cdA SAU EM - Kay Tr\u1ea7n ft Binz (Official Music Video)", + "artist": "STUDY KLA6", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/LklFoy_a3bA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mgWeXpCMNRlsqJGwwk4zVilWBHdQ", + "id": "LklFoy_a3bA", + "url": "https://music.youtube.com/watch?v=LklFoy_a3bA" + }, + { + "title": "T\u00ecnh S\u1ea7u Thi\u00ean Thu Mu\u00f4n L\u1ed1i", + "artist": "BMZ, Do\u00e3n Hi\u1ebfu", + "album": "Single", + "duration": 262, + "cover_url": "https://i.ytimg.com/vi/Lm3UG2GXLHk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l85YELrSSGq99wMfzQZ7w9W5vK6w", + "id": "Lm3UG2GXLHk", + "url": "https://music.youtube.com/watch?v=Lm3UG2GXLHk" + }, + { + "title": "Bu\u1ed3n Th\u00ec C\u1ee9 Kh\u00f3c \u0110i", + "artist": "Lynk Lee", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/X-GCJwz4PnY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k8opumqN669eLho7DUarzObFBZqg", + "id": "X-GCJwz4PnY", + "url": "https://music.youtube.com/watch?v=X-GCJwz4PnY" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "So Rang Em Biet Anh Con Yeu Em", + "artist": "JUUN D", + "album": "Single", + "duration": 321, + "cover_url": "https://i.ytimg.com/vi/ybfq5gtvnj0/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3klyeWn4vkb7kz-8X0vy57sV620uQ", + "id": "ybfq5gtvnj0", + "url": "https://music.youtube.com/watch?v=ybfq5gtvnj0" + }, + { + "title": "Ch\u1ec9 B\u1eb1ng C\u00e1i G\u1eadt \u0110\u1ea7u - Yan Nguy\u1ec5n [MVOFFICIAL]", + "artist": "BD Media Music", + "album": "Single", + "duration": 331, + "cover_url": "https://i.ytimg.com/vi/_jRHaMvInIU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n7RwPNwmK45x29im0T5U2B3ZuzUg", + "id": "_jRHaMvInIU", + "url": "https://music.youtube.com/watch?v=_jRHaMvInIU" + }, + { + "title": "c\u00f3 h\u1eb9n v\u1edbi thanh xu\u00e2n - MONSTAR | official music video", + "artist": "ST.319 Entertainment", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/vpRi8S6uXAg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mfKMHjAfgMXD2GH8cemPpWh6d1VA", + "id": "vpRi8S6uXAg", + "url": "https://music.youtube.com/watch?v=vpRi8S6uXAg" + }, + { + "title": "V\u00ec Anh \u0110\u00e2u C\u00f3 Bi\u1ebft", + "artist": "Madihu, V\u0169.", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/02ODKglDVQs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nIf-aFf5h_5Knpt_pjfDVSdO_r_w", + "id": "02ODKglDVQs", + "url": "https://music.youtube.com/watch?v=02ODKglDVQs" + }, + { + "title": "Ice Cream", + "artist": "TOESUP & Che Ree", + "album": "Single", + "duration": 183, + "cover_url": "https://i.ytimg.com/vi/bVhFIowlmwA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nj9j8dE3W92N4zTNYLg7UFXHzmog", + "id": "bVhFIowlmwA", + "url": "https://music.youtube.com/watch?v=bVhFIowlmwA" + }, + { + "title": "CH\u00daNG TA C\u1ee6A T\u01af\u01a0NG LAI", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/zoEtcR5EW08/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lv4_jfNfESnK0mh8F5gKgJ7h1vUw", + "id": "zoEtcR5EW08", + "url": "https://music.youtube.com/watch?v=zoEtcR5EW08" + }, + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "Y\u00eau Em R\u1ea5t Nhi\u1ec1u", + "artist": "Hoang Ton", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/vDfkqjhtiCM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mQl2KqVw65DyXTPQTxyMQJYBEIMw", + "id": "vDfkqjhtiCM", + "url": "https://music.youtube.com/watch?v=vDfkqjhtiCM" + }, + { + "title": "[BAE] T\u0103ng Duy T\u00e2n - B\u00caN TR\u00caN T\u1ea6NG L\u1ea6U (Version2) ft. Th BAP | Official Music Video", + "artist": "T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 209, + "cover_url": "https://i.ytimg.com/vi/Zj5kEvNIEOs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l0wrcPlgrZ4JBKcZco-foah_cbpw", + "id": "Zj5kEvNIEOs", + "url": "https://music.youtube.com/watch?v=Zj5kEvNIEOs" + }, + { + "title": "Ch\u1ea1m Kh\u1ebd Tim Anh M\u1ed9t Ch\u00fat Th\u00f4i (Live from Noo's Chill Night 3)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/Rzm_kltwHbg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kM38SW6XoiXiCXhY5x1XJ3otXR6Q", + "id": "Rzm_kltwHbg", + "url": "https://music.youtube.com/watch?v=Rzm_kltwHbg" + }, + { + "title": "T\u00ecnh \u0110\u1eb9p \u0110\u1ebfn M\u1ea5y C\u0169ng T\u00e0n (Vq Remix)", + "artist": "VIET. / Nh\u01b0 Vi\u1ec7t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/c5llVZ79WlI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nTNtAdZanahq7AF-FdPUx6pGQvLA", + "id": "c5llVZ79WlI", + "url": "https://music.youtube.com/watch?v=c5llVZ79WlI" + }, + { + "title": "Tr\u00fac Nh\u00e2n | L\u1edbn R\u1ed3i C\u00f2n Kh\u00f3c Nh\u00e8", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/pFSQh_5QE40/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nz4rPiR1UlaSQZszCVyI3gyUsRow", + "id": "pFSQh_5QE40", + "url": "https://music.youtube.com/watch?v=pFSQh_5QE40" + }, + { + "title": "C\u00f3 em", + "artist": "Madihu, Low G", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/DcCISK3sCYg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nkrtvN9wMnDYIbmAiQT-Rr0uw_Mw", + "id": "DcCISK3sCYg", + "url": "https://music.youtube.com/watch?v=DcCISK3sCYg" + }, + { + "title": "Honeypie", + "artist": "JAWNY", + "album": "Single", + "duration": 151, + "cover_url": "https://i.ytimg.com/vi/Wgw6tJ8yz9M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nnrFs4pTlzSmzIJIzX44P9T84Tsg", + "id": "Wgw6tJ8yz9M", + "url": "https://music.youtube.com/watch?v=Wgw6tJ8yz9M" + }, + { + "title": "Alibi", + "artist": "Diana V, Alex Parker, & Glitter Dream", + "album": "Single", + "duration": 205, + "cover_url": "https://i.ytimg.com/vi/8eQtwCEEYwM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljSWiYBhJ_r1BQBZcVKYXx5GGDFA", + "id": "8eQtwCEEYwM", + "url": "https://music.youtube.com/watch?v=8eQtwCEEYwM" + }, + { + "title": "B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n", + "artist": "V\u0169", + "album": "Single", + "duration": 343, + "cover_url": "https://i.ytimg.com/vi/n6Pnzi6r9NU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n6d2n8klLtId2Zd53N4fasl18zng", + "id": "n6Pnzi6r9NU", + "url": "https://music.youtube.com/watch?v=n6Pnzi6r9NU" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "ng\u1ee7 m\u1ed9t m\u00ecnh (feat. Negav)", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/1OJQdxT6WHE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lKukM-uK7VkMWIkFB_XaUAqo1IbA", + "id": "1OJQdxT6WHE", + "url": "https://music.youtube.com/watch?v=1OJQdxT6WHE" + }, + { + "title": "Phan M\u1ea1nh Qu\u1ef3nh | Nh\u1ea1t", + "artist": "Phan M\u1ea1nh Qu\u1ef3nh ", + "album": "Single", + "duration": 331, + "cover_url": "https://i.ytimg.com/vi/M8U7PR6fQNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lXPBfO7eOiwAkn1zk4e6ZN53xHGA", + "id": "M8U7PR6fQNA", + "url": "https://music.youtube.com/watch?v=M8U7PR6fQNA" + }, + { + "title": "T\u00e2m S\u1ef1 Tu\u1ed5i 30", + "artist": "Trinh Thang Binh", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/kV3famkRaA4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lquRFpI5THp1vwE4tDd6rol7zGJA", + "id": "kV3famkRaA4", + "url": "https://music.youtube.com/watch?v=kV3famkRaA4" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "This Is My Life", + "artist": "Edward Maya", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/T-7Adp6V_9c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nSgoqYfj5zSJY_Jf3znSIPFob4mw", + "id": "T-7Adp6V_9c", + "url": "https://music.youtube.com/watch?v=T-7Adp6V_9c" + }, + { + "title": "C\u00e2u H\u1eb9n C\u00e2u Th\u1ec1 (Lofi Version) (feat. Vux)", + "artist": "\u0110\u00ecnh D\u0169ng", + "album": "Single", + "duration": 354, + "cover_url": "https://i.ytimg.com/vi/QXmn3aw-2dE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mKOjVtkwAAbqF2nopo2pH9Lb7coQ", + "id": "QXmn3aw-2dE", + "url": "https://music.youtube.com/watch?v=QXmn3aw-2dE" + }, + { + "title": "Crying Over You", + "artist": "JustaTee, Binz", + "album": "Single", + "duration": 382, + "cover_url": "https://i.ytimg.com/vi/tcat9CPiAZ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lKfmeE7Q3u8rkuKa1IltERoaz8nQ", + "id": "tcat9CPiAZ4", + "url": "https://music.youtube.com/watch?v=tcat9CPiAZ4" + }, + { + "title": "Mondays", + "artist": "TOESUP, IOVA", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/emiTf3O5X_M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nNzdLHA9Dk0oORv9ZIKiC9FQxITA", + "id": "emiTf3O5X_M", + "url": "https://music.youtube.com/watch?v=emiTf3O5X_M" + }, + { + "title": "M\u1eb7t M\u1ed9c (playback)", + "artist": " VAnh., BMZ, \u00c2n Nhi, Ph\u1ea1m Nguy\u00ean Ng\u1ecdc", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/v1ADEPnPt54/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSyAh7EEUW-ZHGrjXlWf-rcgTANw", + "id": "v1ADEPnPt54", + "url": "https://music.youtube.com/watch?v=v1ADEPnPt54" + }, + { + "title": "Th\u1ea5t T\u00ecnh", + "artist": "Trinh Dinh Quang", + "album": "Single", + "duration": 367, + "cover_url": "https://i.ytimg.com/vi/FSeGrBw5eFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lQM6IXQhUUMW8ZdRXI_xoVnvWivw", + "id": "FSeGrBw5eFA", + "url": "https://music.youtube.com/watch?v=FSeGrBw5eFA" + }, + { + "title": "B\u00f4ng Hoa Ch\u1eb3ng Thu\u1ed9c V\u1ec1 Ta (Lofi)", + "artist": "VIET. / Nh\u01b0 Vi\u1ec7t", + "album": "Single", + "duration": 217, + "cover_url": "https://i.ytimg.com/vi/JgggA8Jtzyg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mLyORCucnMGkpka8L4hH6zAcxDLQ", + "id": "JgggA8Jtzyg", + "url": "https://music.youtube.com/watch?v=JgggA8Jtzyg" + }, + { + "title": "Anh \u0110\u00e1nh R\u01a1i Ng\u01b0\u1eddi Y\u00eau N\u00e0y", + "artist": "Andiez, AMEE", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/I3RICWXA_3U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nIY-uX43muTJu4Iq5f0uVdrrgGvw", + "id": "I3RICWXA_3U", + "url": "https://music.youtube.com/watch?v=I3RICWXA_3U" + }, + { + "title": "D\u1ea1 v\u0169", + "artist": "T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/1So7VBehCQg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3li-oaSLLNqd8VLY2kGFJKKtQfkLA", + "id": "1So7VBehCQg", + "url": "https://music.youtube.com/watch?v=1So7VBehCQg" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "See t\u00ecnh", + "artist": "Ho\u00e0ng Th\u00f9y Linh", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/gJHSDZfJrRY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3noujG7mmhreYZe3fNV75wr-TfSGg", + "id": "gJHSDZfJrRY", + "url": "https://music.youtube.com/watch?v=gJHSDZfJrRY" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "MIN x \u0110EN V\u00c2U x JUSTATEE - V\u00cc Y\u00caU C\u1ee8 \u0110\u00c2M \u0110\u1ea6U (VYC\u0110\u0110) | OFFICIAL MUSIC VIDEO", + "artist": "MIN", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/EWz4fITO5qg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n7nvZmSOHFuBmcryL89CzlG7h8VA", + "id": "EWz4fITO5qg", + "url": "https://music.youtube.com/watch?v=EWz4fITO5qg" + }, + { + "title": "DAWN, \u200bALMA - Angels (Lyric Video)", + "artist": "Alex Parker", + "album": "Single", + "duration": 155, + "cover_url": "https://i.ytimg.com/vi/n5N1STkgxvg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nd3xeTbp_Csm5bptucP9wRjDo0qQ", + "id": "n5N1STkgxvg", + "url": "https://music.youtube.com/watch?v=n5N1STkgxvg" + }, + { + "title": "S\u00e0i G\u00f2n \u0110au L\u00f2ng Qu\u00e1!", + "artist": "Hua Kim Tuyen, Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 313, + "cover_url": "https://i.ytimg.com/vi/BdPk9ipvczM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kUQCnuinS5_v6ImoBFuYINEXQ1Yw", + "id": "BdPk9ipvczM", + "url": "https://music.youtube.com/watch?v=BdPk9ipvczM" + }, + { + "title": "Y\u00eau m\u1ed9t ng\u01b0\u1eddi c\u00f3 l\u1ebd (feat. Lou Ho\u00e0ng)", + "artist": "Miu L\u00ea", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/AmduqflT79M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mV85k4vklN60rjmBjdQiIQ5EtW6A", + "id": "AmduqflT79M", + "url": "https://music.youtube.com/watch?v=AmduqflT79M" + }, + { + "title": "H\u1ecd Y\u00eau Ai M\u1ea5t R\u1ed3i l Do\u00e3n Hi\u1ebfu l LOFI Ver. By Mr.Paa", + "artist": "Do\u00e3n Hi\u1ebfu", + "album": "Single", + "duration": 336, + "cover_url": "https://i.ytimg.com/vi/8kqA4vjFTuQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3wde1zLfDcLym0ClHOvjLpAMBgg", + "id": "8kqA4vjFTuQ", + "url": "https://music.youtube.com/watch?v=8kqA4vjFTuQ" + }, + { + "title": "B\u1ea1n T\u00ecnh \u01a0i ( Eric T-J REMIX ) - Yuni Boo ft. Goctoi Mixer | Nh\u1ea1c EDM 8D Tiktok G\u00e2y Nghi\u1ec7n Hay Nh\u1ea5t", + "artist": "BD Media Music", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/jmzqOLig6TA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mtHOxd13egBNgS14C0MLt2xuXfpA", + "id": "jmzqOLig6TA", + "url": "https://music.youtube.com/watch?v=jmzqOLig6TA" + }, + { + "title": "SOOBIN X SLIMV - THE PLAYAH (Special Performance) (Music Video)", + "artist": "Soobin Ho\u00e0ng S\u01a1n", + "album": "Single", + "duration": 507, + "cover_url": "https://i.ytimg.com/vi/d44UTUSTYKU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kob-Bw0uSsEnm0r_N3Og_xJ500kg", + "id": "d44UTUSTYKU", + "url": "https://music.youtube.com/watch?v=d44UTUSTYKU" + }, + { + "title": "GREY D x tlinh - vaicaunoicokhiennguoithaydoi | Official Music Video", + "artist": "ST.319 Entertainment", + "album": "Single", + "duration": 236, + "cover_url": "https://i.ytimg.com/vi/2iidlwQ-NfU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3td_Nfz0Yhzq5297-WyPQMX8PTQ", + "id": "2iidlwQ-NfU", + "url": "https://music.youtube.com/watch?v=2iidlwQ-NfU" + }, + { + "title": "Sai Ng\u01b0\u1eddi Sai Th\u1eddi \u0110i\u1ec3m", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/ICOcEzXsEOI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lOPX3GkhIgdRjWOfyGI_J7vEqkIw", + "id": "ICOcEzXsEOI", + "url": "https://music.youtube.com/watch?v=ICOcEzXsEOI" + }, + { + "title": "2AM", + "artist": "JustaTee, BigDaddy", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/XGrvLJG8tuM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3koPeN2XXAnKR-DRAPRCuaUmc6phQ", + "id": "XGrvLJG8tuM", + "url": "https://music.youtube.com/watch?v=XGrvLJG8tuM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "Undress Your Soul (feat. SBSTN & Ciresan)", + "artist": "Alex Parker, Glitter Dream", + "album": "Single", + "duration": 172, + "cover_url": "https://i.ytimg.com/vi/4RfUSuX2Lnk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4L-FgSzrE7HbYZFD_AVit0fnbgQ", + "id": "4RfUSuX2Lnk", + "url": "https://music.youtube.com/watch?v=4RfUSuX2Lnk" + }, + { + "title": "L\u1eedng L\u01a1", + "artist": "B Ray, \u00dd Ti\u00ean, REDT, Masew", + "album": "Single", + "duration": 308, + "cover_url": "https://i.ytimg.com/vi/HehotFZ8BGo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9ztIs5QSubp4kIBgxGnlXAiiYxg", + "id": "HehotFZ8BGo", + "url": "https://music.youtube.com/watch?v=HehotFZ8BGo" + }, + { + "title": "SAO C\u0168NG \u0110\u01af\u1ee2C - TH\u00c0NH \u0110\u1ea0T x \u0110\u00d4NG THI\u00caN \u0110\u1ee8C | OFFICIAL MV | Th\u00e0 y\u00eau l\u1ea5y m\u1ed9t ng\u01b0\u1eddi b\u00ecnh th\u01b0\u1eddng ...", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 367, + "cover_url": "https://i.ytimg.com/vi/j4T0-huYsW4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mufJNFl-e3xsmv5Jxos4Wtu5oaHQ", + "id": "j4T0-huYsW4", + "url": "https://music.youtube.com/watch?v=j4T0-huYsW4" + }, + { + "title": "H\u1eb9n M\u1ed9t Mai", + "artist": "B\u00f9i Anh Tu\u1ea5n", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/pX6nutvtDnI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napKL11glh1R2MlIwMi0mXmkTaHQ", + "id": "pX6nutvtDnI", + "url": "https://music.youtube.com/watch?v=pX6nutvtDnI" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "Em M\u1edbi L\u00e0 Ng\u01b0\u1eddi Y\u00eau Anh", + "artist": "MIN", + "album": "Single", + "duration": 250, + "cover_url": "https://i.ytimg.com/vi/VH3mWd28Ndg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJFZ6QpW_ML_MBpcx4SfhyybAa1g", + "id": "VH3mWd28Ndg", + "url": "https://music.youtube.com/watch?v=VH3mWd28Ndg" + }, + { + "title": "Ng\u01b0\u1eddi \u1ea4y", + "artist": "Trinh Thang Binh", + "album": "Single", + "duration": 312, + "cover_url": "https://i.ytimg.com/vi/1Tj1wSfRkZg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ntR-aCcQ4iUGg0pUeJr-CBlmK1hg", + "id": "1Tj1wSfRkZg", + "url": "https://music.youtube.com/watch?v=1Tj1wSfRkZg" + }, + { + "title": "Th\u1ee7y Tri\u1ec1u", + "artist": "Quang H\u00f9ng MasterD", + "album": "Single", + "duration": 187, + "cover_url": "https://i.ytimg.com/vi/7ig2lXjozdw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqtFWAaNxugfsNRXVZ-PZ5-00KXA", + "id": "7ig2lXjozdw", + "url": "https://music.youtube.com/watch?v=7ig2lXjozdw" + }, + { + "title": "V\u00ec Con", + "artist": "Ph\u00fa L\u00ea", + "album": "Single", + "duration": 372, + "cover_url": "https://i.ytimg.com/vi/EdDhiG_EXBo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPRR0DPJUNs1YSABI3OViLcpekSQ", + "id": "EdDhiG_EXBo", + "url": "https://music.youtube.com/watch?v=EdDhiG_EXBo" + }, + { + "title": "G\u1ea5p \u0110\u00f4i Y\u00eau Th\u01b0\u01a1ng", + "artist": "Tuan Hung, H\u00e0 Anh", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/SRdew42ngnE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lat-mchop_Y-Sd74mC51YDTNqU_A", + "id": "SRdew42ngnE", + "url": "https://music.youtube.com/watch?v=SRdew42ngnE" + }, + { + "title": "Ring, Ring (Remix)", + "artist": "MIRA", + "album": "Ring, Ring (Remix)", + "duration": 144, + "cover_url": "https://lh3.googleusercontent.com/ILIJIg8fJKrJ4KU7P2yVspK-ecOvSvzIF3lCqmlWCgLIs4Yvwq1CL4v2IGGJJE6pk-gkv49vMOVeqov4=w120-h120-l90-rj", + "id": "WYchBAyW-_o", + "url": "https://music.youtube.com/watch?v=WYchBAyW-_o" + }, + { + "title": "HAI TH\u1ebe GI\u1edaI", + "artist": "Wowy", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/3JLDUJJuVGk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJ6DaJYf934tTCXBlQkFv3NqP5Gg", + "id": "3JLDUJJuVGk", + "url": "https://music.youtube.com/watch?v=3JLDUJJuVGk" + }, + { + "title": "N\u1ebeU NG\u00c0Y \u1ea4Y | SOOBIN HO\u00c0NG S\u01a0N [Official Lyric Video]", + "artist": "SOOBIN Official", + "album": "Single", + "duration": 302, + "cover_url": "https://i.ytimg.com/vi/BMtaUb-E5Uc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kfBR3cO3FxJEnWJSjhCza9wk14aA", + "id": "BMtaUb-E5Uc", + "url": "https://music.youtube.com/watch?v=BMtaUb-E5Uc" + }, + { + "title": "Chuy\u1ec7n R\u1eb1ng", + "artist": "Th\u1ecbnh Suy", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/akgNYX8i9Xs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m_f6q5U8HwnHEsD79fsV3f2zUqSQ", + "id": "akgNYX8i9Xs", + "url": "https://music.youtube.com/watch?v=akgNYX8i9Xs" + }, + { + "title": "\u0110\u1eebng Ch\u1edd Anh N\u1eefa", + "artist": "T\u0103ng Ph\u00fac", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/C3GqqnJ9ID0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m7usjiKsqu9i_VvYGnujymTpqkvA", + "id": "C3GqqnJ9ID0", + "url": "https://music.youtube.com/watch?v=C3GqqnJ9ID0" + }, + { + "title": "\u0110\u01b0\u1eddng T\u00f4i Ch\u1edf Em V\u1ec1", + "artist": "buitruonglinh", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/OuNo8Tkb3lI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3niCUfnI-J6AxAxoU6jhY0icwuQrA", + "id": "OuNo8Tkb3lI", + "url": "https://music.youtube.com/watch?v=OuNo8Tkb3lI" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u00e1ng Th\u01b0\u01a1ng L\u00e0 Anh", + "artist": "Only C", + "album": "Single", + "duration": 313, + "cover_url": "https://i.ytimg.com/vi/9tcFnx0-cQY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW4qpvETZP2jivwjgCF9Pl3AL0Tg", + "id": "9tcFnx0-cQY", + "url": "https://music.youtube.com/watch?v=9tcFnx0-cQY" + }, + { + "title": "Mascara", + "artist": "Chillies", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/ntEoGvhoVac/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n4klv92B4Fvn5yiep46BkYes97DQ", + "id": "ntEoGvhoVac", + "url": "https://music.youtube.com/watch?v=ntEoGvhoVac" + }, + { + "title": "Ph\u1ea3i Ch\u0103ng Em \u0110\u00e3 Y\u00eau", + "artist": "Juky San", + "album": "Single", + "duration": 215, + "cover_url": "https://i.ytimg.com/vi/O81_4VAson4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n5j3pja7ApD0lByqSEJrhz-cJsQg", + "id": "O81_4VAson4", + "url": "https://music.youtube.com/watch?v=O81_4VAson4" + }, + { + "title": "Monoir - Summer's Gone (Official Video)", + "artist": "Thrace Music", + "album": "Single", + "duration": 153, + "cover_url": "https://i.ytimg.com/vi/XAVn53ujlcs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJoJNvg57QoSRURR99Z2L-aCo7lw", + "id": "XAVn53ujlcs", + "url": "https://music.youtube.com/watch?v=XAVn53ujlcs" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "Kh\u00f4ng Th\u1ec3 Say", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/i0nd3NPJ4MI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kpxPJNBIFUrjPyNXj9KSzyZhPacA", + "id": "i0nd3NPJ4MI", + "url": "https://music.youtube.com/watch?v=i0nd3NPJ4MI" + }, + { + "title": "ANH L\u00c0 NGO\u1ea0I L\u1ec6 C\u1ee6A EM - PH\u01af\u01a0NG LY | OFFICIAL MV", + "artist": "Ph\u01b0\u01a1ng Ly", + "album": "Single", + "duration": 219, + "cover_url": "https://i.ytimg.com/vi/q2YUtZum9wc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ld_UtrQK1tzVb-OimG6JmALazZ_w", + "id": "q2YUtZum9wc", + "url": "https://music.youtube.com/watch?v=q2YUtZum9wc" + }, + { + "title": "Th\u01b0\u01a1ng Em \u0110\u1ebfn Gi\u00e0", + "artist": "L\u00ea B\u1ea3o B\u00ecnh", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/8zRy02Wl1JA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mAaqDJqvjBFUbonmtM5s3qOpBGNg", + "id": "8zRy02Wl1JA", + "url": "https://music.youtube.com/watch?v=8zRy02Wl1JA" + }, + { + "title": "Kimmese - Loving You Sunny ft. \u0110en (Prod.by Touliver)", + "artist": "Kimmese", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/GjSi4OxJORY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kf8x7NyqpSnfUu5f0uHo9tRgrjsQ", + "id": "GjSi4OxJORY", + "url": "https://music.youtube.com/watch?v=GjSi4OxJORY" + }, + { + "title": "\u0110\u1eebng nh\u01b0 th\u00f3i quen", + "artist": "Sara L\u01b0u", + "album": "Single", + "duration": 267, + "cover_url": "https://i.ytimg.com/vi/8BVAuWusBBA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mwU02W4yCYquDKlM9o4r-RzVCFmw", + "id": "8BVAuWusBBA", + "url": "https://music.youtube.com/watch?v=8BVAuWusBBA" + }, + { + "title": "Chuy\u1ec7n \u0110\u00f4i Ta - Emcee L (Da LAB) ft Mu\u1ed9ii (Official MV)", + "artist": "Da LAB", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/6eONmnFB9sw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mVwjdT_-mZ2QAlwE7xqAKAQAVAlA", + "id": "6eONmnFB9sw", + "url": "https://music.youtube.com/watch?v=6eONmnFB9sw" + }, + { + "title": "[MV] Xe \u0110\u1ea1p - Th\u00f9y Chi ft. M4U | The Pink Team", + "artist": "The Pink Team", + "album": "Single", + "duration": 316, + "cover_url": "https://i.ytimg.com/vi/6KJrNWC0tfw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lo2Kd8yIz684XjVu1B1biZNxh0Pg", + "id": "6KJrNWC0tfw", + "url": "https://music.youtube.com/watch?v=6KJrNWC0tfw" + }, + { + "title": "Ph\u00eda Sau M\u1ed9t C\u00f4 G\u00e1i - Soobin Ho\u00e0ng S\u01a1n (Official Music Video 4K)", + "artist": "Soobin Ho\u00e0ng S\u01a1n", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/vCIc1g_4JWM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lD1bJXy7gzEogpcVvl8-wh2A04cQ", + "id": "vCIc1g_4JWM", + "url": "https://music.youtube.com/watch?v=vCIc1g_4JWM" + }, + { + "title": "F\u00e9a - Shades of Blue (Official Video)", + "artist": "DHARIA", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/i2HeHYaRP5A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mjHgVkxCoYHbesi7BaDJStlWPq4Q", + "id": "i2HeHYaRP5A", + "url": "https://music.youtube.com/watch?v=i2HeHYaRP5A" + }, + { + "title": "Ngo\u00e0i 30", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 357, + "cover_url": "https://i.ytimg.com/vi/p84MfhO8w00/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nOQ8RSsHMRBPy8gyJGtbo2iQlzvw", + "id": "p84MfhO8w00", + "url": "https://music.youtube.com/watch?v=p84MfhO8w00" + }, + { + "title": "ex's hate me, Pt.2", + "artist": "AMEE", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/86htdJAHF-E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPsllG2nO7Vm5vd5hXpG6oqICNrw", + "id": "86htdJAHF-E", + "url": "https://music.youtube.com/watch?v=86htdJAHF-E" + }, + { + "title": "Y\u00eau L\u1ea1i T\u1eeb \u0110\u1ea7u", + "artist": "Khac Viet", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/42Uvxt7i5dw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k2DpmDHoNB0C977e5tD7YI5qfO7A", + "id": "42Uvxt7i5dw", + "url": "https://music.youtube.com/watch?v=42Uvxt7i5dw" + }, + { + "title": "H\u00e3y Xem L\u00e0 Gi\u1ea5c M\u01a1", + "artist": "Chu Bin", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/qS3l_KFNGKk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTXUnTqZ22-GkCz1DGUF_xatJLPw", + "id": "qS3l_KFNGKk", + "url": "https://music.youtube.com/watch?v=qS3l_KFNGKk" + }, + { + "title": "B\u00e0i Ca T\u00f4m C\u00e1 - Yong Anhh ft. B\u00e9 Nguy\u1ec5n Minh Chi\u1ebfn | OST Anh Th\u1ea7y Ng\u00f4i Sao", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 210, + "cover_url": "https://i.ytimg.com/vi/bNpgDYPIGQo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kzpOfW2uNXm-CWMkF-bQsI8Etrmg", + "id": "bNpgDYPIGQo", + "url": "https://music.youtube.com/watch?v=bNpgDYPIGQo" + }, + { + "title": "Giang H\u1ea3i Kh\u00f4ng \u0110\u1ed9 N\u00e0ng (Orinn Remix) - Gia Huy | Nh\u1ea1c Remix C\u0103ng C\u1ef1c 2019", + "artist": "Orinn Mix", + "album": "Single", + "duration": 196, + "cover_url": "https://i.ytimg.com/vi/IoP5ULA1tSQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPBgpjP9MGBguQgkLq8pLa3v88Uw", + "id": "IoP5ULA1tSQ", + "url": "https://music.youtube.com/watch?v=IoP5ULA1tSQ" + }, + { + "title": "Thuy\u1ec1n Quy\u00ean", + "artist": "Di\u1ec7u Ki\u00ean", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/kqOybgUwTGY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kiM0HHx6gJmkIT7KrX_VvMLccdcw", + "id": "kqOybgUwTGY", + "url": "https://music.youtube.com/watch?v=kqOybgUwTGY" + }, + { + "title": "Cha V\u00e0 Con G\u00e1i", + "artist": "Th\u00f9y Chi, Nguyen Van Chung", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/1Y0jeAPH_Pc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWM86StKlFtJdqDHv45aP2nEgI1Q", + "id": "1Y0jeAPH_Pc", + "url": "https://music.youtube.com/watch?v=1Y0jeAPH_Pc" + }, + { + "title": "T\u1ec7 Th\u1eadt, Anh Nh\u1edb Em | Thanh H\u01b0ng | Official Lyric Video", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 339, + "cover_url": "https://i.ytimg.com/vi/PKqP8NkOMHo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_6jJMkLi7y-bdHmvhLGAL9hNcfA", + "id": "PKqP8NkOMHo", + "url": "https://music.youtube.com/watch?v=PKqP8NkOMHo" + }, + { + "title": "TOESUP, Smiley - Two Feet (DJ Dark Remix)", + "artist": "TOESUP, Smiley", + "album": "Single", + "duration": 150, + "cover_url": "https://i.ytimg.com/vi/AZg3U2lJCZM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8mpQzAO1sEzf7R3Bj_gP_Z1v8Zw", + "id": "AZg3U2lJCZM", + "url": "https://music.youtube.com/watch?v=AZg3U2lJCZM" + }, + { + "title": "Mo", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 334, + "cover_url": "https://i.ytimg.com/vi/2YM4j-oP_qQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lzpPjF9OCGDVvOwuwbLtyGa7Pi4A", + "id": "2YM4j-oP_qQ", + "url": "https://music.youtube.com/watch?v=2YM4j-oP_qQ" + }, + { + "title": "Nh\u01b0 Anh \u0110\u00e3 Th\u1ea5y Em", + "artist": "Freak D, Phucxp", + "album": "Single", + "duration": 339, + "cover_url": "https://i.ytimg.com/vi/cPbp2iFaZRo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lwKgC78ywIBWGGiFMgHP4Nrqu9AQ", + "id": "cPbp2iFaZRo", + "url": "https://music.youtube.com/watch?v=cPbp2iFaZRo" + }, + { + "title": "JustaTee - B\u00e2ng Khu\u00e2ng [ OFFICIAL MV ]", + "artist": "JustaTee", + "album": "Single", + "duration": 314, + "cover_url": "https://i.ytimg.com/vi/V0e2cgpOrJQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nV-8-Mo9wT4U_rpC3JcwLdz3CVKA", + "id": "V0e2cgpOrJQ", + "url": "https://music.youtube.com/watch?v=V0e2cgpOrJQ" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + }, + { + "title": "X\u1ee9ng \u0110\u00f4i C\u01b0\u1edbi Th\u00f4i", + "artist": "L\u00ea Thi\u1ec7n Hi\u1ebfu", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/BnfaIDwb-y0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3khjvMem8T9I9CY3yeg-mH9s9-37Q", + "id": "BnfaIDwb-y0", + "url": "https://music.youtube.com/watch?v=BnfaIDwb-y0" + }, + { + "title": "SAU L\u1edcI T\u1eea KH\u01af\u1edaC - PHAN M\u1ea0NH QU\u1ef2NH | OFFICIAL MV (OST phim MAI, \u0110\u1ea1o Di\u1ec5n Tr\u1ea5n Th\u00e0nh)", + "artist": "TR\u1ea4N TH\u00c0NH TOWN", + "album": "Single", + "duration": 263, + "cover_url": "https://i.ytimg.com/vi/h_1t3-6oWz4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mEA7LGWx6S0Cbe6F2sUvWSkUfUAw", + "id": "h_1t3-6oWz4", + "url": "https://music.youtube.com/watch?v=h_1t3-6oWz4" + } + ] + }, + { + "id": "PLNXnv4KPzSF9GLB4EMTqOkhrvrgDNQeqS", + "title": "Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026)", + "description": "Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026)\n \nWe are happy that you are here and you are listening to best of vietnamese songs. We hope that you will enjoy these famous vietnamese songs. Save it if you want to listen again. Thank you!\n \nYou can also find us with:\nvietnamese songs 2025\nmost popular vietnamese songs 2025\npopular vietnamese songs 2025\nvietnam music playlist\nvietnam playlist 2025\nbest of vietnamese music\nfamous vietnamese songs 2025\nvietnamese playlist 2025\nmost popular vietnamese songs\npopular vietnamese songs\n \nMost Popular Vietnamese Songs January 2025, February 2025, March 2025, April 2025, May 2025, June 2025, July 2025, August 2025, September 2025, October 2025, November 2025, December 2024\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/BAZCttRpg_pjlG9tDzk9C0Sk6O2hr3BQEY9TiresXpRBpSbbp3GyZP4FQXboOjesNgoXiZ7Pjyk=s1200", + "tracks": [ + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "C\u1ee9u L\u1ea5y \u00c2m Nh\u1ea1c (feat. itsnk)", + "artist": "Wren Evans", + "album": "Single", + "duration": 224, + "cover_url": "https://i.ytimg.com/vi/3K6PRfAp6O4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lg7mFYjCGYWV7sS9aC6K8H03Q_AQ", + "id": "3K6PRfAp6O4", + "url": "https://music.youtube.com/watch?v=3K6PRfAp6O4" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "KI\u00caN TR\u00cc L\u00c0 D\u00cc TH\u00c0NH C\u00d4NG", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/_r2CjzHXUWQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mWkAmFtoALHRNrqZIMXtMOmS_FCw", + "id": "_r2CjzHXUWQ", + "url": "https://music.youtube.com/watch?v=_r2CjzHXUWQ" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "N\u01b0\u1edbc M\u1eaft C\u00e1 S\u1ea5u", + "artist": "HIEUTHUHAI", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/zaYS8tiD0Og/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJH1X0IXVk0CQMSuUOGO0tUjY8lw", + "id": "zaYS8tiD0Og", + "url": "https://music.youtube.com/watch?v=zaYS8tiD0Og" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "[ KARAOKE BEAT CHU\u1ea8N ] B\u1eaeC BLING ( B\u1eaeC NINH ) - HO\u00c0 MINZY FT NS XU\u00c2N HINH x MASEW x TU\u1ea4N CRY", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/GAc_G1tonwg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kgf6WUrnm1xLYthbryXs0jMA9vsQ", + "id": "GAc_G1tonwg", + "url": "https://music.youtube.com/watch?v=GAc_G1tonwg" + }, + { + "title": "Ch\u0103m Em M\u1ed9t \u0110\u1eddi", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/ZvbwY5qUYnc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ltyalTmLfvg4ZbQCX5q-0MKFUpNA", + "id": "ZvbwY5qUYnc", + "url": "https://music.youtube.com/watch?v=ZvbwY5qUYnc" + }, + { + "title": "T\u00c2M T\u00ccNH NG\u01af\u1edcI L\u00cdNH", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 363, + "cover_url": "https://i.ytimg.com/vi/I2Cqm-_dWLk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l8MojKOIR7Up4ewRIX9ffM_yVycg", + "id": "I2Cqm-_dWLk", + "url": "https://music.youtube.com/watch?v=I2Cqm-_dWLk" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "\u0110\u1ea7u T\u01b0 Cho Tr\u00e1i Tim", + "artist": "Quang H\u00f9ng MasterD", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/-rWEFecV8iw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC-w4ThFsULIWmVLuS3dXGqkJ1eA", + "id": "-rWEFecV8iw", + "url": "https://music.youtube.com/watch?v=-rWEFecV8iw" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "SOOBIN - Ti\u1ebfn T\u1edbi \u01af\u1edbc M\u01a1 2 | V\u01b0\u01a1n M\u00ecnh V\u01b0\u1ee3t Tr\u1ed9i (feat. Rhymastic & SlimV)", + "artist": "SOOBIN", + "album": "Single", + "duration": 170, + "cover_url": "https://i.ytimg.com/vi/2EBWjBMTfUo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNvghJ1rpsvt7TYaNV5EMeLZ0pmw", + "id": "2EBWjBMTfUo", + "url": "https://music.youtube.com/watch?v=2EBWjBMTfUo" + }, + { + "title": "\u00d4M S\u1ea6U REMIX - NB3 HO\u00c0I B\u1ea2O | Em Quay B\u01b0\u1edbc \u0110i Ch\u1eafc C\u00f3 L\u1ebd Anh \u0110\u00e3 Sai | Ph\u00fat Cu\u1ed1i C\u1ed1 N\u00edu \u0110\u00f4i B\u00e0n Tay", + "artist": "ACV Entertainment", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/AhC2SbKd-bY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mZoCtYKosK2XtxwJVirCbHl9ISzQ", + "id": "AhC2SbKd-bY", + "url": "https://music.youtube.com/watch?v=AhC2SbKd-bY" + }, + { + "title": "Tr\u00fac Nh\u00e2n - KH\u00d4NG RA G\u00cc | Only Vocal", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Single", + "duration": 202, + "cover_url": "https://i.ytimg.com/vi/mtCS2V7PsoI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nO1unzoxyhqJz_fxtzNK-c-YCXLw", + "id": "mtCS2V7PsoI", + "url": "https://music.youtube.com/watch?v=mtCS2V7PsoI" + }, + { + "title": "M\u00f9a H\u00e8 N\u0103m \u0110\u00f3 - The Underdogs | Official MV", + "artist": "B Ray", + "album": "Single", + "duration": 365, + "cover_url": "https://i.ytimg.com/vi/jpPa1-EOxcc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4h_9_jEkzEQmwFq3D0FdAx9NvsQ", + "id": "jpPa1-EOxcc", + "url": "https://music.youtube.com/watch?v=jpPa1-EOxcc" + }, + { + "title": "M\u1eb8 Y\u00caU CON", + "artist": "BB Tr\u1ea7n, T\u1ef1 Long, Tuan Hung, C\u01b0\u1eddng Seven", + "album": "Single", + "duration": 361, + "cover_url": "https://i.ytimg.com/vi/_lIu6T3Bp2I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPQ36_hC6IImZYmCW9Jz9QVRtOmw", + "id": "_lIu6T3Bp2I", + "url": "https://music.youtube.com/watch?v=_lIu6T3Bp2I" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "N\u1ee4 C\u01af\u1edcI KHO\u1eba | RHYMASTIC x D\u01af\u01a0NG HO\u00c0NG Y\u1ebeN x MA B\u01af | NH\u1ea0C XU\u00c2N 2025 (feat. D\u01b0\u01a1ng Ho\u00e0ng Y\u1ebfn)", + "artist": "Rhymastic", + "album": "Single", + "duration": 231, + "cover_url": "https://i.ytimg.com/vi/b-sCa9raHcA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ka9uO2s9DrSBU9176GCPubScmtxg", + "id": "b-sCa9raHcA", + "url": "https://music.youtube.com/watch?v=b-sCa9raHcA" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "\u0110O\u00c1 PH\u00d9 DUNG CU\u1ed0I C\u00d9NG (feat. \u0110\u1ee9c Ph\u00fac)", + "artist": "ANH TRAI \"SAY HI\"", + "album": "Single", + "duration": 332, + "cover_url": "https://i.ytimg.com/vi/aXqwQ_ZjY2A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nIlVw0nHGTmGUMUvFoiF0TLxw8OQ", + "id": "aXqwQ_ZjY2A", + "url": "https://music.youtube.com/watch?v=aXqwQ_ZjY2A" + }, + { + "title": "\u00c1nh M\u1eaft Bi\u1ebft C\u01b0\u1eddi", + "artist": "Quang H\u00f9ng MasterD, T\u0103ng Duy T\u00e2n", + "album": "Single", + "duration": 171, + "cover_url": "https://i.ytimg.com/vi/eUR8nHYyZIA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUFhqZ8JHvL_uVbGK--T1CLO9l2A", + "id": "eUR8nHYyZIA", + "url": "https://music.youtube.com/watch?v=eUR8nHYyZIA" + }, + { + "title": "\ud83d\udd25B\u00e0i h\u00e1t \u0111ang HOT\ud83d\udd25NH\u00c2N CH\u1ee8NG - Quang Nhi | B\u00e0i H\u00e1t Mang Nhi\u1ec1u C\u1ea3m X\u00fac \u00cdt Ng\u01b0\u1eddi T\u1eebng Nghe | 4K MV", + "artist": "Gi\u1ecdng Ca \u0110\u1ec3 \u0110\u1eddi", + "album": "Single", + "duration": 377, + "cover_url": "https://i.ytimg.com/vi/0R6Zr1B5w1U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lrxxx3eNgizCsiz6qlFuFCGcr2Jg", + "id": "0R6Zr1B5w1U", + "url": "https://music.youtube.com/watch?v=0R6Zr1B5w1U" + }, + { + "title": "T\u00c1I SINH REMIX - T\u00d9NG D\u01af\u01a0NG x ACV REMIX | Ch\u00ecm V\u00e0o Trong \u00c1nh M\u1eaft \u0110\u1eafm \u0110u\u1ed1i Remix...", + "artist": "ACV Entertainment", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/BkXDE5nGtHI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kioNt0_rqfyPj5Pwu5fuo_2hycXg", + "id": "BkXDE5nGtHI", + "url": "https://music.youtube.com/watch?v=BkXDE5nGtHI" + }, + { + "title": "D\u01b0\u1edbi T\u00e1n C\u00e2y Kh\u00f4 Hoa N\u1edf", + "artist": "Jack - J97", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/Lf8df8FCJhk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kX6iI7yhEIDtHxoexrnH5lLJu13g", + "id": "Lf8df8FCJhk", + "url": "https://music.youtube.com/watch?v=Lf8df8FCJhk" + }, + { + "title": "Ng\u00e0y \u0110\u1ea7u Sau Chia Tay", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 334, + "cover_url": "https://i.ytimg.com/vi/ZnRgYm4t_14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nG2GzD56eudZALSy3qJ1Me1fsU_A", + "id": "ZnRgYm4t_14", + "url": "https://music.youtube.com/watch?v=ZnRgYm4t_14" + }, + { + "title": "Say S\u00f3ng", + "artist": "2pillz, T\u0103ng Duy T\u00e2n, & Drum7", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/gpl26Fg50zE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lU6FrqsvpUITc-CLxbwrski_4gXg", + "id": "gpl26Fg50zE", + "url": "https://music.youtube.com/watch?v=gpl26Fg50zE" + }, + { + "title": "Saved by a Psalm", + "artist": "Govana & Popcaan", + "album": "Single", + "duration": 217, + "cover_url": "https://i.ytimg.com/vi/QF-w-tdJGeI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWXIRxbbS5ovba5gz7A55DzzhCcw", + "id": "QF-w-tdJGeI", + "url": "https://music.youtube.com/watch?v=QF-w-tdJGeI" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "Ng\u00e0y Trong Xanh", + "artist": "Quang H\u00f9ng MasterD", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/NmO2joWVbGk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n44SNjQC7Rf_s00egs1BPz5GcpTQ", + "id": "NmO2joWVbGk", + "url": "https://music.youtube.com/watch?v=NmO2joWVbGk" + }, + { + "title": "H\u1ee8A \u0110\u1ee2I NH\u01afNG CH\u1eb2NG T\u1edaI REMIX - L\u00c2M TU\u1ea4N x MIKE.N REMIX | Em \u0110i V\u1ec1 \u1ede Ph\u00eda M\u1eb7t Tr\u1eddi...", + "artist": "ACV", + "album": "Single", + "duration": 415, + "cover_url": "https://i.ytimg.com/vi/AEMbb7NAnbo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxW-do6K_-YShw6_fXUv3j17_Ogw", + "id": "AEMbb7NAnbo", + "url": "https://music.youtube.com/watch?v=AEMbb7NAnbo" + }, + { + "title": "W/n - a b c d x y z n m a s a d (song 24) | 3107", + "artist": "W/n", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/rDpJfmBI9xQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mROJlZKPjwF__nqYYv7YTPYA7AYQ", + "id": "rDpJfmBI9xQ", + "url": "https://music.youtube.com/watch?v=rDpJfmBI9xQ" + }, + { + "title": "ALL TEN (feat. Lil Baby)", + "artist": "Tay B", + "album": "Single", + "duration": 204, + "cover_url": "https://i.ytimg.com/vi/EWdPzOQOCWU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mczok6LMfVaItnkmpb27iF_opiNg", + "id": "EWdPzOQOCWU", + "url": "https://music.youtube.com/watch?v=EWdPzOQOCWU" + }, + { + "title": "SOOBIN, tlinh - Ai M\u00e0 Bi\u1ebft \u0110\u01b0\u1ee3c | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video) (feat. tlinh)", + "artist": "SOOBIN", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/oV7qaHKPoK0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3llKRVwDPB7Zu5d4DMZY3gzvw1ZQQ", + "id": "oV7qaHKPoK0", + "url": "https://music.youtube.com/watch?v=oV7qaHKPoK0" + }, + { + "title": "D\u1eabu C\u00f3 L\u1ed7i L\u1ea7m", + "artist": "Duy Kh\u00e1nh \u5468\u5468, B\u00f9i C\u00f4ng Nam, Binz, Thi\u00ean Minh", + "album": "Single", + "duration": 356, + "cover_url": "https://i.ytimg.com/vi/SmHsIi5gJNc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mY5SM06uG0DP6MLQkD0hIDL_clGg", + "id": "SmHsIi5gJNc", + "url": "https://music.youtube.com/watch?v=SmHsIi5gJNc" + }, + { + "title": "M\u1ed8NG YU - AMEE x MCK | Official Music Video (from \u2018M\u1ed8NGMEE\u2019 album)", + "artist": "AMEE", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/09Mh7GgUFFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kOfLMsTFC8tE0kNUwRjBLFPok5BQ", + "id": "09Mh7GgUFFA", + "url": "https://music.youtube.com/watch?v=09Mh7GgUFFA" + } + ] + } + ], + "Ballad Singers": [ + { + "id": "PL1fg1hZOw7dt5NW5giHvLWwfUKzGvLY0Y", + "title": "Vietnam Ballad songs", + "description": "Best of Ballad Singers", + "cover_url": "https://yt3.googleusercontent.com/sx7TKiqnRfnX5bLXY46KArOaeA3mUXa5zKczA1K5IpLkB7y8_UdIQ8O3EKfKvwIoEZmpjJF-L85Y=s1200", + "tracks": [ + { + "title": "Phia Sau Mot Co Gai", + "artist": "SOOBIN", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/j__Q13iAxNk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4RzcKG5OPWIrsWGLn8BfjxsYBjg", + "id": "j__Q13iAxNk", + "url": "https://music.youtube.com/watch?v=j__Q13iAxNk" + }, + { + "title": "Ng\u1eafm Hoa L\u1ec7 R\u01a1i (Remix)", + "artist": "Ch\u00e2u Kh\u1ea3i Phong", + "album": "Single", + "duration": 308, + "cover_url": "https://i.ytimg.com/vi/SItFPrgEITM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loLETfI8f9ObYH_y38-7ix5VpC1Q", + "id": "SItFPrgEITM", + "url": "https://music.youtube.com/watch?v=SItFPrgEITM" + }, + { + "title": "Hoa N\u1edf Kh\u00f4ng M\u00e0u", + "artist": "Ho\u00e0i L\u00e2m", + "album": "Single", + "duration": 341, + "cover_url": "https://i.ytimg.com/vi/y_6aSG2yfe8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nX4Onfj_fAzBSLy2ABkUWv5xKBQA", + "id": "y_6aSG2yfe8", + "url": "https://music.youtube.com/watch?v=y_6aSG2yfe8" + }, + { + "title": "H\u00e0 Anh Tu\u1ea5n | Th\u00e1ng T\u01b0 L\u00e0 L\u1eddi N\u00f3i D\u1ed1i C\u1ee7a Em", + "artist": "Ha Anh Tuan", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/UCXao7aTDQM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mSuSY_7Xx7NABTg7hY0s2ITY4afg", + "id": "UCXao7aTDQM", + "url": "https://music.youtube.com/watch?v=UCXao7aTDQM" + }, + { + "title": "T\u1eebng y\u00eau", + "artist": "Phan Duy Anh", + "album": "Single", + "duration": 313, + "cover_url": "https://i.ytimg.com/vi/YRFSTg9IXNc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kCJmv75WJ6_Ze12qtUuSqn54P5Bg", + "id": "YRFSTg9IXNc", + "url": "https://music.youtube.com/watch?v=YRFSTg9IXNc" + }, + { + "title": "H\u00f4m Nay Em C\u01b0\u1edbi R\u1ed3i", + "artist": "Kh\u1ea3i \u0110\u0103ng", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/NuWAl7-Vkwk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lXcG-WHl4txgJ1gmqUzxIjKcMlQQ", + "id": "NuWAl7-Vkwk", + "url": "https://music.youtube.com/watch?v=NuWAl7-Vkwk" + }, + { + "title": "Cu\u1ed9c S\u1ed1ng Em \u1ed4n Kh\u00f4ng", + "artist": "Anh T\u00fa", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/DWYwmTdXpqw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mMg6s_9HHQeYxnJ2iWdDhpYC2T9w", + "id": "DWYwmTdXpqw", + "url": "https://music.youtube.com/watch?v=DWYwmTdXpqw" + }, + { + "title": "ERIK - CH\u1ea0M \u0110\u00c1Y N\u1ed6I \u0110AU M/V (ft. MR.SIRO)", + "artist": "ERIK", + "album": "Single", + "duration": 369, + "cover_url": "https://i.ytimg.com/vi/8BAdhoeabUM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l0mR__fm_D98poOJNhJc9Boks2Ug", + "id": "8BAdhoeabUM", + "url": "https://music.youtube.com/watch?v=8BAdhoeabUM" + }, + { + "title": "N\u1ebfu L\u00e0 Anh", + "artist": "The Men", + "album": "Single", + "duration": 396, + "cover_url": "https://i.ytimg.com/vi/003LPzYwSNc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3khoyPFKA9QFpCH2BwltRdeeJfJfg", + "id": "003LPzYwSNc", + "url": "https://music.youtube.com/watch?v=003LPzYwSNc" + }, + { + "title": "Su\u00fdt N\u1eefa Th\u00ec...", + "artist": "Andiez", + "album": "Single", + "duration": 286, + "cover_url": "https://i.ytimg.com/vi/cUmpJ2zwfVU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k65TEq3E031gDDBN2PURUxX0TKmA", + "id": "cUmpJ2zwfVU", + "url": "https://music.youtube.com/watch?v=cUmpJ2zwfVU" + }, + { + "title": "HET THUONG CAN NHO", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 382, + "cover_url": "https://i.ytimg.com/vi/DZDYZ9nRHfU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mWrNfyq6u2zxldycVMZqBActN9yw", + "id": "DZDYZ9nRHfU", + "url": "https://music.youtube.com/watch?v=DZDYZ9nRHfU" + }, + { + "title": "Em G\u00e1i M\u01b0a", + "artist": "Huong Tram", + "album": "Single", + "duration": 559, + "cover_url": "https://i.ytimg.com/vi/Y29OrOVJUKs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mUOEwludI9yiOf5qLSRzFPY8OMMg", + "id": "Y29OrOVJUKs", + "url": "https://music.youtube.com/watch?v=Y29OrOVJUKs" + }, + { + "title": "Tr\u00e1i Tim Em C\u0169ng Bi\u1ebft \u0110au", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 451, + "cover_url": "https://i.ytimg.com/vi/_esoNnEflzM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3miVHCYHp_5Syp0j7ZQgzycvP8cDg", + "id": "_esoNnEflzM", + "url": "https://music.youtube.com/watch?v=_esoNnEflzM" + }, + { + "title": "ERIK - 'Em Kh\u00f4ng Sai, Ch\u00fang Ta Sai' (Official MV)", + "artist": "ERIK Official", + "album": "Single", + "duration": 389, + "cover_url": "https://i.ytimg.com/vi/iwGuiSnr2Qc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n6WhCId9hWalg5SN0E_4v6rDqqfw", + "id": "iwGuiSnr2Qc", + "url": "https://music.youtube.com/watch?v=iwGuiSnr2Qc" + }, + { + "title": "N\u00e0ng Th\u01a1", + "artist": "Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/Zzn9-ATB9aU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSi8o3ZM12g1kRAu5k1MQEiMq43w", + "id": "Zzn9-ATB9aU", + "url": "https://music.youtube.com/watch?v=Zzn9-ATB9aU" + }, + { + "title": "Ai L\u00e0 Ng\u01b0\u1eddi Th\u01b0\u01a1ng Em?", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 391, + "cover_url": "https://i.ytimg.com/vi/P_jk6caKnfA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3li_l9ik4jDAKVrccw4ZV21YBLcVQ", + "id": "P_jk6caKnfA", + "url": "https://music.youtube.com/watch?v=P_jk6caKnfA" + }, + { + "title": "R\u1ed3i Ng\u01b0\u1eddi Th\u01b0\u01a1ng C\u0169ng H\u00f3a Ng\u01b0\u1eddi D\u01b0ng", + "artist": "Hi\u1ec1n H\u1ed3", + "album": "Single", + "duration": 287, + "cover_url": "https://i.ytimg.com/vi/IGyA9CxWwbs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nNOKYvQVgFyPGU3RBoKGtST_L3Ow", + "id": "IGyA9CxWwbs", + "url": "https://music.youtube.com/watch?v=IGyA9CxWwbs" + }, + { + "title": "TOULIVER X L\u00ca HI\u1ebeU X SOOBIN HO\u00c0NG S\u01a0N - NG\u00c0Y MAI EM \u0110I 2017 | OFFICIAL LYRIC VIDEO", + "artist": "SpaceSpeakers Label", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/z5Jc7KiTLbs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l5SLOmu5kLvo41TvnxwgS5ddfGVg", + "id": "z5Jc7KiTLbs", + "url": "https://music.youtube.com/watch?v=z5Jc7KiTLbs" + }, + { + "title": "Chi\u1ec1u H\u00f4m \u1ea4y", + "artist": "JayKii", + "album": "Single", + "duration": 318, + "cover_url": "https://i.ytimg.com/vi/SA35ldy92s0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kVcyA5dLBbHgoHzmUCamWiA7__Uw", + "id": "SA35ldy92s0", + "url": "https://music.youtube.com/watch?v=SA35ldy92s0" + }, + { + "title": "Em \u01a0i L\u00ean Ph\u1ed1", + "artist": "Minh Vuong M4U", + "album": "Single", + "duration": 287, + "cover_url": "https://i.ytimg.com/vi/EHASipZkZnk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n5782KOdi_zrgvD24mVgHNYHqNiw", + "id": "EHASipZkZnk", + "url": "https://music.youtube.com/watch?v=EHASipZkZnk" + }, + { + "title": "Ai Mang C\u00f4 \u0110\u01a1n \u0110i", + "artist": "ICM", + "album": "Single", + "duration": 217, + "cover_url": "https://i.ytimg.com/vi/ilKg0DZrOwY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lHC4LEHTrksqySD-mEzr7cYkZFRA", + "id": "ilKg0DZrOwY", + "url": "https://music.youtube.com/watch?v=ilKg0DZrOwY" + }, + { + "title": "T\u00e2m S\u1ef1 Tu\u1ed5i 30 - OST \u00d4ng Ngo\u1ea1i Tu\u1ed5i 30 | Tr\u1ecbnh Th\u0103ng B\u00ecnh [MV OFFICIAL] - Nh\u1ea1c Phim Hay 2018", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/pwCaaico9M8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mHIlxVBi4_Q2q_tqoJR6YO6cL_3g", + "id": "pwCaaico9M8", + "url": "https://music.youtube.com/watch?v=pwCaaico9M8" + }, + { + "title": "H\u01a1n C\u1ea3 Y\u00eau", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 343, + "cover_url": "https://i.ytimg.com/vi/__kGJZ-kPno/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lykWrZ1WwaKb_W7akLz5eFh0ATHw", + "id": "__kGJZ-kPno", + "url": "https://music.youtube.com/watch?v=__kGJZ-kPno" + }, + { + "title": "Anh \u01a0i \u1ede L\u1ea1i (feat. DatG Music)", + "artist": "Chi Pu", + "album": "Single", + "duration": 342, + "cover_url": "https://i.ytimg.com/vi/3fi7uwBU-CE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSP20-J5WHFlH_U_StsB5W6VbiFw", + "id": "3fi7uwBU-CE", + "url": "https://music.youtube.com/watch?v=3fi7uwBU-CE" + }, + { + "title": "B\u00f4ng Hoa \u0110\u1eb9p Nh\u1ea5t", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 357, + "cover_url": "https://i.ytimg.com/vi/fTXd-DpN3AI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lljj0Ka4HKeR3niKR-OoOGiYNElA", + "id": "fTXd-DpN3AI", + "url": "https://music.youtube.com/watch?v=fTXd-DpN3AI" + }, + { + "title": "Duy\u00ean M\u00ecnh L\u1ee1", + "artist": "Huong Tram", + "album": "Single", + "duration": 485, + "cover_url": "https://i.ytimg.com/vi/fxeSvAsqzlo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTbNZQCRIxto06eCfoGClyGfbhLg", + "id": "fxeSvAsqzlo", + "url": "https://music.youtube.com/watch?v=fxeSvAsqzlo" + }, + { + "title": "Anh \u0110\u00e3 Quen V\u1edbi C\u00f4 \u0110\u01a1n - Soobin Ho\u00e0ng S\u01a1n | Official Music Video 4K", + "artist": "Soobin Ho\u00e0ng S\u01a1n", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/X7sSE3yCNLI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k1f5RDGtQzULDH0pkIuqYH0HcSpg", + "id": "X7sSE3yCNLI", + "url": "https://music.youtube.com/watch?v=X7sSE3yCNLI" + }, + { + "title": "Bu\u1ed3n L\u00e0m Chi Em \u01a0i", + "artist": "Nguy\u1ec5n Minh C\u01b0\u1eddng, Ho\u00e0i L\u00e2m, Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/ahF-3SaeJJ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mlGQJuNxhTaeXjINaqcLAMq0Nhsg", + "id": "ahF-3SaeJJ4", + "url": "https://music.youtube.com/watch?v=ahF-3SaeJJ4" + }, + { + "title": "Cuoi Nhau Di (Yes I Do)", + "artist": "Bui Anh Tuan, Hien Ho&100 cap co dau chu re", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/o_lN37OAJ9U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ml8Bb8OHgT9N8F8XQHc9iuMjKgVA", + "id": "o_lN37OAJ9U", + "url": "https://music.youtube.com/watch?v=o_lN37OAJ9U" + }, + { + "title": "\u0110\u00fang C\u0169ng Th\u00e0nh Sai", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 298, + "cover_url": "https://i.ytimg.com/vi/5_ozB0ImkYA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moLV4Wg2yunJjxTFigGy0dVQKF5g", + "id": "5_ozB0ImkYA", + "url": "https://music.youtube.com/watch?v=5_ozB0ImkYA" + }, + { + "title": "\u0110\u00e2u Ch\u1ec9 Ri\u00eang Em", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/ttd3hNNxfZw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9-HRvnEfmwkeh7KbemnPQq5WSzw", + "id": "ttd3hNNxfZw", + "url": "https://music.youtube.com/watch?v=ttd3hNNxfZw" + }, + { + "title": "M\u1ed9t B\u01b0\u1edbc Y\u00eau, V\u1ea1n D\u1eb7m \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 730, + "cover_url": "https://i.ytimg.com/vi/GwCUbhE0TY0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMIgflA2Eo_khNy-RLF1hP9jZoTA", + "id": "GwCUbhE0TY0", + "url": "https://music.youtube.com/watch?v=GwCUbhE0TY0" + }, + { + "title": "\u0110\u1eebng h\u1ecfi em", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 262, + "cover_url": "https://i.ytimg.com/vi/SNVE42IIY_s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3npSg21MUfQkMX-PTGwRq6vC06EmQ", + "id": "SNVE42IIY_s", + "url": "https://music.youtube.com/watch?v=SNVE42IIY_s" + }, + { + "title": "ERIK - \u2018C\u00f3 T\u1ea5t C\u1ea3 Nh\u01b0ng Thi\u1ebfu Anh\u2019 (Official MV)", + "artist": "ERIK Official", + "album": "Single", + "duration": 481, + "cover_url": "https://i.ytimg.com/vi/LSjFMH1tsFc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3knd07VNGQayqqHl4sQRvpBUXjm-w", + "id": "LSjFMH1tsFc", + "url": "https://music.youtube.com/watch?v=LSjFMH1tsFc" + }, + { + "title": "T\u1eadn c\u00f9ng n\u1ed7i nh\u1edb", + "artist": "Will 365", + "album": "Single", + "duration": 292, + "cover_url": "https://i.ytimg.com/vi/UOpE-hRFPCo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqS8aRw6b_vq5FtuNJ-0gMQtbBRw", + "id": "UOpE-hRFPCo", + "url": "https://music.youtube.com/watch?v=UOpE-hRFPCo" + }, + { + "title": "ERIK - L\u1ea0C NHAU C\u00d3 PH\u1ea2I MU\u00d4N \u0110\u1edcI | Official Music Video", + "artist": "ST.319 Entertainment", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/Mb4xUU0utEI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nJF8t7vroPNHOQDWfnUUmiomxzxA", + "id": "Mb4xUU0utEI", + "url": "https://music.youtube.com/watch?v=Mb4xUU0utEI" + }, + { + "title": "1 Ph\u00fat", + "artist": "Andiez", + "album": "Single", + "duration": 376, + "cover_url": "https://i.ytimg.com/vi/dLQe4qEfVJw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_pm58Upvs4ZGbXf0NNi_amP9nzA", + "id": "dLQe4qEfVJw", + "url": "https://music.youtube.com/watch?v=dLQe4qEfVJw" + }, + { + "title": "SUPERSTAR", + "artist": "SOOBIN, Kay Tran, Tuan Hung, Phan \u0110\u00ecnh T\u00f9ng, Ki\u00ean \u1ee8ng, and (S)TRONG", + "album": "Single", + "duration": 425, + "cover_url": "https://i.ytimg.com/vi/zsqlxq85SXw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lnfwdMrK6Zy6h8qUx3rMkBISV7kw", + "id": "zsqlxq85SXw", + "url": "https://music.youtube.com/watch?v=zsqlxq85SXw" + }, + { + "title": "C\u00f3 Ch\u00e0ng Trai Vi\u1ebft L\u00ean C\u00e2y - Phan M\u1ea1nh Qu\u1ef3nh | M\u1eaeT BI\u1ebeC OST", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 305, + "cover_url": "https://i.ytimg.com/vi/0VC6euBtKkk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ld3Yvp0c5OPqMK_-cXSA-FJkRfzA", + "id": "0VC6euBtKkk", + "url": "https://music.youtube.com/watch?v=0VC6euBtKkk" + }, + { + "title": "T\u00f3c Ti\u00ean - C\u00d3 AI TH\u01af\u01a0NG EM NH\u01af ANH (#CATENA) ft. Touliver (Official MV)", + "artist": "T\u00f3c Ti\u00ean", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/neCmEbI2VWg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWRpg9Xl9T8yX9meotiK_rhF-SwA", + "id": "neCmEbI2VWg", + "url": "https://music.youtube.com/watch?v=neCmEbI2VWg" + }, + { + "title": "Em Ng\u00e0y X\u01b0a Kh\u00e1c R\u1ed3i", + "artist": "Hi\u1ec1n H\u1ed3", + "album": "Single", + "duration": 342, + "cover_url": "https://i.ytimg.com/vi/fA_5o55GqT0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkHeFFgo49TVX-FiZmH0zVApVJ1w", + "id": "fA_5o55GqT0", + "url": "https://music.youtube.com/watch?v=fA_5o55GqT0" + }, + { + "title": "Sau t\u1ea5t c\u1ea3", + "artist": "ERIK", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/wHF3Jv6Gk2o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nDrGNHGBI6o8xx-ZdPoKeuGt8NAQ", + "id": "wHF3Jv6Gk2o", + "url": "https://music.youtube.com/watch?v=wHF3Jv6Gk2o" + }, + { + "title": "Ta C\u00f2n Y\u00eau Nhau", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 343, + "cover_url": "https://i.ytimg.com/vi/oiikgEzTotg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lbETB3cNO2vAA-qzpfPEkWScYKmA", + "id": "oiikgEzTotg", + "url": "https://music.youtube.com/watch?v=oiikgEzTotg" + }, + { + "title": "\u00c1nh N\u1eafng C\u1ee7a Anh (Ch\u1edd Em \u0110\u1ebfn Ng\u00e0y Mai OST)", + "artist": "TR\u1ea4N TH\u00c0NH TOWN", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/1P4DaXgzVnE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kXgFQeDYnGIGpBpK9dTo3VxOz7bw", + "id": "1P4DaXgzVnE", + "url": "https://music.youtube.com/watch?v=1P4DaXgzVnE" + }, + { + "title": "G\u1eedi anh xa nh\u1edb", + "artist": "B\u00edch Ph\u01b0\u01a1ng", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/sbfks7HdRoE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nRhf_Js8605A_atZ7YVY_AdL3n6w", + "id": "sbfks7HdRoE", + "url": "https://music.youtube.com/watch?v=sbfks7HdRoE" + }, + { + "title": "tr\u1eddi gi\u1ea5u tr\u1eddi mang \u0111i", + "artist": "AMEE", + "album": "Single", + "duration": 524, + "cover_url": "https://i.ytimg.com/vi/YXkp77tR9vw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPmd5oYg8VGFthUaICC4V_EwyvzA", + "id": "YXkp77tR9vw", + "url": "https://music.youtube.com/watch?v=YXkp77tR9vw" + }, + { + "title": "N\u01a1i M\u00ecnh D\u1eebng Ch\u00e2n (Nh\u1ea1c Phim Ch\u1ecb Tr\u1ee3 L\u00fd C\u1ee7a Anh)", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/r7HA_9rKIMI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m57j55sesqeaMzLRiUqkhIcYIb7w", + "id": "r7HA_9rKIMI", + "url": "https://music.youtube.com/watch?v=r7HA_9rKIMI" + }, + { + "title": "Nh\u01b0 m\u1ed9t gi\u1ea5c m\u01a1", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/pYGNl0hqAbU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l3h6HAWUUiWvqc-ETzz-GmCDqZQQ", + "id": "pYGNl0hqAbU", + "url": "https://music.youtube.com/watch?v=pYGNl0hqAbU" + }, + { + "title": "I DO", + "artist": "\u0110\u1ee9c Ph\u00fac, 911, Kh\u1eafc H\u01b0ng", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/IOe0tNoUGv8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mRsJPXjr1auYLuHNs9wL0LWOUkyg", + "id": "IOe0tNoUGv8", + "url": "https://music.youtube.com/watch?v=IOe0tNoUGv8" + }, + { + "title": "Y\u00eau M\u1ed9t Ng\u01b0\u1eddi V\u00f4 T\u00e2m | B\u1ea3o Anh | Official MV | S\u00e1ng t\u00e1c: Mr. Siro", + "artist": "POPS MUSIC", + "album": "Single", + "duration": 438, + "cover_url": "https://i.ytimg.com/vi/6bqGjHujGkY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nCS6wZIsl6njUbCMhcmx0e3zJuDg", + "id": "6bqGjHujGkY", + "url": "https://music.youtube.com/watch?v=6bqGjHujGkY" + }, + { + "title": "Em Khong La Duy Nhat", + "artist": "T\u00f3c Ti\u00ean", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/BkBqYlLjIeA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kPy5TNpUnaMA7VHMKyK7UBkTT7mA", + "id": "BkBqYlLjIeA", + "url": "https://music.youtube.com/watch?v=BkBqYlLjIeA" + }, + { + "title": "Chuy\u1ec7n Nh\u01b0 Ch\u01b0a B\u1eaft \u0110\u1ea7u", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 282, + "cover_url": "https://i.ytimg.com/vi/tHTyWBD47Ck/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lAyAhl7sCBQIi5vywGXQj5qMGayw", + "id": "tHTyWBD47Ck", + "url": "https://music.youtube.com/watch?v=tHTyWBD47Ck" + }, + { + "title": "N\u1ebfu anh \u0111i", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 252, + "cover_url": "https://i.ytimg.com/vi/00kl9SQxMUM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lppfyfRZG3NYrMb-KaJKlcKjZ-fQ", + "id": "00kl9SQxMUM", + "url": "https://music.youtube.com/watch?v=00kl9SQxMUM" + }, + { + "title": "Anh \u0110\u1ee3i Em \u0110\u01b0\u1ee3c Kh\u00f4ng", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 281, + "cover_url": "https://i.ytimg.com/vi/5QfXwgkJITA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nb9Zdj3pBUp8iYj2AOflCUpSVpQw", + "id": "5QfXwgkJITA", + "url": "https://music.youtube.com/watch?v=5QfXwgkJITA" + }, + { + "title": "M\u00e0u n\u01b0\u1edbc m\u1eaft", + "artist": "Nguyen Tran Trung Quan", + "album": "Single", + "duration": 440, + "cover_url": "https://i.ytimg.com/vi/kgfNvOTPAJo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l1UD84ZbL64VhC0lb-N9MiQ1SYoQ", + "id": "kgfNvOTPAJo", + "url": "https://music.youtube.com/watch?v=kgfNvOTPAJo" + }, + { + "title": "GREY D x tlinh - vaicaunoicokhiennguoithaydoi | Official Music Video", + "artist": "ST.319 Entertainment", + "album": "Single", + "duration": 236, + "cover_url": "https://i.ytimg.com/vi/2iidlwQ-NfU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3td_Nfz0Yhzq5297-WyPQMX8PTQ", + "id": "2iidlwQ-NfU", + "url": "https://music.youtube.com/watch?v=2iidlwQ-NfU" + }, + { + "title": "Th\u01b0\u01a1ng Em L\u00e0 \u0110i\u1ec1u Anh Kh\u00f4ng Th\u1ec3 Ng\u1edd (Live from Noo's Chill Night 1)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 646, + "cover_url": "https://i.ytimg.com/vi/tAaUbRt6jqM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kmIPRxw74dJdeZkW4RxXq43FeYkQ", + "id": "tAaUbRt6jqM", + "url": "https://music.youtube.com/watch?v=tAaUbRt6jqM" + }, + { + "title": "H\u1eb9n M\u1ed9t Mai", + "artist": "B\u00f9i Anh Tu\u1ea5n", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/pX6nutvtDnI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napKL11glh1R2MlIwMi0mXmkTaHQ", + "id": "pX6nutvtDnI", + "url": "https://music.youtube.com/watch?v=pX6nutvtDnI" + }, + { + "title": "YEU DUOC KHONG", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 332, + "cover_url": "https://i.ytimg.com/vi/_VGm6brq1aI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNIBVbXwDlVkBR6tC_b351NaaKrw", + "id": "_VGm6brq1aI", + "url": "https://music.youtube.com/watch?v=_VGm6brq1aI" + }, + { + "title": "Ch\u1edd Ng\u00e0y Anh Nh\u1eadn Ra Em | Th\u00f9y Chi | M\u1ed1i T\u00ecnh \u0110\u1ea7u C\u1ee7a T\u00f4i OST", + "artist": "Th\u00f9y Chi", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/qjaBJbWXwu8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l6xZIPdKdsGLJ4Vt-j1xnnS1Hyig", + "id": "qjaBJbWXwu8", + "url": "https://music.youtube.com/watch?v=qjaBJbWXwu8" + }, + { + "title": "S\u1ef0 TH\u1eacT SAU M\u1ed8T L\u1edcI H\u1ee8A - CHI D\u00c2N [MV OFFICIAL]", + "artist": "Chi D\u00e2n", + "album": "Single", + "duration": 459, + "cover_url": "https://i.ytimg.com/vi/yNrXi10GdbM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL8h2MKwgEU76k-y5lEzWCeBRMQQ", + "id": "yNrXi10GdbM", + "url": "https://music.youtube.com/watch?v=yNrXi10GdbM" + }, + { + "title": "Cause I Love You - Noo Ph\u01b0\u1edbc Th\u1ecbnh [Official Music Video]", + "artist": "Sony Music Entertainment Vietnam", + "album": "Single", + "duration": 374, + "cover_url": "https://i.ytimg.com/vi/_E-7A81Ac8U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSNYTw7kfTqRmR1JALX2qSJmkV9g", + "id": "_E-7A81Ac8U", + "url": "https://music.youtube.com/watch?v=_E-7A81Ac8U" + }, + { + "title": "M\u00e3i M\u00e3i B\u00ean Nhau (Official Music Video)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/bs7u95QlCxs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0guVdn-bxCrWdpqVvp2b-69bU9g", + "id": "bs7u95QlCxs", + "url": "https://music.youtube.com/watch?v=bs7u95QlCxs" + }, + { + "title": "Quang Vinh - Phai D\u1ea5u Cu\u1ed9c T\u00ecnh (\u9ec4\u660f Cover)", + "artist": "Quang Vinh", + "album": "Single", + "duration": 287, + "cover_url": "https://i.ytimg.com/vi/ptLFrU_zrEQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mR_ZvMSza4nYeO28WuYrphy_3Elw", + "id": "ptLFrU_zrEQ", + "url": "https://music.youtube.com/watch?v=ptLFrU_zrEQ" + }, + { + "title": "C\u00f3 Nh\u01b0 Kh\u00f4ng C\u00f3", + "artist": "Hi\u1ec1n H\u1ed3", + "album": "Single", + "duration": 318, + "cover_url": "https://i.ytimg.com/vi/nBADFUDapmk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFgwh-fxf24W_DNsZT4sPCGIhTAg", + "id": "nBADFUDapmk", + "url": "https://music.youtube.com/watch?v=nBADFUDapmk" + }, + { + "title": "C\u00f2n y\u00eau, \u0111\u00e2u ai r\u1eddi \u0111i", + "artist": "\u0110\u1ee9c Ph\u00fac", + "album": "Single", + "duration": 341, + "cover_url": "https://i.ytimg.com/vi/VCYJckDc_fw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m9V39bj_j4rUZ20LaY0yjaJl3fmA", + "id": "VCYJckDc_fw", + "url": "https://music.youtube.com/watch?v=VCYJckDc_fw" + }, + { + "title": "\u0110\u1eebng h\u1ecfi em", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 708, + "cover_url": "https://i.ytimg.com/vi/Z4HivEWoXGE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k3_nqRfgaqFro6mWj5Rrv2PhqKQA", + "id": "Z4HivEWoXGE", + "url": "https://music.youtube.com/watch?v=Z4HivEWoXGE" + }, + { + "title": "T\u1ea5t C\u1ea3 S\u1ebd Thay Em", + "artist": "Ph\u1ea1m Qu\u1ef3nh Anh", + "album": "Single", + "duration": 314, + "cover_url": "https://i.ytimg.com/vi/glpJF66chmI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSM7QeULVAHiEZd0Fdc92nnauyxg", + "id": "glpJF66chmI", + "url": "https://music.youtube.com/watch?v=glpJF66chmI" + }, + { + "title": "T\u1ef1 T\u00e2m", + "artist": "Nguyen Tran Trung Quan", + "album": "Single", + "duration": 490, + "cover_url": "https://i.ytimg.com/vi/4GuR_g75ufY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ms5f0DSKboCT62Kgxap-Xby8wsrg", + "id": "4GuR_g75ufY", + "url": "https://music.youtube.com/watch?v=4GuR_g75ufY" + }, + { + "title": "KHONG THE CUNG NHAU SUOT KIEP", + "artist": "H\u00f2a Minzy", + "album": "Single", + "duration": 536, + "cover_url": "https://i.ytimg.com/vi/ayJY9ieBuEU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kT_YPSdnc9encUPcYNkFMUZ9CVUQ", + "id": "ayJY9ieBuEU", + "url": "https://music.youtube.com/watch?v=ayJY9ieBuEU" + }, + { + "title": "Trong Tr\u00ed Nh\u1edb C\u1ee7a Anh (Acoustic ver)", + "artist": "Nguyen Tran Trung Quan", + "album": "Single", + "duration": 443, + "cover_url": "https://i.ytimg.com/vi/S3YvgwfxJ68/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mAn1g-VMVoKawVL2LmYyol7Yt3_A", + "id": "S3YvgwfxJ68", + "url": "https://music.youtube.com/watch?v=S3YvgwfxJ68" + }, + { + "title": "Anh Muon Em Song Sao", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/ZBT0Chsef0k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZ8oEqyPgAXhHGylj4ddRYzrGEQQ", + "id": "ZBT0Chsef0k", + "url": "https://music.youtube.com/watch?v=ZBT0Chsef0k" + }, + { + "title": "H\u01b0\u01a1ng Tr\u00e0m Singer | Cho Em G\u1ea7n Anh Th\u00eam Ch\u00fat N\u1eefa | Lyric", + "artist": "Huong Tram", + "album": "Single", + "duration": 315, + "cover_url": "https://i.ytimg.com/vi/Xn2Lm6AHW6Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mYYHX8q9ZhNQ0GzTz5KMBrpBET2Q", + "id": "Xn2Lm6AHW6Q", + "url": "https://music.youtube.com/watch?v=Xn2Lm6AHW6Q" + }, + { + "title": "ERIK - Y\u00eau \u0111\u01b0\u01a1ng kh\u00f3 qu\u00e1 th\u00ec CH\u1ea0Y V\u1ec0 KH\u00d3C V\u1edaI ANH | Official Music Video (Genshin Impact)", + "artist": "ERIK", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/EBpp2VTSI2Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kGHoZD9Uz-sBVHfJi5JCjuFLB-Ug", + "id": "EBpp2VTSI2Q", + "url": "https://music.youtube.com/watch?v=EBpp2VTSI2Q" + }, + { + "title": "G\u1eb7p Nh\u01b0ng Kh\u00f4ng \u1ede L\u1ea1i", + "artist": "V\u01b0\u01a1ng Anh T\u00fa, Hi\u1ec1n H\u1ed3", + "album": "Single", + "duration": 633, + "cover_url": "https://i.ytimg.com/vi/5afz2COusA0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJTBrKsPv2ML69MmlkHFqEt-GlTg", + "id": "5afz2COusA0", + "url": "https://music.youtube.com/watch?v=5afz2COusA0" + }, + { + "title": "Ch\u1ea1m Kh\u1ebd Tim Anh M\u1ed9t Ch\u00fat Th\u00f4i (Official Music Video)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 551, + "cover_url": "https://i.ytimg.com/vi/zshxAlfZYAI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lVt83z5dYBHd94y_3wsAZozbwoGQ", + "id": "zshxAlfZYAI", + "url": "https://music.youtube.com/watch?v=zshxAlfZYAI" + }, + { + "title": "Nh\u1eafm M\u1eaft Th\u1ea5y M\u00f9a H\u00e8", + "artist": "Nguy\u00ean H\u00e0", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/fgpwTxIv76Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kq5mkKBmmB-4fZ9h7ffjPM8znKNw", + "id": "fgpwTxIv76Q", + "url": "https://music.youtube.com/watch?v=fgpwTxIv76Q" + }, + { + "title": "M\u00ecnh chia tay \u0111i", + "artist": "ERIK", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/dShq3wqgzII/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nqL7Iyc-AT21eTPuoMjhk3zCwpKQ", + "id": "dShq3wqgzII", + "url": "https://music.youtube.com/watch?v=dShq3wqgzII" + }, + { + "title": "C\u1ea3 m\u1ed9t tr\u1eddi th\u01b0\u01a1ng nh\u1edb", + "artist": "H\u1ed3 Ng\u1ecdc H\u00e0", + "album": "Single", + "duration": 435, + "cover_url": "https://i.ytimg.com/vi/1L4uZqFs1ts/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lHs_bYVBuQXMMWNPGrDpo9K3wIsg", + "id": "1L4uZqFs1ts", + "url": "https://music.youtube.com/watch?v=1L4uZqFs1ts" + }, + { + "title": "\u0110\u1eebng Xin L\u1ed7i N\u1eefa", + "artist": "MIN, ERIK", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/_ds-1XnWvGg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3niX3RDle02upcJ8s_gqLh95kKluA", + "id": "_ds-1XnWvGg", + "url": "https://music.youtube.com/watch?v=_ds-1XnWvGg" + }, + { + "title": "H\u00e3y \u0110\u1ec3 Em Qu\u00ean (Ng\u1ed1c 2)", + "artist": "Huong Tram", + "album": "Single", + "duration": 440, + "cover_url": "https://i.ytimg.com/vi/2fzPWsr7x0s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPHRfjlQ_BSOCANZirKppmHfWYGw", + "id": "2fzPWsr7x0s", + "url": "https://music.youtube.com/watch?v=2fzPWsr7x0s" + }, + { + "title": "Nh\u01b0 Ph\u00fat Ban \u0110\u1ea7u (Official Music Video)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 443, + "cover_url": "https://i.ytimg.com/vi/X9rF43W9E-s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kR-FWdKBNXBd24srMSiP_-vJ_6Lw", + "id": "X9rF43W9E-s", + "url": "https://music.youtube.com/watch?v=X9rF43W9E-s" + }, + { + "title": "[Official] Ch\u1edd ng\u00e0y m\u01b0a tan - Noo Ph\u01b0\u1edbc Th\u1ecbnh [HD] #noophuocthinh #noo #chongaymuatan", + "artist": "8 Chuyen Vbiz", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/K0eprBsdbk0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nx0To2S1NAUEWnl-ir3OF7XxBgsw", + "id": "K0eprBsdbk0", + "url": "https://music.youtube.com/watch?v=K0eprBsdbk0" + }, + { + "title": "Really Love You (Official Music Video)", + "artist": "Noo Ph\u01b0\u1edbc Th\u1ecbnh", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/kLr5VRdJQgE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kHUdcGltxZ_x_ORYALCvRbTKhr4Q", + "id": "kLr5VRdJQgE", + "url": "https://music.youtube.com/watch?v=kLr5VRdJQgE" + }, + { + "title": "Shay N\u1eafnggg", + "artist": "AMEE, Obito", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/TaJqxfMZMWs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m4IyrFaTYMFtUyRclvoraXwtOWjw", + "id": "TaJqxfMZMWs", + "url": "https://music.youtube.com/watch?v=TaJqxfMZMWs" + } + ] + }, + { + "id": "PLYTqH7PH2JuJrkNHfV6_Ynp1J35kL9PQ9", + "title": "Vietnamese Ballad songs", + "description": "Best of Ballad Singers", + "cover_url": "https://yt3.googleusercontent.com/YheqcZSsbsNtH_XbtkytpmfvQMAcpLtB_b8bgrQgzadH1sfxb3Js7CoFxtGe7Cf7djvvCOaJXpE=s1200", + "tracks": [ + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "T\u1eebng L\u00e0", + "duration": 253, + "cover_url": "https://lh3.googleusercontent.com/mo8nVPNfMNONwoe8ebq0cqFVhv-1ngPZJSjhZdXnaAO7HtDCJ0t2pnOZhDKjendzkMndkRG7zQMEf0I=w120-h120-l90-rj", + "id": "9IbuIl0_NWw", + "url": "https://music.youtube.com/watch?v=9IbuIl0_NWw" + }, + { + "title": "V\u00e0 Ng\u00e0y N\u00e0o \u0110\u00f3 (feat. V\u0169 Th\u1ea3o My)", + "artist": "Studio Party, Quang Trung", + "album": "Quang Trung Studio Party", + "duration": 270, + "cover_url": "https://lh3.googleusercontent.com/ssoYnqDTds2zFhol8ESs-QClZhISU0E19-e2b1EkOSIo8ceTNjgwtKsyp6WxvSwg8gyodlLCx1sAiuF_=w120-h120-l90-rj", + "id": "rppVPuFTKa8", + "url": "https://music.youtube.com/watch?v=rppVPuFTKa8" + }, + { + "title": "M\u01b0a Th\u00e1ng S\u00e1u", + "artist": "V\u0103n Mai H\u01b0\u01a1ng, GREY D, Trung Qu\u00e2n", + "album": "M\u01b0a Th\u00e1ng S\u00e1u", + "duration": 258, + "cover_url": "https://lh3.googleusercontent.com/ltciaJyNfyRAeR_Lpm6D8CJDtLzOsYWlYpwkd7POwC2JMsiZs_MML-zad6cpjLUfXNMcHN69iqX1ufwM=w120-h120-l90-rj", + "id": "_DcBGBaNvwY", + "url": "https://music.youtube.com/watch?v=_DcBGBaNvwY" + }, + { + "title": "T\u00e1i Sinh (Live)", + "artist": "T\u00f9ng D\u01b0\u01a1ng", + "album": "T\u00e1i Sinh", + "duration": 299, + "cover_url": "https://lh3.googleusercontent.com/vsxx2uZ4wkYe-Cm2uXMFkITlfYc98fMepaD19noHxpqIzADCbCb1sihapW8LcdYxZgDQU8WaM1XnhnRZAA=w120-h120-l90-rj", + "id": "-sl3KsQICVY", + "url": "https://music.youtube.com/watch?v=-sl3KsQICVY" + }, + { + "title": "R\u1ed3i Em S\u1ebd G\u1eb7p M\u1ed9t Ch\u00e0ng Trai Kh\u00e1c (feat. Hippohappy)", + "artist": "The Masked Singer", + "album": "(T\u1eadp 14) Ca S\u0129 M\u1eb7t N\u1ea1 M\u00f9a 2 [The Masked Singer Vietnam]", + "duration": 304, + "cover_url": "https://lh3.googleusercontent.com/zMLA9bvXHn1Mz_eiO2EYyHlrsAb8Wa7z2SSo57XKRFAb3gXXv9IiBry3lN2zZYv9kaCBjEI4g-TdgoZv=w120-h120-l90-rj", + "id": "E7bBpDe1p5s", + "url": "https://music.youtube.com/watch?v=E7bBpDe1p5s" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "duration": 237, + "cover_url": "https://lh3.googleusercontent.com/yh7ngUouQcLtbv_VtYfqhpr1LYTBDPL5P-PCSG9w5thpWxybBdGgD08l3-TT2GpAm8OJpIZRIk2bEnDX=w120-h120-l90-rj", + "id": "hDrFd1W8fvU", + "url": "https://music.youtube.com/watch?v=hDrFd1W8fvU" + }, + { + "title": "D\u00e0nh H\u1ebft Xu\u00e2n Th\u00ec \u0110\u1ec3 Ch\u1edd Nhau", + "artist": "V\u0169., H\u00e0 Anh Tu\u1ea5n", + "album": "D\u00e0nh H\u1ebft Xu\u00e2n Th\u00ec \u0110\u1ec3 Ch\u1edd Nhau", + "duration": 289, + "cover_url": "https://lh3.googleusercontent.com/KlTeNI91p5QbRkA09aruAUD4M-r7o4PTUCYFGBkjND3wewr2bAYUVddV3QaE9MeP4rHMpaInj-uCLBQ=w120-h120-l90-rj", + "id": "lbq4SCtRCKU", + "url": "https://music.youtube.com/watch?v=lbq4SCtRCKU" + }, + { + "title": "Tr\u00fac Nh\u00e2n | L\u1edbn R\u1ed3i C\u00f2n Kh\u00f3c Nh\u00e8", + "artist": "Tr\u00fac Nh\u00e2n", + "album": "Ng\u01b0\u1eddi Ta C\u00f3 Th\u01b0\u01a1ng M\u00ecnh \u0110\u00e2u", + "duration": 212, + "cover_url": "https://lh3.googleusercontent.com/JIBlayax-Gh78ySAl9Iqf2AXOOVhSYAQ0NFUtnBeziaxXtLLZPKw3VkDfKslIFabRZIPzqkjV3xD8wk7=w120-h120-l90-rj", + "id": "CvuQsZ974kY", + "url": "https://music.youtube.com/watch?v=CvuQsZ974kY" + }, + { + "title": "D\u0129 V\u00e3ng Nh\u1ea1t Nho\u00e0", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "duration": 247, + "cover_url": "https://lh3.googleusercontent.com/5ekZp5nRy8X8h-dMizOmx5pAgNO1EYHwtpjO2hzaqxS4WLUMBEaB4hVFebYdnWd4aKhHix1bHIokurD0=w120-h120-l90-rj", + "id": "TmD3cqWM-JQ", + "url": "https://music.youtube.com/watch?v=TmD3cqWM-JQ" + }, + { + "title": "C\u00f2n Tu\u1ed5i N\u00e0o Cho Em", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 276, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "PaXyNXdXNO0", + "url": "https://music.youtube.com/watch?v=PaXyNXdXNO0" + }, + { + "title": "TAN TRO", + "artist": "LAN NHA", + "album": "Tan Tro", + "duration": 272, + "cover_url": "https://lh3.googleusercontent.com/OGnG5HNeSta3HsomO5kXY2y5T4ueX5cGbtxgmb228kGk441cTX_6pMH_33P-3NL_PcAiBogsG5nxC91iyQ=w120-h120-l90-rj", + "id": "tiGNSG2c91M", + "url": "https://music.youtube.com/watch?v=tiGNSG2c91M" + }, + { + "title": "\u0110\u00f4i B\u1edd", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00f4i B\u1edd", + "duration": 329, + "cover_url": "https://lh3.googleusercontent.com/voSqb6RAfnZ37nCVWzp8chwIWTwY_HH7xHJmnLjITyGECX5CHxTMW27bRua0oNMDfGjcZsb82Bh9Uyom=w120-h120-l90-rj", + "id": "_5gpVTcKXQ4", + "url": "https://music.youtube.com/watch?v=_5gpVTcKXQ4" + }, + { + "title": "CHIEU MOT MINH QUA PHO", + "artist": "LAN NHA", + "album": "Chieu Mot Minh Qua Pho", + "duration": 267, + "cover_url": "https://lh3.googleusercontent.com/ly2Lf-oUxnzNGMJ3TWSFn0eYJbYRbdQ08SdW_Bg3L1NxomiAJ-x3Zp8Obc8UTpQ3lwZKHFu08QkvPS07=w120-h120-l90-rj", + "id": "MtuV_ikfQuY", + "url": "https://music.youtube.com/watch?v=MtuV_ikfQuY" + }, + { + "title": "M\u00f9a Xu\u00e2n \u0110\u1ea7u Ti\u00ean (Live With Orchestra)", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u00f9a Xu\u00e2n \u0110\u1ea7u Ti\u00ean (Live With Orchestra)", + "duration": 339, + "cover_url": "https://lh3.googleusercontent.com/duhH0ySPCO8u98DO6ij0Ff1yX4_t1gOjAfXRf6C6rI7vFAnTg9kFUBOdquaHM5n1eRbh4ePU4wp98_bN=w120-h120-l90-rj", + "id": "CL9t0vom28U", + "url": "https://music.youtube.com/watch?v=CL9t0vom28U" + }, + { + "title": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/5ekZp5nRy8X8h-dMizOmx5pAgNO1EYHwtpjO2hzaqxS4WLUMBEaB4hVFebYdnWd4aKhHix1bHIokurD0=w120-h120-l90-rj", + "id": "8gAGK6cwZo8", + "url": "https://music.youtube.com/watch?v=8gAGK6cwZo8" + }, + { + "title": "L\u1ea1c M\u1ea5t M\u00f9a Xu\u00e2n", + "artist": "L\u00e2n Nh\u00e3", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 310, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "qXQ5K-2gT0o", + "url": "https://music.youtube.com/watch?v=qXQ5K-2gT0o" + }, + { + "title": "T\u00ecnh N\u1ed3ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "duration": 296, + "cover_url": "https://lh3.googleusercontent.com/5ekZp5nRy8X8h-dMizOmx5pAgNO1EYHwtpjO2hzaqxS4WLUMBEaB4hVFebYdnWd4aKhHix1bHIokurD0=w120-h120-l90-rj", + "id": "HX1axS6w9KA", + "url": "https://music.youtube.com/watch?v=HX1axS6w9KA" + }, + { + "title": "LAI GAN HON ANH", + "artist": "LAN NHA", + "album": "Lai Gan Hon Anh", + "duration": 272, + "cover_url": "https://lh3.googleusercontent.com/wGyOMVS174c-YsDmTT-Zt9gk5yTFPXgZn20CTN88DKDLDdgylECRY4oETBfc80CaN7JyseD8Ibou5HKT=w120-h120-l90-rj", + "id": "zs2UGdB0Tbw", + "url": "https://music.youtube.com/watch?v=zs2UGdB0Tbw" + }, + { + "title": "Kh\u00fac Giao M\u00f9a (Live With Orchestra)", + "artist": "L\u00e2n Nh\u00e3, Qu\u1ed1c Thi\u00ean, H\u00e0 An Huy, B\u00edch Tr\u00e2m, Ti\u00eau Ch\u00e2u Nh\u01b0 Qu\u1ef3nh, and L\u00e2m B\u1ea3o Ng\u1ecdc", + "album": "M\u00f9a Xu\u00e2n \u0110\u1ea7u Ti\u00ean (Live With Orchestra)", + "duration": 299, + "cover_url": "https://lh3.googleusercontent.com/duhH0ySPCO8u98DO6ij0Ff1yX4_t1gOjAfXRf6C6rI7vFAnTg9kFUBOdquaHM5n1eRbh4ePU4wp98_bN=w120-h120-l90-rj", + "id": "BqddlySmPXw", + "url": "https://music.youtube.com/watch?v=BqddlySmPXw" + }, + { + "title": "M\u00e3i y\u00eau m\u00ecnh em", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u00e3i y\u00eau m\u00ecnh em", + "duration": 314, + "cover_url": "https://lh3.googleusercontent.com/m34-jiqiDx2pRlTMgGR5nK0pEze-gnInZOxxwFiD-yNYL6bbcS1mKtwT78XWVD8GyOVslAzjJRQg9C4=w120-h120-l90-rj", + "id": "ridtKqcXsSA", + "url": "https://music.youtube.com/watch?v=ridtKqcXsSA" + }, + { + "title": "Kh\u00fac Nh\u1ea1c Bu\u1ed3n", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "duration": 253, + "cover_url": "https://lh3.googleusercontent.com/5ekZp5nRy8X8h-dMizOmx5pAgNO1EYHwtpjO2hzaqxS4WLUMBEaB4hVFebYdnWd4aKhHix1bHIokurD0=w120-h120-l90-rj", + "id": "bx_QI2u0O-w", + "url": "https://music.youtube.com/watch?v=bx_QI2u0O-w" + }, + { + "title": "N\u1ed7i \u0110au Ng\u1ecdt Ng\u00e0o", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 256, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "g780mVMi3qo", + "url": "https://music.youtube.com/watch?v=g780mVMi3qo" + }, + { + "title": "HOA NAO ANH QUEN", + "artist": "Lan Nha", + "album": "Hoa Nao Anh Quen", + "duration": 260, + "cover_url": "https://lh3.googleusercontent.com/Eu0p7cy5q8zZzIKkZ9-kZTC2g9L656z97ijyvCm6eITFdK7zEWX5H9lEMxt27I0Q44oSeq7wDUBOsN8n=w120-h120-l90-rj", + "id": "vYUSarLzK08", + "url": "https://music.youtube.com/watch?v=vYUSarLzK08" + }, + { + "title": "CHI CON MINH ANH", + "artist": "LAN NHA", + "album": "Chi Con Minh Anh", + "duration": 207, + "cover_url": "https://lh3.googleusercontent.com/Z_nWP9Gxm2vjtgZRyJbZHQHNVp-tQwVPsSPDoxhrc2AFtRldaGKlz5_-7KUlMNHyVBPREwiSleJ98CY=w120-h120-l90-rj", + "id": "iz1BRQHEWps", + "url": "https://music.youtube.com/watch?v=iz1BRQHEWps" + }, + { + "title": "N\u1ed7i \u0110au Mu\u1ed9n M\u00e0ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 296, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "IeaUFYTtB2k", + "url": "https://music.youtube.com/watch?v=IeaUFYTtB2k" + }, + { + "title": "Ni\u1ec1m \u0110au Ch\u00f4n Gi\u1ea5u", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 292, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "cU7VFmr3huM", + "url": "https://music.youtube.com/watch?v=cU7VFmr3huM" + }, + { + "title": "Th\u1eddi gian n\u00e0o phai d\u1ea5u", + "artist": "L\u00e2n Nh\u00e3", + "album": "Th\u1eddi gian n\u00e0o phai d\u1ea5u", + "duration": 354, + "cover_url": "https://lh3.googleusercontent.com/g90oG8nQ0qmWiaZh-o-8JBAi-B_efQarUAuoUFrNTdyN0NIMj0d8HrHvqPTsNEt8Z7RwLoG2ULlr7kWv=w120-h120-l90-rj", + "id": "QayKtc_-S3k", + "url": "https://music.youtube.com/watch?v=QayKtc_-S3k" + }, + { + "title": "M\u1ed9t L\u1ea7n N\u00e0o Cho T\u00f4i G\u1eb7p L\u1ea1i Em", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 307, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "g7fOlDhmxJc", + "url": "https://music.youtube.com/watch?v=g7fOlDhmxJc" + }, + { + "title": "H\u1eb9n Nhau Cu\u1ed1i Ch\u00e2n Tr\u1eddi", + "artist": "L\u00e2n Nh\u00e3", + "album": "H\u1eb9n Nhau Cu\u1ed1i Ch\u00e2n Tr\u1eddi", + "duration": 313, + "cover_url": "https://lh3.googleusercontent.com/69yKYc2teHJNiIiP8q4IGgH2bcdqLF4j--TGN028oZZnX1mEfV-e0kS0zKwvjYiGDPTJAngXcHV64jwBfw=w120-h120-l90-rj", + "id": "De_DhLurDFw", + "url": "https://music.youtube.com/watch?v=De_DhLurDFw" + }, + { + "title": "Ch\u1ee3t Nh\u01b0 N\u0103m 18", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 348, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "14YaZ_CHmN4", + "url": "https://music.youtube.com/watch?v=14YaZ_CHmN4" + }, + { + "title": "Mong Manh T\u00ecnh V\u1ec1", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00f4i B\u1edd", + "duration": 299, + "cover_url": "https://lh3.googleusercontent.com/voSqb6RAfnZ37nCVWzp8chwIWTwY_HH7xHJmnLjITyGECX5CHxTMW27bRua0oNMDfGjcZsb82Bh9Uyom=w120-h120-l90-rj", + "id": "1vfYdQjPQi8", + "url": "https://music.youtube.com/watch?v=1vfYdQjPQi8" + }, + { + "title": "\u0110\u00f3n Xu\u00e2n (Live With Orchestra)", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u00f9a Xu\u00e2n \u0110\u1ea7u Ti\u00ean (Live With Orchestra)", + "duration": 199, + "cover_url": "https://lh3.googleusercontent.com/duhH0ySPCO8u98DO6ij0Ff1yX4_t1gOjAfXRf6C6rI7vFAnTg9kFUBOdquaHM5n1eRbh4ePU4wp98_bN=w120-h120-l90-rj", + "id": "vCoXrXz6J3E", + "url": "https://music.youtube.com/watch?v=vCoXrXz6J3E" + }, + { + "title": "Nh\u1eefng Ti\u1ebfng Th\u1edf D\u00e0i", + "artist": "L\u00e2n Nh\u00e3", + "album": "Nh\u1eefng Ti\u1ebfng Th\u1edf D\u00e0i", + "duration": 325, + "cover_url": "https://lh3.googleusercontent.com/M2d0W8E2sUxcLkZLjr25hj2vWwua-WVspIJujvnzACrlFfcACU09vjJUcG5e_Ei1NUmUb0o4IBBCSavxcA=w120-h120-l90-rj", + "id": "unt0rT41-AI", + "url": "https://music.youtube.com/watch?v=unt0rT41-AI" + }, + { + "title": "\u0110o\u1ea3n Kh\u00fac Cu\u1ed1i Cho Em", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 259, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "EuxelqX8gVA", + "url": "https://music.youtube.com/watch?v=EuxelqX8gVA" + }, + { + "title": "Bi\u1ec3n Nh\u1edb", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 227, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "7etXl3svq4w", + "url": "https://music.youtube.com/watch?v=7etXl3svq4w" + }, + { + "title": "Em C\u00f2n Nh\u1edb Hay Em \u0110\u00e3 Qu\u00ean", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 324, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "bQFjdKAbZ1k", + "url": "https://music.youtube.com/watch?v=bQFjdKAbZ1k" + }, + { + "title": "Tr\u01b0\u1edbc khi ng\u00e0y mai \u0111\u1ebfn", + "artist": "L\u00e2n Nh\u00e3", + "album": "Tr\u01b0\u1edbc khi ng\u00e0y mai \u0111\u1ebfn", + "duration": 377, + "cover_url": "https://lh3.googleusercontent.com/n9-_nX9JswoxagdzkW3k72kIFJJN8djVg9Mdi6V7LRBZwtCVHtNkqTInN1a7Lro8G5bzGld8WlWxXlw=w120-h120-l90-rj", + "id": "dWAwz6H7Ta4", + "url": "https://music.youtube.com/watch?v=dWAwz6H7Ta4" + }, + { + "title": "KHONG KHOC O SAI GON", + "artist": "LAN NHA", + "album": "Khong Khoc O Sai Gon", + "duration": 343, + "cover_url": "https://lh3.googleusercontent.com/hJnQuweIUKeGKEGLu5pqlxr_O31uAnJqbydOboigHW-AHV7tLYiRy60arZFwYHkgnrNQStBEEZY_Lug=w120-h120-l90-rj", + "id": "vYzFSmf0Sio", + "url": "https://music.youtube.com/watch?v=vYzFSmf0Sio" + }, + { + "title": "Nh\u00ecn L\u1ea1i K\u00fd \u1ee8c", + "artist": "L\u00e2n Nh\u00e3", + "album": "Nh\u00ecn L\u1ea1i K\u00fd \u1ee8c", + "duration": 358, + "cover_url": "https://lh3.googleusercontent.com/yUfBVjWzM0DUzootEMAZlX2dsbGX_g1X3zpJCWpDVCjY3GWkphG0qBo1JbnKpAJOEFj6FrhYWNh2v26L=w120-h120-l90-rj", + "id": "But5Bi3Jugo", + "url": "https://music.youtube.com/watch?v=But5Bi3Jugo" + }, + { + "title": "Khi M\u00f9a \u0110\u00f4ng T\u00e0n Phai", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 278, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "x2wknkZRQKw", + "url": "https://music.youtube.com/watch?v=x2wknkZRQKw" + }, + { + "title": "Ph\u01b0\u1ee3ng Y\u00eau", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 284, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "0i8kvRxnpzo", + "url": "https://music.youtube.com/watch?v=0i8kvRxnpzo" + }, + { + "title": "KI NIEM NAO VOI TAN", + "artist": "LAN NHA", + "album": "Ki Niem Nao Voi Tan", + "duration": 303, + "cover_url": "https://lh3.googleusercontent.com/SYT77pAvnXKfigisipYHHu3q9BvInhPgGdhkKLQoRDQ_hxdQ_0H5OmCV7TlW5VkxYjKYlequlYVgh6c=w120-h120-l90-rj", + "id": "pagnUBXY14c", + "url": "https://music.youtube.com/watch?v=pagnUBXY14c" + }, + { + "title": "Ph\u00f4i Pha", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 270, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "JiM-Sd3-5aw", + "url": "https://music.youtube.com/watch?v=JiM-Sd3-5aw" + }, + { + "title": "Nh\u01b0 M\u1ed9t L\u1eddi Chia Tay", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 269, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "8K1Mko5a5H0", + "url": "https://music.youtube.com/watch?v=8K1Mko5a5H0" + }, + { + "title": "V\u00ec Y\u00eau M\u00e0 T\u00f4i S\u1ebd \u1ede L\u1ea1i \u0110\u00e2y", + "artist": "L\u00e2n Nh\u00e3", + "album": "V\u00ec Y\u00eau M\u00e0 T\u00f4i S\u1ebd \u1ede L\u1ea1i \u0110\u00e2y", + "duration": 315, + "cover_url": "https://lh3.googleusercontent.com/ZY8rZOBBMcb6CCBr6UGekDoGpKpyllGPHcJstRt8ocl4wpN1lp_vGqqtIFxj_n8yhyz2lJJxxPz5S1ppSg=w120-h120-l90-rj", + "id": "olNhsRDffFs", + "url": "https://music.youtube.com/watch?v=olNhsRDffFs" + }, + { + "title": "TINH YEU TOI HAT", + "artist": "LAN NHA, UYEN LINH", + "album": "Tinh Yeu Toi Hat", + "duration": 352, + "cover_url": "https://lh3.googleusercontent.com/G4LzWs6fLJv4Jf4e9E7vB-GeJzBtaS5QBPMn-7_S7SnT9YZGZODZISaNVNLzzx1knrWkkXCbhyQim4E=w120-h120-l90-rj", + "id": "S9hpTvtdboQ", + "url": "https://music.youtube.com/watch?v=S9hpTvtdboQ" + }, + { + "title": "V\u00e0ng Phai Tr\u01b0\u1edbc Ng\u00f5", + "artist": "L\u00e2n Nh\u00e3", + "album": "V\u00e0ng Phai Tr\u01b0\u1edbc Ng\u00f5", + "duration": 313, + "cover_url": "https://lh3.googleusercontent.com/KNrrcMcaL2-aCTgHwIW6BRQCZ0QXkEiqZ1q055uIL365zJdfRzSnwTM8uWvlERMpNLb1IUgJG4zBZjceow=w120-h120-l90-rj", + "id": "Kf5689L8pXg", + "url": "https://music.youtube.com/watch?v=Kf5689L8pXg" + }, + { + "title": "Hoa T\u00e0n", + "artist": "L\u00e2n Nh\u00e3", + "album": "Hoa N\u1eafng", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/a6npCLrw_56pEHosC7ZpnrzvA4fivjf06m6Kcdk0WTAb_hw45o0XXnwXqsRw3IZ19muAIdhq6foAZMs=w120-h120-l90-rj", + "id": "ZWP4arugtxw", + "url": "https://music.youtube.com/watch?v=ZWP4arugtxw" + }, + { + "title": "Cu\u1ed1i C\u00f9ng Cho M\u1ed9t T\u00ecnh Y\u00eau", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 182, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "tGw2dHH52hI", + "url": "https://music.youtube.com/watch?v=tGw2dHH52hI" + }, + { + "title": "B\u00e0i Kh\u00f4ng T\u00ean Cu\u1ed1i C\u00f9ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 300, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "z3QkWgHn2m0", + "url": "https://music.youtube.com/watch?v=z3QkWgHn2m0" + }, + { + "title": "\u0110i\u1ec1u G\u00ec \u0110\u00f3", + "artist": "L\u00e2n Nh\u00e3, V\u00f5 H\u1ea1 Tr\u00e2m", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 366, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "vMrasadZGR8", + "url": "https://music.youtube.com/watch?v=vMrasadZGR8" + }, + { + "title": "Ch\u1eafc V\u1eabn Ch\u1edd Nhau", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ch\u1eafc V\u1eabn Ch\u1edd Nhau", + "duration": 308, + "cover_url": "https://lh3.googleusercontent.com/H-Av_MI0XK6eYDFuZgnK4Em068vhKyJRo299zlAes-A-J2qtmb76tlCxOtfPveRgTadxVQh9O-5pdpsq=w120-h120-l90-rj", + "id": "IoYYa41ItTA", + "url": "https://music.youtube.com/watch?v=IoYYa41ItTA" + }, + { + "title": "Chi\u1ebfc L\u00e1 M\u00f9a \u0110\u00f4ng", + "artist": "L\u00e2n Nh\u00e3, V\u00f5 H\u1ea1 Tr\u00e2m", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 319, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "wp-9mZJzaCE", + "url": "https://music.youtube.com/watch?v=wp-9mZJzaCE" + }, + { + "title": "Bi\u1ebft Bao Gi\u1edd Tr\u1edf L\u1ea1i", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 295, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "-wr7ANOA8lc", + "url": "https://music.youtube.com/watch?v=-wr7ANOA8lc" + }, + { + "title": "T\u00ecnh S\u1ea7u", + "artist": "L\u00e2n Nh\u00e3", + "album": "NHI\u00caN", + "duration": 307, + "cover_url": "https://lh3.googleusercontent.com/qPvJ-9Kd558J-VF8MT8qFpokMiOliaJpgyn1QJR11qrBfY_auF5AbnD5I3vekwlIyw0GVPXkA_fRRcCR=w120-h120-l90-rj", + "id": "qpD63T-kYPs", + "url": "https://music.youtube.com/watch?v=qpD63T-kYPs" + }, + { + "title": "Y\u00eau L\u00e0 Ch\u1ebft Trong L\u00f2ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 282, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "Js2h6tJEMek", + "url": "https://music.youtube.com/watch?v=Js2h6tJEMek" + }, + { + "title": "Bu\u1ed3n V\u01b0\u01a1ng M\u00e0u \u00c1o", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 286, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "nHCVgSaRDUc", + "url": "https://music.youtube.com/watch?v=nHCVgSaRDUc" + }, + { + "title": "\u0110\u1ec3 Gi\u00f3 Cu\u1ed1n \u0110i", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00f4i B\u1edd", + "duration": 251, + "cover_url": "https://lh3.googleusercontent.com/voSqb6RAfnZ37nCVWzp8chwIWTwY_HH7xHJmnLjITyGECX5CHxTMW27bRua0oNMDfGjcZsb82Bh9Uyom=w120-h120-l90-rj", + "id": "__pZw9ppsSw", + "url": "https://music.youtube.com/watch?v=__pZw9ppsSw" + }, + { + "title": "M\u1ed7i Ng\u00e0y T\u00f4i Ch\u1ecdn M\u1ed9t Ni\u1ec1m Vui", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00f4i B\u1edd", + "duration": 318, + "cover_url": "https://lh3.googleusercontent.com/voSqb6RAfnZ37nCVWzp8chwIWTwY_HH7xHJmnLjITyGECX5CHxTMW27bRua0oNMDfGjcZsb82Bh9Uyom=w120-h120-l90-rj", + "id": "l2TY0HGxJCs", + "url": "https://music.youtube.com/watch?v=l2TY0HGxJCs" + }, + { + "title": "D\u00f9 Ta V\u1eabn Y\u00eau", + "artist": "L\u00e2n Nh\u00e3", + "album": "D\u00f9 Ta V\u1eabn Y\u00eau", + "duration": 308, + "cover_url": "https://lh3.googleusercontent.com/tHEquVhAcGi-H4JPmhkrvFyEtQwjwMnw07q4tAedzSp6M7s7czhYwy7ETPLalEYuvb70Kx6OJyv6ynf_=w120-h120-l90-rj", + "id": "9DzS5blsirs", + "url": "https://music.youtube.com/watch?v=9DzS5blsirs" + }, + { + "title": "Mi\u1ec1n T\u00ecnh Y\u00eau", + "artist": "L\u00e2n Nh\u00e3", + "album": "Mi\u1ec1n T\u00ecnh Y\u00eau", + "duration": 266, + "cover_url": "https://lh3.googleusercontent.com/-5SB-HnbqsiBtyKkzG-SD5Q4JrBzc76BlivGc-rfCoE8JlpTl_-HzLQM-ROWkixMSaoFwkpooZ0_fQ7v=w120-h120-l90-rj", + "id": "kT-w1p25iSw", + "url": "https://music.youtube.com/watch?v=kT-w1p25iSw" + }, + { + "title": "Kho\u1ea3ng C\u00e1ch (C\u00f5i M\u1ed9ng)", + "artist": "L\u00e2n Nh\u00e3", + "album": "NH\u00c3", + "duration": 263, + "cover_url": "https://lh3.googleusercontent.com/HbEjU5oVzh5Nwr8CsJcZi34kRVao1IjwWaGuw81f0x9SLT89cgscI8solt90eGNi9-tc77tcvllYu5s=w120-h120-l90-rj", + "id": "0RWzm3Xh_o8", + "url": "https://music.youtube.com/watch?v=0RWzm3Xh_o8" + }, + { + "title": "C\u00f3 Nh\u1eefng Phai T\u00e0n", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 236, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "6MGXarF-cWM", + "url": "https://music.youtube.com/watch?v=6MGXarF-cWM" + }, + { + "title": "Ch\u1ea1m Th\u1eadt Kh\u1ebd Gi\u1ea5c M\u01a1 (From \"B\u00e1n Ch\u1ed3ng\" Original Motion Picture Soundtrack)", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ch\u1ea1m Th\u1eadt Kh\u1ebd Gi\u1ea5c M\u01a1 (From \"B\u00e1n Ch\u1ed3ng\" Original Motion Picture Soundtrack)", + "duration": 259, + "cover_url": "https://lh3.googleusercontent.com/iJJ2sfPWwhkj9xfKzB-IG0uG1PQEOeogXv0151Ap9NYyh4EuALermgWu7rCmkH98aQFPkhacqpit_LZw=w120-h120-l90-rj", + "id": "p7wzQ7TQyEQ", + "url": "https://music.youtube.com/watch?v=p7wzQ7TQyEQ" + }, + { + "title": "KI NIEM CHIEU MUA", + "artist": "LAN NHA", + "album": "Ki Niem Chieu Mua", + "duration": 278, + "cover_url": "https://lh3.googleusercontent.com/AHQAvyXkCF22Tz5tvlv2gGp6sgd7nFTqVA6aEj1xfiLZ8I3QxsAfpim0h8Uj12S7sbu2b1zm-7DK7uPu=w120-h120-l90-rj", + "id": "8T_vSSgFw6k", + "url": "https://music.youtube.com/watch?v=8T_vSSgFw6k" + }, + { + "title": "VE NOI BAT DAU", + "artist": "LAN NHA", + "album": "Ve Noi Bat Dau", + "duration": 314, + "cover_url": "https://lh3.googleusercontent.com/DW8DSufxqHeM0A14NYlvGrkBxZR_2WCIPFGjC_fl83LcH2RwXMoP_zRdAEdBPAemzhNRhE5Bs779R2O4=w120-h120-l90-rj", + "id": "41Nxc20BeTQ", + "url": "https://music.youtube.com/watch?v=41Nxc20BeTQ" + }, + { + "title": "TIENG YEU TUNG DEM", + "artist": "LAN NHA", + "album": "Tieng Yeu Tung Dem", + "duration": 286, + "cover_url": "https://lh3.googleusercontent.com/z-z2kvLKnT61l0HP64jukA1zBBqrqezlnK9t_4_yrpTkMrh6Oqeu1TiURhe163AD5xZWPhIdyvKRFVFH=w120-h120-l90-rj", + "id": "SffQ8AVmf1Q", + "url": "https://music.youtube.com/watch?v=SffQ8AVmf1Q" + }, + { + "title": "Nh\u00ecn L\u1ea1i K\u00fd \u1ee8c (Special Version)", + "artist": "L\u00e2n Nh\u00e3 & Ph\u1ea1m Qu\u1ef3nh Anh", + "album": "Nh\u00ecn L\u1ea1i K\u00fd \u1ee8c (Special Version)", + "duration": 378, + "cover_url": "https://lh3.googleusercontent.com/ZiKU4ihrtw2Uk_5fgwdCZQdmXUnsWotlkd6xGUSgJbZCnqvKPSk9a_oURrhgG5heXsB_oyNtt837H2D7=w120-h120-l90-rj", + "id": "mTnK8CnRoRM", + "url": "https://music.youtube.com/watch?v=mTnK8CnRoRM" + }, + { + "title": "Con C\u1ee7a Cha \u01a0i", + "artist": "L\u00e2n Nh\u00e3", + "album": "Con C\u1ee7a Cha \u01a0i", + "duration": 320, + "cover_url": "https://lh3.googleusercontent.com/LLixbz9xzznfXgzBxYYzneznDtynOoZCA-IRFaECUcYLpruHJ09ORsyz79tpIs1AVW5HqSDld_8SovAdAg=w120-h120-l90-rj", + "id": "mt7727sjBXg", + "url": "https://music.youtube.com/watch?v=mt7727sjBXg" + }, + { + "title": "NOI EM GAP ANH", + "artist": "LAN NHA, UYEN LINH", + "album": "Noi Em Gap Anh", + "duration": 272, + "cover_url": "https://lh3.googleusercontent.com/38xF5Ix3XsAKS5nM9a1RPnOHlWrCWebc6RkdGIM-1_sdlgAnBojoBE_1PalQqg5kw7H81eQ6pLhGKEM=w120-h120-l90-rj", + "id": "sfp2sh6k5W0", + "url": "https://music.youtube.com/watch?v=sfp2sh6k5W0" + }, + { + "title": "\u0110\u00e3 Nh\u01b0 M\u00f9a \u0110\u00f4ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00e3 Nh\u01b0 M\u00f9a \u0110\u00f4ng", + "duration": 233, + "cover_url": "https://lh3.googleusercontent.com/rwvsiVmbrnFXC3tGYJpLPj_sA4BjoJHNzRQOBBrr00gZwf22ue7w0Zgo4sYf4vmOSyy9fpMCktMFS4k=w120-h120-l90-rj", + "id": "PvSgCwB5v2A", + "url": "https://music.youtube.com/watch?v=PvSgCwB5v2A" + }, + { + "title": "M\u1ed9t L\u1ea7n N\u1eefa Th\u00f4i", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 266, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "UMW7b01uXqw", + "url": "https://music.youtube.com/watch?v=UMW7b01uXqw" + }, + { + "title": "C\u00e2u Kinh T\u00ecnh Y\u00eau", + "artist": "L\u00e2n Nh\u00e3", + "album": "Ni\u1ec1m \u0110au Ch\u00f4n D\u1ea5u", + "duration": 258, + "cover_url": "https://lh3.googleusercontent.com/QQ4v475oX0IJw-9TGf5yV7uwvMJtb3fJb8MWpjEHB6dzBA8ScjJL7rtttVnaLCBR5nOdo-pZz2y2liQ3=w120-h120-l90-rj", + "id": "h58tJ02T1AU", + "url": "https://music.youtube.com/watch?v=h58tJ02T1AU" + }, + { + "title": "Xa Nhau T\u1eeb \u0110\u00e2y", + "artist": "L\u00e2n Nh\u00e3", + "album": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi", + "duration": 267, + "cover_url": "https://lh3.googleusercontent.com/5ekZp5nRy8X8h-dMizOmx5pAgNO1EYHwtpjO2hzaqxS4WLUMBEaB4hVFebYdnWd4aKhHix1bHIokurD0=w120-h120-l90-rj", + "id": "-n0a5INPI24", + "url": "https://music.youtube.com/watch?v=-n0a5INPI24" + }, + { + "title": "Xa Em K\u1ec9 Ni\u1ec7m", + "artist": "L\u00e2n Nh\u00e3, V\u00f5 H\u1ea1 Tr\u00e2m", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 265, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "9WmWcKN4lzQ", + "url": "https://music.youtube.com/watch?v=9WmWcKN4lzQ" + }, + { + "title": "S\u00f3ng \u0110\u01b0a Ch\u00fang Ta V\u1ec1", + "artist": "L\u00e2n Nh\u00e3, H\u1ed3 Trung D\u0169ng", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 286, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "99-AwMjSGk0", + "url": "https://music.youtube.com/watch?v=99-AwMjSGk0" + }, + { + "title": "L\u1ed1i C\u0169 Ta V\u1ec1", + "artist": "L\u00e2n Nh\u00e3", + "album": "\u0110\u00f4i B\u1edd", + "duration": 296, + "cover_url": "https://lh3.googleusercontent.com/voSqb6RAfnZ37nCVWzp8chwIWTwY_HH7xHJmnLjITyGECX5CHxTMW27bRua0oNMDfGjcZsb82Bh9Uyom=w120-h120-l90-rj", + "id": "rPiFREjBZig", + "url": "https://music.youtube.com/watch?v=rPiFREjBZig" + }, + { + "title": "C\u00f3 Nh\u1edb \u0110\u00eam N\u00e0o", + "artist": "L\u00e2n Nh\u00e3, V\u00f5 H\u1ea1 Tr\u00e2m", + "album": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "duration": 198, + "cover_url": "https://lh3.googleusercontent.com/IzQRlFmvaY1m_SyMkX_9wRIuB52gprgb8kdAovjmHWejV5BHSDDl8J8x9c6T-iYCl0vtVSBgEdEjJ_hpGA=w120-h120-l90-rj", + "id": "CZx-uO57zGg", + "url": "https://music.youtube.com/watch?v=CZx-uO57zGg" + }, + { + "title": "Phong Th\u01b0 M\u00f9a \u0110\u00f4ng", + "artist": "L\u00e2n Nh\u00e3", + "album": "Phong Th\u01b0 M\u00f9a \u0110\u00f4ng", + "duration": 351, + "cover_url": "https://lh3.googleusercontent.com/qSQIBgTQpuo4O6oGBUAyw-7-nE89_MKuF7RtueNe_Yw3d-9-IgBdcjmdGQmt5wsRi9b5ye6WHubAhX4=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "MUA HONG", + "artist": "LAN NHA", + "album": "Mua Hong", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/XFsFzSzhwaJ4YTG12eZri5HiZN9R2quQhLUnA233yMINwAO5URZSD0C6-djQv8eLHPA6Yq8sNLAs9xfw=w120-h120-l90-rj", + "id": "3hlaB_fRVQM", + "url": "https://music.youtube.com/watch?v=3hlaB_fRVQM" + }, + { + "title": "T\u00ecnh Sao Cay \u0110\u1eafng", + "artist": "L\u00e2n Nh\u00e3", + "album": "Chung 36", + "duration": 322, + "cover_url": "https://lh3.googleusercontent.com/I3F5P6CiMUPAVakdpwS3W5UhwSQBb7AIqieKENn5Ow34ceE1ssin7zsiuJVZrfiTLJ78GIh2k16dKJj4=w120-h120-l90-rj", + "id": "0CLt_vhK-zM", + "url": "https://music.youtube.com/watch?v=0CLt_vhK-zM" + }, + { + "title": "Nguy\u1ec7n \u01af\u1edbc M\u00f9a Xu\u00e2n (Guitar Version)", + "artist": "MTV, L\u00e2n Nh\u00e3", + "album": "Nguy\u1ec7n \u01af\u1edbc M\u00f9a Xu\u00e2n", + "duration": 216, + "cover_url": "https://lh3.googleusercontent.com/U2IeHNHiLPRUdjOT_MediDk1etBNF2eA5Skudo4M6js-zWnZBvjYtOXfNSqN43R3QrQ6ZSfZKBc_Tg0m=w120-h120-l90-rj", + "id": "mcS4UVbJTOs", + "url": "https://music.youtube.com/watch?v=mcS4UVbJTOs" + }, + { + "title": "H\u00e1t M\u00e3i \u01af\u1edbc M\u01a1", + "artist": "L\u00e2n Nh\u00e3", + "album": "H\u00e1t M\u00e3i \u01af\u1edbc M\u01a1 M\u00f9a 2 T\u1eadp 15", + "duration": 147, + "cover_url": "https://lh3.googleusercontent.com/Q0F_nsg_xkcwC5QLJ1_UOlNsytkzu-buh-vyfyn2MTR39cY6XGK5qkdtK3aJLx8aJR4TkjjZDe4dA5WQ=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "NHU DA DAU YEU", + "artist": "LAN NHA", + "album": "Nhu Da Dau Yeu", + "duration": 251, + "cover_url": "https://lh3.googleusercontent.com/X9po5T2aCI3Wz7alFoM18t6QZ7eXj2AkVOIvn9TJTsZz23WX0RPlqXh_R_LoJskSr8OkpFMPYO12J4dM=w120-h120-l90-rj", + "id": "1ehInGFStmY", + "url": "https://music.youtube.com/watch?v=1ehInGFStmY" + }, + { + "title": "MO MONG", + "artist": "LAN NHA", + "album": "Mo Mong", + "duration": 256, + "cover_url": "https://lh3.googleusercontent.com/PADYU2sMkFjdmhMSlfcLEm1WCW2Ejj7xr4vzYKot7fQHGTypCIcL54MzE_4fAsnt1pO6WE1adGcc-1g7ng=w120-h120-l90-rj", + "id": "btrQO9o2LSc", + "url": "https://music.youtube.com/watch?v=btrQO9o2LSc" + }, + { + "title": "M\u00f3n Qu\u00e0 V\u00f4 Gi\u00e1", + "artist": "L\u00e2n Nh\u00e3, Ho\u00e0i L\u00e2m, Nguy\u1ec5n Minh C\u01b0\u1eddng", + "album": "M\u00f3n Qu\u00e0 V\u00f4 Gi\u00e1", + "duration": 224, + "cover_url": "https://lh3.googleusercontent.com/1raZRYxgOO6eyc19vlyXSctF1dyHDphEJhvAnumxGCVhQf5o9zzN2AsXF72pkHiDEUw2F3wUrzjnnVVfGQ=w120-h120-l90-rj", + "id": "T9Fx5dxzFtI", + "url": "https://music.youtube.com/watch?v=T9Fx5dxzFtI" + }, + { + "title": "C\u00f3 Bao Gi\u1edd", + "artist": "H\u1ed3 Trung D\u0169ng, L\u00e2n Nh\u00e3", + "album": "C\u00f3 Bao Gi\u1edd", + "duration": 341, + "cover_url": "https://lh3.googleusercontent.com/vMjKfv_tGKIJeUnZmSDI7q0B6K3fLd6_rj6acD6KgJfANETQgsWSYthfMexcMBPxIlTJa4q5vnIq7KQ=w120-h120-l90-rj", + "id": "DIkN99WXBXo", + "url": "https://music.youtube.com/watch?v=DIkN99WXBXo" + }, + { + "title": "M\u1eb7t Tr\u1eddi B\u00e9 Con", + "artist": "L\u00e2n Nh\u00e3", + "album": "Nh\u1eefng B\u00e0i H\u00e1t C\u00f2n Xanh S\u1ed1 13", + "duration": 243, + "cover_url": "https://lh3.googleusercontent.com/0AEhfjotwY6Rno7T0UQ_XgSMuiOkhvE6Qkf20iFnTx-QnLNOKyPByhScUT-_Fzp94vPXRkONTbaOuNR-=w120-h120-l90-rj", + "id": "wB8ODp2N2dw", + "url": "https://music.youtube.com/watch?v=wB8ODp2N2dw" + }, + { + "title": "NIEM TIN CHIEN THANG", + "artist": "LAN NHA", + "album": "Niem Tin Chien Thang", + "duration": 266, + "cover_url": "https://lh3.googleusercontent.com/Pdr8VqvT9S0L077M_RpHLDZdRrX8mS-EEFaXCxKg50mBvr4F8Z0NofVZxjC0zmukFWKrglMZ5I-Mesb2=w120-h120-l90-rj", + "id": "ltZ85ZT0-Tw", + "url": "https://music.youtube.com/watch?v=ltZ85ZT0-Tw" + }, + { + "title": "B\u01b0\u1edbc Qua Nhau", + "artist": "V\u0169", + "album": "B\u01b0\u1edbc Qua Nhau", + "duration": 258, + "cover_url": "https://lh3.googleusercontent.com/v5o1k2cnxzGsGgzTGc0CfB9u0mQfraC6nw1HgJ1Kz2OMZTneyr78FLuhrJ7nWL8YdhVOrPsoAk6JHFQ=w120-h120-l90-rj", + "id": "Q3dktYAC1yM", + "url": "https://music.youtube.com/watch?v=Q3dktYAC1yM" + }, + { + "title": "B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n", + "artist": "V\u0169", + "album": "B\u01b0\u1edbc Qua M\u00f9a C\u00f4 \u0110\u01a1n", + "duration": 279, + "cover_url": "https://lh3.googleusercontent.com/80JtLoJK8_2cZqH6nZQp5k0k5fxH23LdXH1zn0H7hQFfUDKAhokNYQrUR-MTWJHlao5qdZO4s2HdI8g=w120-h120-l90-rj", + "id": "l7oEVIZoZrQ", + "url": "https://music.youtube.com/watch?v=l7oEVIZoZrQ" + }, + { + "title": "Anh Nh\u1edb Ra (feat. TRANG)", + "artist": "V\u0169", + "album": "M\u1ed9t V\u1ea1n N\u0103m", + "duration": 277, + "cover_url": "https://lh3.googleusercontent.com/rNGo929HNnGDQQUCwcv7cpQdrDWkzmax8YHwsWOT2J1paNdwoas6ugwXQuIzXYiDuJKJmnbtG2SGuu7v=w120-h120-l90-rj", + "id": "BBrxJXHC8aA", + "url": "https://music.youtube.com/watch?v=BBrxJXHC8aA" + }, + { + "title": "Cho Ngay Loi Hua No Hoa", + "artist": "NGUYEN HA", + "album": "Cho Ngay Loi Hua No Hoa", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/hfEYtUUEsqK1ziVz5BxerkXiFNmgGnYOHqrfBR-J8LW2UxroeF-FJ05gK7AvS3GJpr6cGoHvH-JnM8JO=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Nh\u1eafm M\u1eaft Th\u1ea5y M\u00f9a H\u00e8 (From \"Nh\u1eafm M\u1eaft Th\u1ea5y M\u00f9a H\u00e8\")", + "artist": "Nguy\u00ean H\u00e0", + "album": "Nh\u1eafm M\u1eaft Th\u1ea5y M\u00f9a H\u00e8 (From \"Nh\u1eafm M\u1eaft Th\u1ea5y M\u00f9a H\u00e8\")", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/Drhex-DBHiMJAHqakrV9FCAn95qmOGOmcoC12TBMcHUYX2wHh8o3XONL3hekXQ0xmBNCtteOVwjdjIs=w120-h120-l90-rj", + "id": "TKNB785KY04", + "url": "https://music.youtube.com/watch?v=TKNB785KY04" + }, + { + "title": "Xin L\u1ed7i", + "artist": "Nguy\u00ean H\u00e0", + "album": "Xin L\u1ed7i", + "duration": 245, + "cover_url": "https://lh3.googleusercontent.com/Tm1WtowWRjFsOezkPpy-jYd-NgouXkQ1pwCce-OIB6VV3ZcJx_I4NENV-utra80hFDQmvYmu94TBaRNQ=w120-h120-l90-rj", + "id": "zIX4nIhRpJA", + "url": "https://music.youtube.com/watch?v=zIX4nIhRpJA" + }, + { + "title": "Nguy\u00ean H\u00e0 | Ch\u1ea1y Tr\u1eddi Sao Kh\u1ecfi N\u1eafng", + "artist": "Nguy\u00ean H\u00e0", + "album": "Ch\u1ea1y Tr\u1eddi Sao Kh\u1ecfi N\u1eafng", + "duration": 306, + "cover_url": "https://lh3.googleusercontent.com/CmHbP5CZSAOjlEPquqeqyi60lshHg-LBHl3WEZO5lEkVkTvgY7hD6DysuHOMNdUP3iZWhw580Qpvaj4REA=w120-h120-l90-rj", + "id": "mawDBVH8GSU", + "url": "https://music.youtube.com/watch?v=mawDBVH8GSU" + }, + { + "title": "C\u00f3 Qu\u00ean \u0110\u01b0\u1ee3c \u0110\u00e2u", + "artist": "Nguy\u00ean H\u00e0, \u0110\u1ee9c Tr\u00ed", + "album": "Nh\u01b0 Ch\u01b0a B\u1eaft \u0110\u1ea7u", + "duration": 229, + "cover_url": "https://lh3.googleusercontent.com/BD3lpXOrJA61ThxwWu1CPxHZ9RPSbBfGFwpR1KoNNqVA6Gc_KpqlNumAePVXMX4QGcH4XYUg5f7_Wnrm=w120-h120-l90-rj", + "id": "3nRpbDMqEws", + "url": "https://music.youtube.com/watch?v=3nRpbDMqEws" + }, + { + "title": "C\u00f3 1 Ng\u01b0\u1eddi S\u1ebd \u0110\u1ebfn", + "artist": "Nguy\u00ean H\u00e0", + "album": "H\u1ed3i \u1ee8c Thanh Xu\u00e2n", + "duration": 275, + "cover_url": "https://lh3.googleusercontent.com/nY0d9o7MD78LM0yODKWKuulzKBL7JAAmXiUpP--A480WPm8hzcvxmkxv9tx7iuJsUIRBN0SV5SmMoPTK=w120-h120-l90-rj", + "id": "JtiYj2z1qfo", + "url": "https://music.youtube.com/watch?v=JtiYj2z1qfo" + }, + { + "title": "Nguy\u00ean H\u00e0 | Xin L\u1ed7i V\u00ec \u0110\u00e3 Y\u00eau Nhau", + "artist": "Nguy\u00ean H\u00e0", + "album": "Xin L\u1ed7i V\u00ec \u0110\u00e3 Y\u00eau Nhau", + "duration": 291, + "cover_url": "https://lh3.googleusercontent.com/pHm8IpeYibRp_KZihun9z1QAE9ZgLg7qLMQGJ-lXWJJwi6V3WplF2tasHxAJtVlluusDvPshWVZFmaZq=w120-h120-l90-rj", + "id": "mOryhhVVPfc", + "url": "https://music.youtube.com/watch?v=mOryhhVVPfc" + } + ] + }, + { + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] + }, + { + "id": "PLdQH37tXSO4RZm_toqdb5noN4_pvdGLaw", + "title": "Vietnamese Love Songs", + "description": "Best of Ballad Singers", + "cover_url": "https://yt3.googleusercontent.com/HYEei0I4NyBRdw96Lca4nY7NCx3Bp8ChnAHgnkaJEI20b6yvzJgoPz1EgU_ibktQHOtHzc6ax4Y=s1200", + "tracks": [ + { + "title": "SUPERSTAR", + "artist": "SOOBIN, Kay Tran, Tuan Hung, Phan \u0110\u00ecnh T\u00f9ng, Ki\u00ean \u1ee8ng, and (S)TRONG", + "album": "Single", + "duration": 425, + "cover_url": "https://i.ytimg.com/vi/zsqlxq85SXw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lnfwdMrK6Zy6h8qUx3rMkBISV7kw", + "id": "zsqlxq85SXw", + "url": "https://music.youtube.com/watch?v=zsqlxq85SXw" + }, + { + "title": "Anh Nh\u1edb Em", + "artist": "Tuan Hung", + "album": "Single", + "duration": 508, + "cover_url": "https://i.ytimg.com/vi/SPn106LGnjU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxYxK93IUF00Jec2in-y4sxbPlaA", + "id": "SPn106LGnjU", + "url": "https://music.youtube.com/watch?v=SPn106LGnjU" + }, + { + "title": "T\u00ecm l\u1ea1i b\u1ea7u tr\u1eddi", + "artist": "Tuan Hung", + "album": "Single", + "duration": 352, + "cover_url": "https://i.ytimg.com/vi/-sdYvmpy2cg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZLqMjHQR2xiA3omLPkgcN2iJfyw", + "id": "-sdYvmpy2cg", + "url": "https://music.youtube.com/watch?v=-sdYvmpy2cg" + }, + { + "title": "N\u1eafm L\u1ea5y Tay Anh - Tu\u1ea5n H\u01b0ng [MV Official]", + "artist": "Tu\u1ea5n H\u01b0ng", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/p8A3ULXgV3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lFRvCQyvdMZBrSnrfxcHPHSQ5FkA", + "id": "p8A3ULXgV3E", + "url": "https://music.youtube.com/watch?v=p8A3ULXgV3E" + }, + { + "title": "V\u00ec em c\u00f2n th\u01b0\u01a1ng", + "artist": "L\u1ec7 Quy\u00ean", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/xsn8Vb-f8dg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kb8lGM7Bj8erTnl4cU5k9xXRnsPg", + "id": "xsn8Vb-f8dg", + "url": "https://music.youtube.com/watch?v=xsn8Vb-f8dg" + }, + { + "title": "Con \u0110\u01b0\u1eddng M\u01b0a", + "artist": "Cao Th\u00e1i S\u01a1n, Nguyen Van Chung", + "album": "Single", + "duration": 309, + "cover_url": "https://i.ytimg.com/vi/L6Xp_a106Bc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nOcXO9Hcr75eNeCCEr6lUdp275kw", + "id": "L6Xp_a106Bc", + "url": "https://music.youtube.com/watch?v=L6Xp_a106Bc" + }, + { + "title": "N\u1ebfu bi\u1ebft tr\u01b0\u1edbc em \u0111\u1eebng t\u1edbi", + "artist": "Duong Dung", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/o-QrEN-zzH8/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3k4VKgB2NCU_mrfWGmVQw38_cYtbg", + "id": "o-QrEN-zzH8", + "url": "https://music.youtube.com/watch?v=o-QrEN-zzH8" + }, + { + "title": "S\u1ebd Kh\u00f4ng C\u00f2n N\u1eefa", + "artist": "Tuan Hung", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/c4sbwX8cSaE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nGMdm6rN3eSeR8D2-oyB4i4jPd7g", + "id": "c4sbwX8cSaE", + "url": "https://music.youtube.com/watch?v=c4sbwX8cSaE" + }, + { + "title": "Se Co Nguoi Can Anh", + "artist": "Cao Th\u00e1i S\u01a1n", + "album": "Single", + "duration": 340, + "cover_url": "https://i.ytimg.com/vi/J1Cs6URbH0o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kZW7JcMNJCXIa2Zf3JfoEBuQ_r3g", + "id": "J1Cs6URbH0o", + "url": "https://music.youtube.com/watch?v=J1Cs6URbH0o" + }, + { + "title": "Tennessee waltz - \uc870\uc544\ub78c \uc804\uc790\ubc14\uc774\uc62c\ub9b0(Jo A Ram violin cover)", + "artist": "Jun 1, 2018", + "album": "3:25", + "duration": 205, + "cover_url": "https://i.ytimg.com/vi/bQfeVLsgPYg/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3luTHuj1DxsPZypYd2xg8fGYKe73Q", + "id": "bQfeVLsgPYg", + "url": "https://music.youtube.com/watch?v=bQfeVLsgPYg" + }, + { + "title": "\u0110i\u1ec1u Ng\u1ecdt Ng\u00e0o Nh\u1ea5t", + "artist": "Cao Th\u00e1i S\u01a1n", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/EUFRDX9eTso/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nTYDj9IR6NNIKUJx2tUucdvzRagg", + "id": "EUFRDX9eTso", + "url": "https://music.youtube.com/watch?v=EUFRDX9eTso" + }, + { + "title": "Y\u00eau M\u1ed9t Ng\u01b0\u1eddi C\u00f3 L\u1ebd | Lou Ho\u00e0ng - Miu L\u00ea | Official MV | Nh\u1ea1c tr\u1ebb hay tuy\u1ec3n ch\u1ecdn", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/_-KiD98d3_o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k6FClgGMuTK8TFSgbvYwGWSglYZg", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "V\u00e0 t\u00f4i c\u0169ng y\u00eau em - L\u00ea Hi\u1ebfu (And i love you)", + "artist": "H\u1ea3i Nguy\u1ec5n V\u0103n", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/Tn7lYMrB6Co/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kofRL4flHOXXkzkWrhYsQnXkoQ2Q", + "id": "Tn7lYMrB6Co", + "url": "https://music.youtube.com/watch?v=Tn7lYMrB6Co" + }, + { + "title": "Hoa N\u00e0o Anh Qu\u00ean", + "artist": "L\u00e2n Nh\u00e3", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/kyOhph5V4Ws/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0WINJLmPYz7ElfatUqLEgy1L5LQ", + "id": "kyOhph5V4Ws", + "url": "https://music.youtube.com/watch?v=kyOhph5V4Ws" + }, + { + "title": "Ng\u1ed3i \u0111\u00e2y v\u1eabn mong \u0111\u1ee3i Jimmy Nguy\u1ec5n", + "artist": "Le Hoang Yen", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/Jk9VPoTUFBw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfG4g1eAfQAVNt7dzDQacpROom9A", + "id": "Jk9VPoTUFBw", + "url": "https://music.youtube.com/watch?v=Jk9VPoTUFBw" + }, + { + "title": "T\u00ecnh nh\u1ea1t phai", + "artist": "Lam Nhat Tien, Dan Nguyen", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/KBfpHFg8B94/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mybXT8wtkZh8K3ckfD7iuTlkuZ2Q", + "id": "KBfpHFg8B94", + "url": "https://music.youtube.com/watch?v=KBfpHFg8B94" + }, + { + "title": "B\u1ebfn Th\u01b0\u1ee3ng H\u1ea3i \u300a\u4e0a\u6d77\u6ee9\u300b", + "artist": "L\u1eafng \u0110\u1ecdng T\u00e2m H\u1ed3n", + "album": "Single", + "duration": 199, + "cover_url": "https://i.ytimg.com/vi/KIzOOjzK5eo/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3ndlhSG_3LsXgHU8yVgKK2CXlXzVA", + "id": "KIzOOjzK5eo", + "url": "https://music.youtube.com/watch?v=KIzOOjzK5eo" + }, + { + "title": "PBN 119 | \u0110an Nguy\u00ean - L\u1ea1i Nh\u1edb Ng\u01b0\u1eddi Y\u00eau", + "artist": "Thuy Nga", + "album": "Single", + "duration": 302, + "cover_url": "https://i.ytimg.com/vi/J3vqR9BEkYc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbC5X6eoxaIfb1XURoya1K_l4HOg", + "id": "J3vqR9BEkYc", + "url": "https://music.youtube.com/watch?v=J3vqR9BEkYc" + }, + { + "title": "Tim Lai Giac Mo", + "artist": "H\u1ed3 Ng\u1ecdc H\u00e0", + "album": "Single", + "duration": 331, + "cover_url": "https://i.ytimg.com/vi/keTTQNcXETs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kbbEKj3Lx5n1tvPBj2y28vgZ5RhQ", + "id": "keTTQNcXETs", + "url": "https://music.youtube.com/watch?v=keTTQNcXETs" + }, + { + "title": "Nh\u01b0 Gi\u1ea5c Chi\u00eam Bao - Tu\u1ea5n H\u01b0ng ft. L\u1ec7 Quy\u00ean (Lyrics)", + "artist": "M\u01b0\u1eddi S\u00e1u", + "album": "Single", + "duration": 281, + "cover_url": "https://i.ytimg.com/vi/-Lr0YiX5l8M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqFTNqY7XZvS_aZTd6q5a1BBWp9A", + "id": "-Lr0YiX5l8M", + "url": "https://music.youtube.com/watch?v=-Lr0YiX5l8M" + }, + { + "title": "Ch\u1eafc Ai \u0110\u00f3 S\u1ebd V\u1ec1 | S\u01a1n T\u00f9ng MTP | OFFICIAL MUSIC VIDEO | Nh\u1ea1c tr\u1ebb hay", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 318, + "cover_url": "https://i.ytimg.com/vi/H-fI_h_pXw8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nBRCgGmyuqHJtGAfjCzoQPiv1Ixw", + "id": "H-fI_h_pXw8", + "url": "https://music.youtube.com/watch?v=H-fI_h_pXw8" + }, + { + "title": "xa v\u1eafng - tu\u1ea5n h\u01b0ng - nh\u1ea1c s\u1ef9 Nguy\u1ec5n Nh\u1ea5t Huy", + "artist": "Tran Van Hung", + "album": "Single", + "duration": 316, + "cover_url": "https://i.ytimg.com/vi/brn1mCSFJp8/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3mrvwP-QjJ_-BeH_EJGyQ5govgI3Q", + "id": "brn1mCSFJp8", + "url": "https://music.youtube.com/watch?v=brn1mCSFJp8" + }, + { + "title": "Th\u1eadt L\u00f2ng Anh Xin L\u1ed7i - Tu\u1ea5n H\u01b0ng [Official]", + "artist": "Thu\u1eadn Nguy\u1ec5n", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/kxqpqDvCXig/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nEwZb60jV3bfGuZcgpB3AVIxdgwg", + "id": "kxqpqDvCXig", + "url": "https://music.youtube.com/watch?v=kxqpqDvCXig" + }, + { + "title": "Huy\u1ec1n tho\u1ea1i \u00e2m nh\u1ea1c Vi\u1ec7t Nam.Ph\u1ea7n 1 - Anh hai - Lam Tr\u01b0\u1eddng", + "artist": "Ph\u1eadt \u1edf trong T\u00e2m", + "album": "Single", + "duration": 14836, + "cover_url": "https://i.ytimg.com/vi/CL1zCcs8vwA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nBkdufTyX7JWMimi13V5qsKW3mew", + "id": "CL1zCcs8vwA", + "url": "https://music.youtube.com/watch?v=CL1zCcs8vwA" + }, + { + "title": "Lam Tr\u01b0\u1eddng - T\u00ecnh Th\u00f4i X\u00f3t Xa v\u00e0 nh\u1eefng ca kh\u00fac th\u00e0nh c\u00f4ng nh\u1ea5t c\u1ee7a Lam Tr\u01b0\u1eddng", + "artist": "B\u1ebfn Th\u00e0nh Audio Video", + "album": "Single", + "duration": 4970, + "cover_url": "https://i.ytimg.com/vi/YIXZfNLnk1E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lhEbuLrM_2CzUOe65bzjnilntOGg", + "id": "YIXZfNLnk1E", + "url": "https://music.youtube.com/watch?v=YIXZfNLnk1E" + }, + { + "title": "L\u1eddi y\u00eau th\u01b0\u01a1ng - \u0110\u1ee9c Huy", + "artist": "Tan Nguyen", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/Y6dVqqo56X4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZa6WaDQGk8_2J8cEndKJpznhB1g", + "id": "Y6dVqqo56X4", + "url": "https://music.youtube.com/watch?v=Y6dVqqo56X4" + }, + { + "title": "\u0110\u1ecbnh M\u1ec7nh Ta G\u1eb7p Nhau - Ng\u00f4 Ki\u1ebfn Huy ft Thu Th\u1ee7y [Lyrics-Kara]", + "artist": "Ba Tin Vlog", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/FRBTnCVFl8M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3neUxzjS_JzU_8Vn1E4S-j_absHCA", + "id": "FRBTnCVFl8M", + "url": "https://music.youtube.com/watch?v=FRBTnCVFl8M" + }, + { + "title": "C\u00f4 G\u00e1i H\u00e1t\"Ng\u01b0\u1eddi T\u00ecnh M\u00f9a \u0110\u00f4ng\" Khi\u1ebfn H\u00e0ng Ng\u00e0n Ng\u01b0\u1eddi Ph\u00e1t M\u00ea", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/Zu91fhxDqVY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k-Q3isCIiNRZ-nNE47Seg-Mjf6Vg", + "id": "Zu91fhxDqVY", + "url": "https://music.youtube.com/watch?v=Zu91fhxDqVY" + }, + { + "title": "Xa V\u1eafng (Cover) Jack Vietnam ft Vu No", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 396, + "cover_url": "https://i.ytimg.com/vi/B40E_7WE7vI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lVV226-8xTFcnDIZEM7FPejfy80A", + "id": "B40E_7WE7vI", + "url": "https://music.youtube.com/watch?v=B40E_7WE7vI" + }, + { + "title": "M\u00f9a \u0110\u00f4ng Y\u00eau Th\u01b0\u01a1ng _ Aloha (\uc544\ub85c\ud558) | COOL (\ucfe8) Jack Viet Nam ft Minh Thuy (Cover)", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/PyLFoLi6juI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQ6oiRloftl7VkT7qox-WJKJSX8w", + "id": "PyLFoLi6juI", + "url": "https://music.youtube.com/watch?v=PyLFoLi6juI" + }, + { + "title": "Song ca \u0110\u1ed8 TA \u0110\u1ed8 N\u00c0NG \u0111\u1ea7y ch\u00e1y b\u1ecfng| L\u00ea B\u00ea La & L\u00e2m \u00c1nh Ng\u1ecdc", + "artist": "L\u00e2m \u00c1nh Ng\u1ecdc Home", + "album": "Single", + "duration": 225, + "cover_url": "https://i.ytimg.com/vi/k9f5igsPG4I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nK4PWEDVYgOTCDf4HQ3bOLDb33aw", + "id": "k9f5igsPG4I", + "url": "https://music.youtube.com/watch?v=k9f5igsPG4I" + }, + { + "title": "\u0110\u1ed8 TA KH\u00d4NG \u0110\u1ed8 N\u00c0NG - HO\u00c0NG Y NHUNG", + "artist": "Ho\u00e0ng Y Nhung", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/KU_lbqYftjI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9tB3LEGISxcphKcT1OBhMKtsfAQ", + "id": "KU_lbqYftjI", + "url": "https://music.youtube.com/watch?v=KU_lbqYftjI" + }, + { + "title": "\u0110\u1ed9 N\u00e0ng Ch\u1eb3ng C\u1ea7n \u0110\u1ed9 Ta", + "artist": "Duong Hung", + "album": "Single", + "duration": 445, + "cover_url": "https://i.ytimg.com/vi/lRNAzus3JTk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nF1C1Q3C7R5ypnUJfpwiIZWrjgHw", + "id": "lRNAzus3JTk", + "url": "https://music.youtube.com/watch?v=lRNAzus3JTk" + }, + { + "title": "B\u1eb0NG TH\u1eacT | \u0110\u1ed9 ta kh\u00f4ng \u0111\u1ed9 n\u00e0ng ( OFFICIAL MV )", + "artist": "B\u1eb1ng Th\u1eadt Vlog", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/hP7omgThFkM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_b--NOoroQijYKJKj3oRdcANblg", + "id": "hP7omgThFkM", + "url": "https://music.youtube.com/watch?v=hP7omgThFkM" + }, + { + "title": "\u0110\u1ed8 TA KH\u00d4NG \u0110\u1ed8 N\u00c0NG - \u0110\u01af\u1edcNG H\u01afNG [ MV LYRIC ] - Nh\u1ea1c Hoa L\u1eddi Vi\u1ec7t - Phi\u00ean B\u1ea3n Hay Nh\u1ea5t", + "artist": "\u0110\u01b0\u1eddng H\u01b0ng Bolero", + "album": "Single", + "duration": 250, + "cover_url": "https://i.ytimg.com/vi/TeizRe0bh-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kEqbeft5IH-tARlMLOWnBny5uS6w", + "id": "TeizRe0bh-Y", + "url": "https://music.youtube.com/watch?v=TeizRe0bh-Y" + }, + { + "title": "\u300a\u6e21\u6211\u4e0d\u6e21\u5979\u300b\u0110\u1ed8 TA KH\u00d4NG \u0110\u1ed8 N\u00c0NG ~ Cover hay nh\u1ea5t", + "artist": "Guzheng - Heal your Soul", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/triV9GHkWRc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3korssieeN2c7odgxYYIoqBYJ2EOw", + "id": "triV9GHkWRc", + "url": "https://music.youtube.com/watch?v=triV9GHkWRc" + }, + { + "title": "Learn Vietnamese: Lesson 1: Thank You, You're Welcome, and No Problem in Vietnamese", + "artist": "learnvietnamese", + "album": "Single", + "duration": 118, + "cover_url": "https://i.ytimg.com/vi/ol-SxJgOSQs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQlkVUNTwhrsrWV5zjCtHOQ2ggBg", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Th\u1ea5t T\u00ecnh - Tr\u1ecbnh \u0110\u00ecnh Quang - B\u00e0i h\u00e1t v\u1ec1 t\u00ecnh y\u00eau bu\u1ed3n - Aegisub Effect Kara Video Lyrics", + "artist": "Tr\u1ea7n B\u1ea3o Trung", + "album": "Single", + "duration": 395, + "cover_url": "https://i.ytimg.com/vi/_SW0L5-IuTc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nHDBqoE_hFGl1euzkRBnlPwTbAqA", + "id": "_SW0L5-IuTc", + "url": "https://music.youtube.com/watch?v=_SW0L5-IuTc" + }, + { + "title": "\u0110\u1ed9 Ta Kh\u00f4ng \u0110\u1ed9 N\u00e0ng (New Version)", + "artist": "Khanh Phuong", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/PAQ4ae2tipk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kZSd2eY9w3uatAxmArCrf1OUPToQ", + "id": "PAQ4ae2tipk", + "url": "https://music.youtube.com/watch?v=PAQ4ae2tipk" + }, + { + "title": "\u0110\u1ed9 Ta Kh\u00f4ng \u0110\u1ed9 N\u00e0ng - Kh\u00e1nh Ph\u01b0\u01a1ng | OST Phim Ng\u1eafn Duy\u00ean Ki\u1ebfp Trong N\u01b0\u1edbc M\u1eaft - D\u01b0\u01a1ng Minh Tuy\u1ec1n", + "artist": "Kh\u00e1nh Ph\u01b0\u01a1ng Tube", + "album": "Single", + "duration": 647, + "cover_url": "https://i.ytimg.com/vi/ZVZbsvquXJY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3naQOjPFGOW1Mpay4DRc9nELvSqlA", + "id": "ZVZbsvquXJY", + "url": "https://music.youtube.com/watch?v=ZVZbsvquXJY" + }, + { + "title": "C\u00d2N L\u1ea0I M\u1ed8T M\u00ccNH | \u0110AN TR\u01af\u1edcNG | JACK VIET NAM | COVER", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 267, + "cover_url": "https://i.ytimg.com/vi/f5zfM6PFRAU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3no47oAvuY-z8-9a0iKfAhWooZSIA", + "id": "f5zfM6PFRAU", + "url": "https://music.youtube.com/watch?v=f5zfM6PFRAU" + }, + { + "title": "M\u00e3i M\u00e3i - Lam Tr\u01b0\u1eddng [Lyrics]", + "artist": "Rjcardo Nguyen", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/a2mh_WZblII/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nYiyTV59fa0-qJ1VTpsZGaZmZaEQ", + "id": "a2mh_WZblII", + "url": "https://music.youtube.com/watch?v=a2mh_WZblII" + }, + { + "title": "[Audio] 3. L\u00e3ng qu\u00ean chi\u1ec1u thu - Lam Tr\u01b0\u1eddng", + "artist": "Lam Truong", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/VhF7InbMuFU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3koucayJxO0iTcDhPoc13pUeYcyjw", + "id": "VhF7InbMuFU", + "url": "https://music.youtube.com/watch?v=VhF7InbMuFU" + }, + { + "title": "T\u00ecnh Th\u00f4i X\u00f3t Xa - Lam Tr\u01b0\u1eddng [Official Music]", + "artist": "B\u1ebfn Th\u00e0nh Audio Video", + "album": "Single", + "duration": 352, + "cover_url": "https://i.ytimg.com/vi/f5nRLKySaLQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kiKVjQKXEOfGCcrGI_f-rmOVuhdQ", + "id": "f5nRLKySaLQ", + "url": "https://music.youtube.com/watch?v=f5nRLKySaLQ" + }, + { + "title": "Ng\u00f4i Nh\u00e0 Hoa H\u1ed3ng Mashup M\u1ed7i Ng\u01b0\u1eddi M\u1ed9t N\u01a1i (Mashup7)", + "artist": "T\u1ed1 Ny, Vicky Nhung", + "album": "Single", + "duration": 307, + "cover_url": "https://i.ytimg.com/vi/dE0XxAZAGic/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ngZ9vSWPUmuyA7chxaPxAVSI5k-Q", + "id": "dE0XxAZAGic", + "url": "https://music.youtube.com/watch?v=dE0XxAZAGic" + }, + { + "title": "V\u1ea7ng Tr\u0103ng Khuy\u1ebft", + "artist": "Lam Truong", + "album": "Single", + "duration": 450, + "cover_url": "https://i.ytimg.com/vi/JOSfdwBIZe0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvC8H4P0pMHlyjaGrVReSmiADazA", + "id": "JOSfdwBIZe0", + "url": "https://music.youtube.com/watch?v=JOSfdwBIZe0" + }, + { + "title": "Xin \u0110\u1eebng H\u1ecfi (Live)", + "artist": "Lam Truong", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/MQKR1QQpq0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3knvZO6Jj5G7FUb9L5fx8gBSt1mGQ", + "id": "MQKR1QQpq0I", + "url": "https://music.youtube.com/watch?v=MQKR1QQpq0I" + }, + { + "title": "Chia Tay Trong M\u01b0a", + "artist": "Lam Truong", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/UwzKiD6intg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nyyMS8DEquchKXJqiW0Km9wwckzg", + "id": "UwzKiD6intg", + "url": "https://music.youtube.com/watch?v=UwzKiD6intg" + }, + { + "title": "Con \u0111\u01b0\u1eddng t\u00ecnh y\u00eau - Lam Tr\u01b0\u1eddng", + "artist": "SilverWind2815", + "album": "Single", + "duration": 352, + "cover_url": "https://i.ytimg.com/vi/8qxcavKQR0U/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3kNWLK1UZuoPp5EJGEj3KD0vIDlxQ", + "id": "8qxcavKQR0U", + "url": "https://music.youtube.com/watch?v=8qxcavKQR0U" + }, + { + "title": "T\u00f3c Th\u1ec1 (Live)", + "artist": "Lam Truong", + "album": "Single", + "duration": 309, + "cover_url": "https://i.ytimg.com/vi/sYP2533Dqkw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kIKUw8ke2G2nsnKiXvWLC7HmWppA", + "id": "sYP2533Dqkw", + "url": "https://music.youtube.com/watch?v=sYP2533Dqkw" + }, + { + "title": "Gi\u1ea5c M\u01a1 Tuy\u1ec7t V\u1eddi", + "artist": "Lam Truong", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/sDFz--lpfh4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZHT23RKY1PqnGUU4nYWKnHrlqag", + "id": "sDFz--lpfh4", + "url": "https://music.youtube.com/watch?v=sDFz--lpfh4" + }, + { + "title": "\u7121\u8a00\u7684\u7d50\u5c40\uff08\u8d8a\u5357\u8a9e\u7248\uff09", + "artist": "nqminhcn", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/20tci9Uyxcc/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3nlwF7xJ8dB4pQEweq1Q_kmd8cxQQ", + "id": "20tci9Uyxcc", + "url": "https://music.youtube.com/watch?v=20tci9Uyxcc" + }, + { + "title": "Anh \u0110\u1ee3i Em \u0110\u01b0\u1ee3c Kh\u00f4ng", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 281, + "cover_url": "https://i.ytimg.com/vi/5QfXwgkJITA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nb9Zdj3pBUp8iYj2AOflCUpSVpQw", + "id": "5QfXwgkJITA", + "url": "https://music.youtube.com/watch?v=5QfXwgkJITA" + }, + { + "title": "\u0110\u1ed9 Ta Kh\u00f4ng \u0110\u1ed9 N\u00e0ng (\u6e21\u6211\u4e0d\u6e21\u5979) | Hamlet Tr\u01b0\u01a1ng | Lyrics Video", + "artist": "Hamlet Tr\u01b0\u01a1ng", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/ae_uc33HDTo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lmtnxMIiGaOPtdn5kxN7HR1oFt6A", + "id": "ae_uc33HDTo", + "url": "https://music.youtube.com/watch?v=ae_uc33HDTo" + }, + { + "title": "Lam Tr\u01b0\u1eddng: T\u00ecnh Phai", + "artist": "TOMMY T\u00c8O", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/HPG3qlAT_wA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nxxaGWXnthQFngKG187XRcsmUAcQ", + "id": "HPG3qlAT_wA", + "url": "https://music.youtube.com/watch?v=HPG3qlAT_wA" + }, + { + "title": "\u8d8a\u5357\u60c5\u6b4c\u5973\u795e V\u0129nh Thuy\u00ean Kim \u6f14\u7ece Beyond \u6d77\u9614\u5929\u7a7a", + "artist": "mass nl", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/p8ws_aFMu2E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nUGn2HlLJUr84L8kYcEO7CNj7IVw", + "id": "p8ws_aFMu2E", + "url": "https://music.youtube.com/watch?v=p8ws_aFMu2E" + }, + { + "title": "M\u00f9a Thu L\u00e1 Bay", + "artist": "Mai Le Quyen", + "album": "4:08", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/1eAejWnSric/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ltpMJN8QRNYPfzuSI6q2ePEcixfA", + "id": "1eAejWnSric", + "url": "https://music.youtube.com/watch?v=1eAejWnSric" + }, + { + "title": "T\u00ecnh L\u1ea7m L\u1ee1", + "artist": "Lam Truong", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/fepLyDv6ARg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuqBPpUk0ZhuUGMeU2ZTsf5ikqtg", + "id": "fepLyDv6ARg", + "url": "https://music.youtube.com/watch?v=fepLyDv6ARg" + }, + { + "title": "\u0110\u1ed9 Ta Kh\u00f4ng \u0110\u1ed9 N\u00e0ng Organ", + "artist": "Ng\u1ecdc Nhi KBG Official (Ritar)", + "album": "Single", + "duration": 109, + "cover_url": "https://i.ytimg.com/vi/TCADtrGgvCY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mS8sOSJIMhkFLPtTnKd_pBeWbMwA", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "L\u01b0u B\u00edch - Ng\u00e0n N\u0103m Ch\u1edd Mong (Audio)", + "artist": "Luu Bich", + "album": "Single", + "duration": 225, + "cover_url": "https://i.ytimg.com/vi/ftIEi9lLEUI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgB2DzLA3Smnt17v8oYPleKMZwRA", + "id": "ftIEi9lLEUI", + "url": "https://music.youtube.com/watch?v=ftIEi9lLEUI" + }, + { + "title": "LAMBADA - KJARCAS KAOMA by INKA GOLD live", + "artist": "Inka Gold", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/YwBb4TG45dQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k90_e-KNPzO5yVbldDudyHnrFZ3A", + "id": "YwBb4TG45dQ", + "url": "https://music.youtube.com/watch?v=YwBb4TG45dQ" + }, + { + "title": "How a Thunderstorm Caused this Airplane to Crash | Storming Out | USAir Flight 1016 | 4K", + "artist": "TheFlightChannel", + "album": "Single", + "duration": 737, + "cover_url": "https://i.ytimg.com/vi/-PIx6wzOKtY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m6WGwb9pPyXox5P2UpwCGT_Its6w", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "\u660e\u5929\u4f60\u662f\u5426\u4f9d\u7136\u611b\u6211\uff08\u8d8a\u5357\u660e\u96ea\u7ffb\u5531\u53f0\u6e7e\u7ae5\u5b89\u683c\u6b4c\u66f2\uff09 T\u00ecnh B\u0103ng Gi\u00e1\uff08\u8d8a\u5357\u6b4c\u540d\uff1a\u51b0\u51b7\u7684\u60c5\u610f\uff09 \u6f14\u5531 \uff1a \u660e\u96eaMinh Tuy\u1ebft", + "artist": "Charles Liu", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/RT7UOoKb9kg/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3kXwuyX8Jgjjj8Q9eYCvAMqunxY8A", + "id": "RT7UOoKb9kg", + "url": "https://music.youtube.com/watch?v=RT7UOoKb9kg" + }, + { + "title": "BALIN \u2502GI\u00d3 V\u1eaaN H\u00c1T (#GVH)", + "artist": "Amazing Entertainment", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/uIeZnJ2sPZE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3monPryLyp3AeQuZWCyIUDHZLm8rA", + "id": "uIeZnJ2sPZE", + "url": "https://music.youtube.com/watch?v=uIeZnJ2sPZE" + }, + { + "title": "H\u00e3y s\u1ed1ng cho tu\u1ed5i tr\u1ebb - Ng\u1ecdc Lan (\u8d8a\u5357\u8a9e\u7ffb\u5531 - \u5927\u7d04\u5728\u51ac\u5b63)", + "artist": "mrttt3628", + "album": "Single", + "duration": 185, + "cover_url": "https://i.ytimg.com/vi/RJYsRYXUoFY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3letHXj7SxejDnr1LK2oI1FrT39uQ", + "id": "RJYsRYXUoFY", + "url": "https://music.youtube.com/watch?v=RJYsRYXUoFY" + }, + { + "title": "Girl You Are My Love | Tokyo Square | Lyrics [Kara + Vietsub HD]", + "artist": "Th\u00e0nh Nguy\u1ec5n", + "album": "Single", + "duration": 184, + "cover_url": "https://i.ytimg.com/vi/YuJpeNZLjeQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkLFz1tyk7JNZtIAWc33LgflAHMA", + "id": "YuJpeNZLjeQ", + "url": "https://music.youtube.com/watch?v=YuJpeNZLjeQ" + }, + { + "title": "Con Lai Mot Minh", + "artist": "Dan Truong", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/hLl8OfV2z0k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEUGriT9lo7Zr14KHva7Ffc9QZOA", + "id": "hLl8OfV2z0k", + "url": "https://music.youtube.com/watch?v=hLl8OfV2z0k" + }, + { + "title": "Ng\u01b0\u1eddi T\u00ecnh M\u00f9a \u0110\u00f4ng - Nh\u01b0 Qu\u1ef3nh (ASIA 6)", + "artist": "Dec 8, 2015", + "album": "4:25", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/enWquTrqYTc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kuX1DbrydXpNRhlsmnRrWSj6ju7Q", + "id": "enWquTrqYTc", + "url": "https://music.youtube.com/watch?v=enWquTrqYTc" + }, + { + "title": "NG\u01af\u1edcI \u0110\u1ebeN T\u1eea TRI\u1ec0U CH\u00c2U QUANG LINH KTV", + "artist": "anhsao leloi", + "album": "Single", + "duration": 212, + "cover_url": "https://i.ytimg.com/vi/Oyd1TpMS9wE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJDXjl5f5K30P5rLUwT-2tdTgFkA", + "id": "Oyd1TpMS9wE", + "url": "https://music.youtube.com/watch?v=Oyd1TpMS9wE" + }, + { + "title": "ng\u01b0\u1eddi \u0111\u1ebfn t\u1eeb tri\u1ec1u ch\u00e2u - Quang Linh ( video - Lyric)", + "artist": "Long Con", + "album": "Single", + "duration": 219, + "cover_url": "https://i.ytimg.com/vi/RDCqFtiicG4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1oAJk2L4s6RLQl172C1FrHuJA2Q", + "id": "RDCqFtiicG4", + "url": "https://music.youtube.com/watch?v=RDCqFtiicG4" + }, + { + "title": "LK V\u00ec M\u1ed9t Ng\u01b0\u1eddi Ra \u0110i ,T\u00f4i Kh\u00f4ng Tin_ Hi\u1ec1n Th\u1ee5c", + "artist": "Gi\u1ea3i Tr\u00ed T\u1ed5ng H\u1ee3p", + "album": "Single", + "duration": 641, + "cover_url": "https://i.ytimg.com/vi/wzDPlHUXkaY/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3mRsMPd2HerE2h2I8o-Yk0lW7bEdA", + "id": "wzDPlHUXkaY", + "url": "https://music.youtube.com/watch?v=wzDPlHUXkaY" + }, + { + "title": "Ng\u01b0\u1eddi h\u00e3y qu\u00ean em \u0111i", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/f-BzUepNeZw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kXg20cs0bB760y7QcTLCumCFm_9Q", + "id": "f-BzUepNeZw", + "url": "https://music.youtube.com/watch?v=f-BzUepNeZw" + }, + { + "title": "Madu Dan Racun - \u4f9d\u6587", + "artist": "\u4f9d\u6587", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/e2CW-JIVKxw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqzNDqQjfYILoAVolKIQNLu5i8Dw", + "id": "e2CW-JIVKxw", + "url": "https://music.youtube.com/watch?v=e2CW-JIVKxw" + }, + { + "title": "Hokkien Song - \u4e3a\u4f55\u4f60\u7231\u7740\u522b\u4eba Wie Ho Li Ai Tio Pa Lang", + "artist": "Alvin Jiang \u6c5f\u4f1f\u5149", + "album": "Single", + "duration": 166, + "cover_url": "https://i.ytimg.com/vi/krzdX2w50sQ/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3k904ZJGN-mORyCuNjT9k2rDJiG4Q", + "id": "krzdX2w50sQ", + "url": "https://music.youtube.com/watch?v=krzdX2w50sQ" + }, + { + "title": "Con \u0110\u01b0\u1eddng H\u1ea1nh Ph\u00fac | Th\u00f9y Chi | Audio MV", + "artist": "Th\u00f9y Chi", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/L7aSiIk6WKs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n-SEf1R2J9AmITX-oioGRo2VTy9w", + "id": "L7aSiIk6WKs", + "url": "https://music.youtube.com/watch?v=L7aSiIk6WKs" + }, + { + "title": "V\u1eady C\u0169ng Vui", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 204, + "cover_url": "https://i.ytimg.com/vi/RXIm1NLCSz0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFYq0_KgBhCg6M89cccTnwwp4rLw", + "id": "RXIm1NLCSz0", + "url": "https://music.youtube.com/watch?v=RXIm1NLCSz0" + }, + { + "title": "TINH THOI XOT XA", + "artist": "Lam Truong", + "album": "Single", + "duration": 356, + "cover_url": "https://lh3.googleusercontent.com/jMz_-rpzuFeogc-nAVTi_1BMmC7PGTB31z8WpypKyDVTOtowyWyOHh00734tVkRpVlJQkPgXOLF_qJCy6A=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Ng\u01b0\u1eddi T\u00ecnh M\u00f9a \u0110\u00f4ng | Nh\u1ea1c Ngo\u1ea1i | L\u1eddi Vi\u1ec7t: NS Anh B\u1eb1ng | Cover | Jack Viet Nam", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/Nk4QESY_um8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mux7iXb_euvI2MMYe8bn655a93CA", + "id": "Nk4QESY_um8", + "url": "https://music.youtube.com/watch?v=Nk4QESY_um8" + }, + { + "title": "\u0110I\u1ec0U TUY\u1ec6T V\u1edcI | M\u1ef8 T\u00c2M | OFFICIAL MUSIC VIDEO", + "artist": "YEAH1 MUSIC", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/IJheEMB7dJU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nCT5XqTnOU77oxXHKMeuHzdCgl9g", + "id": "IJheEMB7dJU", + "url": "https://music.youtube.com/watch?v=IJheEMB7dJU" + }, + { + "title": "\u0110\u1eebng h\u1ecfi em", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 708, + "cover_url": "https://i.ytimg.com/vi/Z4HivEWoXGE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k3_nqRfgaqFro6mWj5Rrv2PhqKQA", + "id": "Z4HivEWoXGE", + "url": "https://music.youtube.com/watch?v=Z4HivEWoXGE" + }, + { + "title": "H\u1ecdc M\u00e8o K\u00eau \u2764 Nh\u1eefng b\u00e0i h\u00e1t Hoa Ng\u1eef C\u1ef1c D\u1ec5 Th\u01b0\u01a1ng \u0111\u01b0\u1ee3c nhi\u1ec1u ng\u01b0\u1eddi t\u00ecm nh\u1ea5t Tiktok", + "artist": "PMK Official", + "album": "Single", + "duration": 2594, + "cover_url": "https://i.ytimg.com/vi/RK8mx_0fTzI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0_poRF5y9uGibk3xpIa3W3ohVIA", + "id": "RK8mx_0fTzI", + "url": "https://music.youtube.com/watch?v=RK8mx_0fTzI" + }, + { + "title": "Ng\u01b0\u1eddi T\u00ecnh M\u00f9a \u0110\u00f4ng (feat. Quoc Khanh)", + "artist": "Ho\u00e0ng Th\u1ee5c Linh", + "album": "Single", + "duration": 232, + "cover_url": "https://i.ytimg.com/vi/7EU67eQlolk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nwu89hxCY3SsL02qC7DAEW8SMX2Q", + "id": "7EU67eQlolk", + "url": "https://music.youtube.com/watch?v=7EU67eQlolk" + }, + { + "title": "H\u00e0 Anh Tu\u1ea5n, Ph\u01b0\u01a1ng Linh | C\u01a1n M\u01b0a T\u00ecnh Y\u00eau", + "artist": "Ha Anh Tuan, Phuong Linh", + "album": "Single", + "duration": 332, + "cover_url": "https://i.ytimg.com/vi/5PDBs9KUSh8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFqOJmf7GvXi-a5AHn-12cAKh94w", + "id": "5PDBs9KUSh8", + "url": "https://music.youtube.com/watch?v=5PDBs9KUSh8" + }, + { + "title": "Qantas B747 vs A380 parallel Flight at alt. 11km", + "artist": "ShipTV - Schiffskanal", + "album": "Single", + "duration": 64, + "cover_url": "https://i.ytimg.com/vi/p1-U02uiL5A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0EjgZNTTp1iciFyxmxjfRFN4pFQ", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "PASSENGER AIRCRAFT FAILS TO TAKEOFF! BOEING 737 NEAR TAIL STRIKE & STALL ON TAKEOFF", + "artist": "bristolcardifairport", + "album": "Single", + "duration": 103, + "cover_url": "https://i.ytimg.com/vi/Kle80KB_s3I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kU_4Wsm1EsEy6fGaOXftjK-0vD8A", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "C-5 Galaxy Landing Gear Retraction/Extend", + "artist": "Daniel Wilson", + "album": "Single", + "duration": 60, + "cover_url": "https://i.ytimg.com/vi/fySoPgHITeY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n2ekNpCEMRIhHgkQa5-XLnj3SD1g", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "KARAOKE | NG\u01af\u1edcI T\u00ccNH M\u00d9A \u0110\u00d4NG | TONE NAM | BEAT BY JACK VIET NAM", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 226, + "cover_url": "https://i.ytimg.com/vi/rZzZC7EwLO4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mS98T0pHKFDNV3OH2nLG0_k1wTMw", + "id": "rZzZC7EwLO4", + "url": "https://music.youtube.com/watch?v=rZzZC7EwLO4" + }, + { + "title": "Abdominal organs (plastic anatomy)", + "artist": "Sam Webster", + "album": "Single", + "duration": 1243, + "cover_url": "https://i.ytimg.com/vi/rU7fkv0UTPg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3MBxX7R7BQIJajBR8qGZOw33E_Q", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Kh\u00f3i Thu\u1ed1c \u0110\u1ee3i Ch\u1edd - Jimmii Nguy\u1ec5n", + "artist": "Jimmii Nguyen Top Hits", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/JfE4O3DHtBs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l0K-T-x4aAnpnByMwWfZmWReepEA", + "id": "JfE4O3DHtBs", + "url": "https://music.youtube.com/watch?v=JfE4O3DHtBs" + }, + { + "title": "Right Here Waiting", + "artist": "Boyce Avenue", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/Tyfrfh-Dv6Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lpf8xXTkXORyeAHLguSp6nOsSrSg", + "id": "Tyfrfh-Dv6Y", + "url": "https://music.youtube.com/watch?v=Tyfrfh-Dv6Y" + }, + { + "title": "Nh\u1ea1c Kh\u00f4ng L\u1eddi Th\u01b0 Gi\u00e3n Gi\u1ea3m C\u0103ng Th\u1eb3ng M\u1ec7t M\u1ecfi \u2665 Tan Ch\u1ea3y C\u00f9ng Giai \u0110i\u1ec7u Cu\u1ed9c S\u1ed1ng \u266a", + "artist": "Guitar Classic", + "album": "Single", + "duration": 4420, + "cover_url": "https://i.ytimg.com/vi/1T-f8-OnvXc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWD67OWD2g-fQmiTdWW6Pe0kVaxw", + "id": "1T-f8-OnvXc", + "url": "https://music.youtube.com/watch?v=1T-f8-OnvXc" + }, + { + "title": "How do ventilators work? - Alex Gendler", + "artist": "TED-Ed", + "album": "Single", + "duration": 342, + "cover_url": "https://i.ytimg.com/vi/yDtKBXOEsoM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kOkNbLW-I7Z9zNe710cYL78hVGeQ", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Kh\u00e1nh Ph\u01b0\u01a1ng | M\u1eb9 Y\u00eau", + "artist": "Khanh Phuong", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/_tL3E9qetKc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3leZJ6eQlJTpk55IY6q3BKMdItQfQ", + "id": "_tL3E9qetKc", + "url": "https://music.youtube.com/watch?v=_tL3E9qetKc" + }, + { + "title": "Mau Xanh", + "artist": "Pham Truong", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/jGCCHzVx80c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0dPQ1tRVPVSLX9HvhBwz29WdFpQ", + "id": "jGCCHzVx80c", + "url": "https://music.youtube.com/watch?v=jGCCHzVx80c" + }, + { + "title": "Ch\u00fang Ta Kh\u00f4ng C\u00f3 Sau N\u00e0y", + "artist": "Huong Tram", + "album": "Single", + "duration": 362, + "cover_url": "https://i.ytimg.com/vi/XNG6MTV3veg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mdCCClA2QfAGhZPfEfdxZXuQuSYA", + "id": "XNG6MTV3veg", + "url": "https://music.youtube.com/watch?v=XNG6MTV3veg" + }, + { + "title": "Air France (Boeing 777 F-GSPY). Landing in Tahiti (NTAA). 01/26/2019.", + "artist": "Bruno Levionnois", + "album": "Single", + "duration": 452, + "cover_url": "https://i.ytimg.com/vi/3ngtc9yOMEA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m-TDhaD-gPE5WJqt1CfhKQZYCsAw", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Mua Tren Cuoc Tinh", + "artist": "Dan Truong", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/SDVgtFk8x4U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQ7Ur_Iq22GpVX8XE8wAmh1Xe1hQ", + "id": "SDVgtFk8x4U", + "url": "https://music.youtube.com/watch?v=SDVgtFk8x4U" + }, + { + "title": "V\u00e2n Quang Long | Chi\u1ebfc L\u00e1 M\u00f9a \u0110\u00f4ng", + "artist": "V\u00e2n Quang Long", + "album": "B\u01b0\u1edbc Ch\u00e2n Phong Tr\u1ea7n", + "duration": 290, + "cover_url": "https://lh3.googleusercontent.com/lIjrsjEz7QJyV4IiNaUcSmbPx5ioXmhvma3N20-wCHBjVtaRo7_JzwdIaOgUQ5OJ6WOo2b7OSZByjvU=w120-h120-l90-rj", + "id": "EP0lrEj7vgo", + "url": "https://music.youtube.com/watch?v=EP0lrEj7vgo" + }, + { + "title": "T\u1ea1m bi\u1ec7t 'Ng\u01b0\u1eddi anh em Airbus A330'", + "artist": "Vietnam Airlines", + "album": "Single", + "duration": 161, + "cover_url": "https://i.ytimg.com/vi/BLlV9cd05U4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1KSC8GsnoibesXxlDaF5ni3HBkg", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "\u0110an Tr\u01b0\u1eddng - Hari Won song ca \u1ea2o M\u1ed9ng T\u00ecnh Y\u00eau c\u1ef1c t\u00ecnh c\u1ea3m, \"anh Bo\" ng\u1eabu h\u1ee9ng live Anh C\u1ee9 \u0110i \u0110i", + "artist": "VieShows", + "album": "Single", + "duration": 659, + "cover_url": "https://i.ytimg.com/vi/pQKRH3rfS3Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k2t7zwY6m9OdT538MX2Oacq5hOhg", + "id": "pQKRH3rfS3Q", + "url": "https://music.youtube.com/watch?v=pQKRH3rfS3Q" + }, + { + "title": "Ng\u01b0\u1eddi h\u00e3y qu\u00ean em \u0111i", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/a_p1pPGbKos/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nazUHUmJ0LuPwheMtUHGQazyTNEw", + "id": "a_p1pPGbKos", + "url": "https://music.youtube.com/watch?v=a_p1pPGbKos" + }, + { + "title": "\u0110\u00fang C\u0169ng Th\u00e0nh Sai", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 298, + "cover_url": "https://i.ytimg.com/vi/5_ozB0ImkYA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moLV4Wg2yunJjxTFigGy0dVQKF5g", + "id": "5_ozB0ImkYA", + "url": "https://music.youtube.com/watch?v=5_ozB0ImkYA" + }, + { + "title": "N\u01a1i M\u00ecnh D\u1eebng Ch\u00e2n (Nh\u1ea1c Phim Ch\u1ecb Tr\u1ee3 L\u00fd C\u1ee7a Anh)", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/r7HA_9rKIMI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m57j55sesqeaMzLRiUqkhIcYIb7w", + "id": "r7HA_9rKIMI", + "url": "https://music.youtube.com/watch?v=r7HA_9rKIMI" + }, + { + "title": "Kh\u00e1nh Ph\u01b0\u01a1ng | Chi\u1ebfc Kh\u0103n Gi\u00f3 \u1ea4m", + "artist": "Khanh Phuong", + "album": "Single", + "duration": 254, + "cover_url": "https://i.ytimg.com/vi/S6QGjNDgk0w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJ-9LU0091WN9fHLqMt7OS1phyXA", + "id": "S6QGjNDgk0w", + "url": "https://music.youtube.com/watch?v=S6QGjNDgk0w" + }, + { + "title": "\u76f8\u898b\u6068\u665a", + "artist": "Julia Peng", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/otvd3rxo_rE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nOa0hoXb8i1OrJDAQmfaCiz2o5dQ", + "id": "otvd3rxo_rE", + "url": "https://music.youtube.com/watch?v=otvd3rxo_rE" + }, + { + "title": "PH\u00cdA SAU \u00c1NH M\u1eaeT BU\u1ed2N | COVER | JACK VIET NAM", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 258, + "cover_url": "https://i.ytimg.com/vi/HKEfiM-DdZA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWrYA7CSTZWMcdKfi2t2uiiU_0Vg", + "id": "HKEfiM-DdZA", + "url": "https://music.youtube.com/watch?v=HKEfiM-DdZA" + }, + { + "title": "L\u1eddi Cu\u1ed1i Cho T\u00ecnh Y\u00eau", + "artist": "H\u1ed3 Quang L\u1ed9c, L\u00fd Thu Th\u1ea3o", + "album": "Single", + "duration": 292, + "cover_url": "https://i.ytimg.com/vi/Ru1sk8HmLpc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lh7ZZOhtgolWx7mRyJDDFUx7Ff_g", + "id": "Ru1sk8HmLpc", + "url": "https://music.youtube.com/watch?v=Ru1sk8HmLpc" + }, + { + "title": "\u3010\u5355\u66f2\u7eaf\u4eab\u7248\u3011\u5468\u6770\u4f26 \u8d39\u7389\u6e05\u300a\u5343\u91cc\u4e4b\u5916\u300b \u300a\u4e2d\u56fd\u65b0\u6b4c\u58f0\u300b\u7b2c7\u671f SING!CHINA EP.7 20160826 [\u6d59\u6c5f\u536b\u89c6\u5b98\u65b9\u8d85\u6e051080P]", + "artist": " ZJSTV Music Channel-Welcome to subscribe-", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/mw90POFCMUQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nB1gXZlyGP3_nsBh70duQSXmAwxg", + "id": "mw90POFCMUQ", + "url": "https://music.youtube.com/watch?v=mw90POFCMUQ" + }, + { + "title": "\u8ab0\u4f86\u611b\u6211 \u82e6\u6d77\u5973\u795e\u9f8d \u6e2f\u753a\u30d6\u30eb\u30fc\u30b9 Who Will Love Me played on Yamaha PSR-S970 by Holmes #145", + "artist": "Holmes", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/rdvJqYF4558/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mXpL-17o48oOC6v4ghDMFyS3NzsQ", + "id": "rdvJqYF4558", + "url": "https://music.youtube.com/watch?v=rdvJqYF4558" + }, + { + "title": "Loi Cuoi Cho Tinh Yeu", + "artist": "Kh\u00e1nh B\u00ecnh", + "album": "Single", + "duration": 258, + "cover_url": "https://i.ytimg.com/vi/qk_WMChjmvU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l3Dm6-YE99kBG5igUSSgu2Ds90cw", + "id": "qk_WMChjmvU", + "url": "https://music.youtube.com/watch?v=qk_WMChjmvU" + }, + { + "title": "\u6bdb\u5b81\u4e0e\u6768\u94b0\u83b9\u7684\u300a\u5fc3\u96e8\u300b\uff0c\u603b\u5728\u90a3\u4e9b\u98d8\u96e8\u7684\u65e5\u5b50\uff0c\u6df1\u6df1\u5730\u628a\u4f60\u60f3\u8d77", + "artist": "\u4e1c\u65b9\u4ed9\u9601East Fairy Pavilion", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/0qsETQAHdrY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3md4ChkPWikzDjcRAOwBefb1lCAaw", + "id": "0qsETQAHdrY", + "url": "https://music.youtube.com/watch?v=0qsETQAHdrY" + }, + { + "title": "Yeu Em Dai Lau", + "artist": "D\u01b0\u01a1ng C\u1ea9m Lynh & Anh Tai", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/s_x0gnqFlkk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mT3g2-2hHHgCEWjVsbFB_B7IcWXA", + "id": "s_x0gnqFlkk", + "url": "https://music.youtube.com/watch?v=s_x0gnqFlkk" + }, + { + "title": "LA PALOMA | PAN FLUTE AND GUITAR by INKA GOLD", + "artist": "Inka Gold", + "album": "Single", + "duration": 379, + "cover_url": "https://i.ytimg.com/vi/IrUbFvF8Lzk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mLPfsb-ktnJGVZ95GjOqBMRT4Txg", + "id": "IrUbFvF8Lzk", + "url": "https://music.youtube.com/watch?v=IrUbFvF8Lzk" + }, + { + "title": "B\u1ea3n Cover ng\u1ecdt ng\u00e0o nh\u1ea5t \"Xin L\u1ed7i Anh Y\u00eau Em\" | Jack Vietnam", + "artist": "Jack Viet Nam", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/PxChre_9kUo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mgCVkOiNjIIzhrbqnmqxzoXAYt5g", + "id": "PxChre_9kUo", + "url": "https://music.youtube.com/watch?v=PxChre_9kUo" + }, + { + "title": "\u3010\u60c5\u610f\u7ed3\u3011- \u9093\u5cb3\u7ae0 \u300e\u522b\u6015\u4f60\u5c06\u4f1a\u65e0\u4eba\u66ff\u4ee3 \u4f60\u628a\u73bb\u7483\u653e\u4f4e\u8bf7\u7ed9\u6211\u8dea...\u7136\u800c\u522b\u53eb\u6211\u5c0f\u5fc3\u8eab\u4f53\u300f\u9ad8\u6e05\u9ad8\u97f3\u8d28\u3010\u52d5\u614b\u6b4c\u8a5eLyrics\u3011", + "artist": "Rich's Channel", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/aIC0_NcWP9Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kaTxGUpAutJjUCWf598ltlOiVzhA", + "id": "aIC0_NcWP9Y", + "url": "https://music.youtube.com/watch?v=aIC0_NcWP9Y" + } + ] + } + ], + "DJ & Remix": [ + { + "id": "PLfJBcDFkXxof8KERiH6C9IYnSV6Nv39qR", + "title": "Vina house Remix", + "description": "Best of DJ & Remix", + "cover_url": "https://yt3.googleusercontent.com/KRzNuPz-J2RL0UNj9L79z1dLkrGMjZ7egxWoP8NaUNyX-zQPZ1akcr3pqhWei08df6niapFK14XE=s1200", + "tracks": [ + { + "title": "NONSTOP MIXTAPE 2021- NGHE L\u00c0 M\u1ea4T X\u00c1C - FULL TRACK ARS REMIX C\u1ef0C H\u00d3T TIKTOK - VINAHOUSE CLUB 2021", + "artist": "VINAHOUSE CLUB", + "album": "Single", + "duration": 1261, + "cover_url": "https://i.ytimg.com/vi/RRSaakaIhs0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kv9mfoprj3M4V_aaL69q-uVcaRzw", + "id": "RRSaakaIhs0", + "url": "https://music.youtube.com/watch?v=RRSaakaIhs0" + }, + { + "title": "Nonstop Vinahouse 2022 - Nh\u1ea1c T\u1ea9m \u0110\u00e1 Vol 24 - Nh\u1ea1c DJ Bay Ph\u00f2ng Bass C\u0103ng - Mixcloud VN", + "artist": "Mixcloud VN", + "album": "Single", + "duration": 3335, + "cover_url": "https://i.ytimg.com/vi/B8TZo7KMpx8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3km1JIFDE0F2r7nX0FOvJB-eXKokw", + "id": "B8TZo7KMpx8", + "url": "https://music.youtube.com/watch?v=B8TZo7KMpx8" + }, + { + "title": "Nh\u1ea1c Tr\u1ebb Remix 2021 Hay Nh\u1ea5t Hi\u1ec7n Nay, NONSTOP 2021 Bass C\u1ef1c M\u1ea1nh,Vi\u1ec7t Mix Dj Nonstop 2021 Vinahouse", + "artist": "BD Media Music", + "album": "Single", + "duration": 3417, + "cover_url": "https://i.ytimg.com/vi/lLd1-yRkFoM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nO8bW59bps2dImITnNeGwPk3bgAg", + "id": "lLd1-yRkFoM", + "url": "https://music.youtube.com/watch?v=lLd1-yRkFoM" + }, + { + "title": "Nonstop 2024 TikTok - Nh\u1ea1c Trend TikTok Remix 2024 - Nonstop 2024 Vinahouse Bay Ph\u00f2ng Bass C\u1ef1c M\u1ea1nh", + "artist": "ST Music", + "album": "Single", + "duration": 3066, + "cover_url": "https://i.ytimg.com/vi/bOUZFIUkpUU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mpOiYfozDV9Lo0OcuMcFRxmgPMtQ", + "id": "bOUZFIUkpUU", + "url": "https://music.youtube.com/watch?v=bOUZFIUkpUU" + }, + { + "title": "NONSTOP 2023 MIXTAPE | NH\u1ea0C TR\u1eba REMIX 2023 HAY NH\u1ea4T HI\u1ec6N NAY | NONSTOP 2023 VINAHOUSE BASS C\u1ef0C M\u1ea0NH", + "artist": "Vi\u1ec7t Mix TV", + "album": "Single", + "duration": 4767, + "cover_url": "https://i.ytimg.com/vi/xHOqEvceCxs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nkGJTiLhhEcSgOKtLmC53IE7pbCw", + "id": "xHOqEvceCxs", + "url": "https://music.youtube.com/watch?v=xHOqEvceCxs" + }, + { + "title": "DJ NAH VINA HOUSE PARTY MIX 2021", + "artist": "I AM NAH", + "album": "Single", + "duration": 3361, + "cover_url": "https://i.ytimg.com/vi/eu9P25Tf3hg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kF1k9hmQR2hJXTzLaTbqWGRWW8-A", + "id": "eu9P25Tf3hg", + "url": "https://music.youtube.com/watch?v=eu9P25Tf3hg" + }, + { + "title": "Nonstop 2025 TikTok - Nh\u1ea1c Trend TikTok Remix 2025 - Nonstop 2025 Vinahouse Bay Ph\u00f2ng Bass C\u1ef1c M\u1ea1nh", + "artist": "DN VINAHOUSE", + "album": "Single", + "duration": 4432, + "cover_url": "https://i.ytimg.com/vi/3Io9Z_oNtSw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k8atk2QF20ByD6j-KJYwqTNsxsJg", + "id": "3Io9Z_oNtSw", + "url": "https://music.youtube.com/watch?v=3Io9Z_oNtSw" + }, + { + "title": "M-Nonstop Your Favorite Chinese (ARS 2K21)", + "artist": "Mony Valentine And Family Boss", + "album": "Single", + "duration": 6327, + "cover_url": "https://i.ytimg.com/vi/RUSH5iA8py4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lNOmYckP2HelWnbxG3ouFFZgXKwQ", + "id": "RUSH5iA8py4", + "url": "https://music.youtube.com/watch?v=RUSH5iA8py4" + }, + { + "title": "Ng\u01b0\u1eddi N\u00e0o \u0110\u00f3", + "artist": "JustaTee", + "album": "Ng\u01b0\u1eddi N\u00e0o \u0110\u00f3", + "duration": 239, + "cover_url": "https://lh3.googleusercontent.com/GKIpTMkRTdKkq0MTcOuUD2ENAXcrEH-YASk2C65gjD15HjxZiuSIYarsJKzYcMKU5V5v93hH2udbLrU=w120-h120-l90-rj", + "id": "Gw2WX1PuiFY", + "url": "https://music.youtube.com/watch?v=Gw2WX1PuiFY" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "T\u1eebng L\u00e0", + "duration": 253, + "cover_url": "https://lh3.googleusercontent.com/mo8nVPNfMNONwoe8ebq0cqFVhv-1ngPZJSjhZdXnaAO7HtDCJ0t2pnOZhDKjendzkMndkRG7zQMEf0I=w120-h120-l90-rj", + "id": "9IbuIl0_NWw", + "url": "https://music.youtube.com/watch?v=9IbuIl0_NWw" + }, + { + "title": "It Wasn't Me (feat. Ricardo Ducent)", + "artist": "Shaggy", + "album": "Boys Trip Vibes", + "duration": 230, + "cover_url": "https://lh3.googleusercontent.com/CUWfKc9xzzMENRHwDp9ESBW4lijDE7940NlFKUfHSokINZYhaEYruT0XM5m0je83fs9bXb3Zx_GnsROq=w120-h120-l90-rj", + "id": "-65nw0ds5yo", + "url": "https://music.youtube.com/watch?v=-65nw0ds5yo" + }, + { + "title": "Only You [Greatest Hits Version] (feat. Mase & Notorious B.I.G.)", + "artist": "112", + "album": "Bad Boy Greatest Hits Vol. 1", + "duration": 291, + "cover_url": "https://lh3.googleusercontent.com/uAQPmBqODWO_JAj7iSFoZJW_JIltEDwhMQ_t_5tR2xMD_--Wh0_uBhXKDhSyubI7KbDXblk2jQZSPBMQ=w120-h120-l90-rj", + "id": "-7TuQQ-8LtY", + "url": "https://music.youtube.com/watch?v=-7TuQQ-8LtY" + }, + { + "title": "Ride wit U (feat. G-Unit)", + "artist": "Joe", + "album": "And Then...", + "duration": 252, + "cover_url": "https://lh3.googleusercontent.com/XZ8M7HZf4H3BpWmMP0AobKI-sfa5wSqT9PwgBPv1E4_P6EAeAkn1GPuHP2QXxLPikx96iDf_bNAhg48=w120-h120-l90-rj", + "id": "2rxyh41zS_U", + "url": "https://music.youtube.com/watch?v=2rxyh41zS_U" + }, + { + "title": "Tragedy", + "artist": "Bee Gees", + "album": "Spirits Having Flown", + "duration": 304, + "cover_url": "https://lh3.googleusercontent.com/ZVNkzevhFbuPg__RM09pEMWG4qO0e_krtR8cRK1LeoEI3oOIo32D9qIb6zz7B-bTSNdn2bT_Mv6EGwEh-g=w120-h120-l90-rj", + "id": "WFd-Yk73U_o", + "url": "https://music.youtube.com/watch?v=WFd-Yk73U_o" + }, + { + "title": "Emotion (feat. Bee Gees)", + "artist": "Samantha Sang", + "album": "Emotion", + "duration": 238, + "cover_url": "https://lh3.googleusercontent.com/NcERYz3Q1e0lYL57gI0EUa5KannoCYKLuBe6e_kK-ND9kXqGSzgBT06mFvSfOLO4Y0kdnPvT4NzPYqM7ag=w120-h120-l90-rj", + "id": "b_wTZjo9azk", + "url": "https://music.youtube.com/watch?v=b_wTZjo9azk" + }, + { + "title": "The One You Love", + "artist": "Glenn Frey", + "album": "No Fun Aloud", + "duration": 275, + "cover_url": "https://lh3.googleusercontent.com/b-ZpBunfttoe7EHHqwer0n8Nf3q7a50Brb6bdvmYKJ2FCiLQxesp8qsa3kc_aGdr29x2uGGgiBL1mAPY=w120-h120-s-l90-rj", + "id": "_z-I8OpCnv4", + "url": "https://music.youtube.com/watch?v=_z-I8OpCnv4" + }, + { + "title": "Sara", + "artist": "Starship", + "album": "Knee Deep In The Hoopla", + "duration": 293, + "cover_url": "https://lh3.googleusercontent.com/N0XRLFjezK4uwWLQU9jRvmgPwED1DjBySnQKOcJUtQTd81pYsqjkyOlwI5hsuZNRTAfi6LHYTBrw4ZJrxQ=w120-h120-l90-rj", + "id": "NPOBOk5_vwI", + "url": "https://music.youtube.com/watch?v=NPOBOk5_vwI" + } + ] + }, + { + "id": "PLbnOcTug_qTxsHHXtHQ7K9_TwBFm2CQAR", + "title": "Nh\u1eefng B\u1ea3n Nh\u1ea1c Remix TikTok Tri\u1ec7u View - BXH Nh\u1ea1c Tr\u1ebb Remix 2025", + "description": "Nh\u1eefng B\u1ea3n Nh\u1ea1c Remix Hot TikTok Tuy\u1ec3n Ch\u1ecdn Hay Nh\u1ea5t 2025 - Orinn Remix\n\nnh\u1ea1c tr\u1ebb remix, nhac tre remix, nh\u1ea1c tr\u1ebb remix tiktok, nh\u1ea1c remix c\u1ef1c hay, nh\u1ea1c remix m\u1ea1nh, EDM Tik Tok, li\u00ean kh\u00fac nh\u1ea1c tr\u1ebb remix, EDM, tik tok,nonstop,vinahouse, remix, remix edm, remix 2025, nh\u1ea1c tr\u1ebb remix 2025 hay nh\u1ea5t hi\u1ec7n nay, nh\u1ea1c tr\u1ebb remix 2025, nh\u1ea1c tr\u1ebb, nhac tre, nh\u1ea1c tr\u1ebb remix 2025, , lk nh\u1ea1c tr\u1ebb remix, nhac tre remix hay nh\u1ea5t, Remix 2025 Hay Nh\u1ea5t, nh\u1ea1c tr\u1ebb remix tuy\u1ec3n ch\u1ecdn, edm g\u00e2y nghi\u1ec7n, nh\u1ea1c edm, g\u00e2y nghi\u1ec7n, nh\u1ea1c s\u00e0n, nh\u1ea1c edm 2025, nh\u1ea1c edm remix, nh\u1ea1c tr\u1ebb edm, nh\u1ea1c remix, nhac remix", + "cover_url": "https://yt3.googleusercontent.com/Du4lIrv2HKa3OFeAuCyGOz08-2iHTEcENwVfQ50_usqg1AzI15lW30lYpDpvOwI_cGBJTAOfecei=s1200", + "tracks": [ + { + "title": "D\u00f9 Cho Mai V\u1ec1 Sau Remix - Buitruonglinh x Orinn | D\u00f9 Cho Mai V\u1ec1 Sau M\u00ecnh Kh\u00f4ng B\u00ean C\u1ea1nh Nhau", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/G2b2WS57iOI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfEPVcqbJDwvqLIr9kD92NFRW-_A", + "id": "G2b2WS57iOI", + "url": "https://music.youtube.com/watch?v=G2b2WS57iOI" + }, + { + "title": "Kh\u00f4ng Bu\u00f4ng (Orinn Remix) - Hngle ft. Ari | Em V\u1eabn C\u00f2n Nh\u1edb Nh\u1eefng L\u1ea7n M\u00ecnh \u0110\u00e3 H\u1ee9a H\u1eb9n Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/3VjCPQbTQds/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mDD_BflKPPjHLa9HG38WbQazi3eQ", + "id": "3VjCPQbTQds", + "url": "https://music.youtube.com/watch?v=3VjCPQbTQds" + }, + { + "title": "\u0110\u1ebfm Ng\u00e0y Xa Em (Orinn Remix) - Marcus Cover | Ch\u1ec9 L\u00e0 \u0110\u00f4i M\u00f4i Ch\u1ec9 L\u00e0 V\u00e0i C\u00e2u Y\u00eau Th\u01b0\u01a1ng Th\u00f4i M\u00e0", + "artist": "Orinn Mix", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/QQi2XRVh9Qc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lXypy7o_JdtqNjF4lVCNoqquhMSg", + "id": "QQi2XRVh9Qc", + "url": "https://music.youtube.com/watch?v=QQi2XRVh9Qc" + }, + { + "title": "Ch\u00fang Ta R\u1ed3i S\u1ebd H\u1ea1nh Ph\u00fac (Orinn Remix) - Nhu Y Doan Cover | Ph\u1ed1 X\u00e1 Mong Em \u1ede L\u1ea1i Tr\u00e1i Tim Em \u1ede L\u1ea1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/zdwM2fK3PnU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG7e1L38KQU8KpZdDSXdGNsV7Shw", + "id": "zdwM2fK3PnU", + "url": "https://music.youtube.com/watch?v=zdwM2fK3PnU" + }, + { + "title": "H\u01a1n B\u1ea5t C\u1ee9 Ai Remix (B\u1ea3n Cu\u1ed1n Bay TikTok) - Ch\u00e2u D\u01b0\u01a1ng | Sao Gi\u1edd \u0110\u00e2y Anh M\u1edbi Bi\u1ebft Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/VYA1tDPYruo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhcD851iq7QpmkSxWrgFj8lBDsqA", + "id": "VYA1tDPYruo", + "url": "https://music.youtube.com/watch?v=VYA1tDPYruo" + }, + { + "title": "E L\u00e0 \u0110\u00f4n Ch\u1ec1 Remix (Orinn Remix) - M\u1ed9t M\u1ea3nh K\u00fd \u1ee8c Anh Chia Ra L\u00e0m Hai Ph\u1ea7n Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 278, + "cover_url": "https://i.ytimg.com/vi/zKUgmHVJTEk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m9eox89eEr5gL7OR7SSNjMLpxIew", + "id": "zKUgmHVJTEk", + "url": "https://music.youtube.com/watch?v=zKUgmHVJTEk" + }, + { + "title": "Tr\u00e1i Tim Em C\u0169ng Bi\u1ebft \u0110au Remix TikTok - Gia H\u00e2n Cover | L\u1eddi Bi\u1ec7t Ly Bu\u1ed3n \u0110\u1ebfn M\u1ea5y C\u0169ng Kh\u00f4ng Th\u1ec3 N\u00e0o", + "artist": "Orinn Mix", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/SLQqW0kPOa8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lV_xdl56-F6r39qZwKhPM1CSyEGg", + "id": "SLQqW0kPOa8", + "url": "https://music.youtube.com/watch?v=SLQqW0kPOa8" + }, + { + "title": "Anh Kh\u00e1c Hay Em Kh\u00e1c (B\u1ea3n Cu\u1ed1n Bay TikTok) - Vi\u1ec7t Anh Cover | Orinn Remix B\u1ea3n Nh\u1ea1c Nghe Nhi\u1ec1u Nh\u1ea5t", + "artist": "Orinn Mix", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/pBfl4GYa9mo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lO_tG_QwWbX0cRsbL1DfstBaAD2A", + "id": "pBfl4GYa9mo", + "url": "https://music.youtube.com/watch?v=pBfl4GYa9mo" + }, + { + "title": "M\u1ea3nh K\u00fd \u1ee8c (Nguyn Zap Remix) - Fishy ft. Shartnuss, Tr.D | V\u00e0i D\u00f2ng L\u1ec7 K\u00fd \u1ee8c D\u1ea7n M\u1edd Phai \u0110i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/O1Yo3PTnh3g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kiHhhw8ossCFHEfGlBOxEOpDuAtw", + "id": "O1Yo3PTnh3g", + "url": "https://music.youtube.com/watch?v=O1Yo3PTnh3g" + }, + { + "title": "Anh Ch\u01b0a T\u1eebng H\u1ebft Y\u00eau (Orinn Remix) - Buitruonglinh | Ng\u00e0n L\u1eddi Y\u00eau Khi \u1ea4y Tr\u00e0n \u0110\u1ea7y Trong M\u1eaft Anh", + "artist": "Orinn Mix", + "album": "Single", + "duration": 192, + "cover_url": "https://i.ytimg.com/vi/pz8QgqS44vQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9gWBRgg4rQHUxoheoYycGv4BO1g", + "id": "pz8QgqS44vQ", + "url": "https://music.youtube.com/watch?v=pz8QgqS44vQ" + }, + { + "title": "Anh Ch\u01b0a T\u1eebng H\u1ebft Y\u00eau (Orinn Remix) - Buitruonglinh | Ng\u00e0n L\u1eddi Y\u00eau Khi \u1ea4y Tr\u00e0n \u0110\u1ea7y Trong M\u1eaft Anh", + "artist": "Orinn Mix", + "album": "Single", + "duration": 267, + "cover_url": "https://i.ytimg.com/vi/FO-eQErOmBM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l52gRd6ad15RQ5-qIifRjrrUErNg", + "id": "FO-eQErOmBM", + "url": "https://music.youtube.com/watch?v=FO-eQErOmBM" + }, + { + "title": "Tr\u00e1i Tim Em C\u0169ng Bi\u1ebft \u0110au (Orinn Remix) - Gia H\u00e2n Cover | Tr\u00e1i Tim C\u1ee7a Em R\u1ea5t \u0110au Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/2Y5E8T3pnNM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nRILACo3yLsuMGywrqPzlRGyt_lA", + "id": "2Y5E8T3pnNM", + "url": "https://music.youtube.com/watch?v=2Y5E8T3pnNM" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em (Orinn Remix) - Buitruonglinh | T\u00ecnh Y\u00eau \u0110\u1ebfn Ng\u1ecdt Ng\u00e0o Nh\u01b0 \u00c1ng M\u00e2y Tr\u00ean Cao Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/TBgpdfc6q_c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kwU8wt688XtdxHj6THd7QqZoUvSg", + "id": "TBgpdfc6q_c", + "url": "https://music.youtube.com/watch?v=TBgpdfc6q_c" + }, + { + "title": "Ch\u1eadp Ch\u1eddn Remix (Cu\u1ed1n Bay TikTok) - D\u01b0\u01a1ng Domic | \u0110i\u1ec1u M\u01a1 \u01af\u1edbc L\u00e0 Gi\u1edd N\u00e0y M\u00ecnh \u0110\u01b0\u1ee3c \u1ede B\u00ean Nhau Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/DX4rWCIb1Tc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nUBGEaf37Tyom0gNVfph21f8qf_Q", + "id": "DX4rWCIb1Tc", + "url": "https://music.youtube.com/watch?v=DX4rWCIb1Tc" + }, + { + "title": "M\u01b0a \u0110\u1ee3i Ch\u1edd Remix - Gia H\u00e2n Cover x Orinn | L\u00fac Khi Y\u00eau Ng\u01b0\u1eddi N\u00f3i R\u1eb1ng B\u00ean Nhau M\u1ed9t \u0110\u1eddi Kh\u00f4ng Phai", + "artist": "Orinn Mix", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/YvA5TiENHIo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJtfPPoT0g8j2xRO0W1IaiSXHx3g", + "id": "YvA5TiENHIo", + "url": "https://music.youtube.com/watch?v=YvA5TiENHIo" + }, + { + "title": "Nh\u01b0 Anh \u0110\u00e3 Th\u1ea5y Em (Orinn Remix) - Ph\u00fac Xp |V\u1eady N\u00ean Xo\u00e1 H\u1ebft \u0110i Nh\u1eefng Phi\u1ec1n Lo \u0110ang B\u00f9a V\u00e2y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/eMoVXXZeNdM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnlPBM9pG5zgGWIhE88gbVMNmYqg", + "id": "eMoVXXZeNdM", + "url": "https://music.youtube.com/watch?v=eMoVXXZeNdM" + }, + { + "title": "Em Nh\u1edb Anh Remix - Ruby Cover x Orinn | N\u1ed7i Nh\u1edb Tr\u00e0n V\u1ec1 Quanh \u0110\u00e2y Khi\u1ebfn Kh\u00f3e Mi Em Th\u00eam Cay Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/5ArEmAO2Y3Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuS2awkcShbMQWLavx-Be_aoNG_A", + "id": "5ArEmAO2Y3Q", + "url": "https://music.youtube.com/watch?v=5ArEmAO2Y3Q" + }, + { + "title": "Tr\u00e0n B\u1ed9 Nh\u1edb (Orinn Remix) - D\u01b0\u01a1ng Domic x Orinn | H\u00f3a Ra Chuy\u1ec7n M\u00ecnh Th\u1eadt T\u00ecnh TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/YPq7LhYTVl0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kSnGqx_mCOOCTniHWlr8wXj8lEXQ", + "id": "YPq7LhYTVl0", + "url": "https://music.youtube.com/watch?v=YPq7LhYTVl0" + }, + { + "title": "M\u01b0a \u0110\u1ee3i Ch\u1edd Remix (B\u1ea3n Cu\u1ed1n Bay TikTok) - Gia H\u00e2n Cover | L\u00fac Khi Y\u00eau Ng\u01b0\u1eddi N\u00f3i R\u1eb1ng Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/7IedkT3S-vQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kkPyy94yHHykWxUlB-BxkNDFbRxg", + "id": "7IedkT3S-vQ", + "url": "https://music.youtube.com/watch?v=7IedkT3S-vQ" + }, + { + "title": "Pin D\u1ef1 Ph\u00f2ng (Cu\u1ed1n Bay TikTok) - D\u01b0\u01a1ng Domic x Lou Ho\u00e0ng | Kh\u00f4ng Y\u00eau Xin \u0110\u1eebng T\u1ea1o Th\u00eam Th\u00f3i Quen", + "artist": "Orinn Mix", + "album": "Single", + "duration": 210, + "cover_url": "https://i.ytimg.com/vi/RDGZMaUWWiA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWzmZig91Z-WmRAFWXbUrkw655Dw", + "id": "RDGZMaUWWiA", + "url": "https://music.youtube.com/watch?v=RDGZMaUWWiA" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec Remix (E L\u00e0 Kh\u00f4ng Th\u1ec3 Melody \u0110\u00f4n Ch\u1ec1) - Anh Qu\u00e2n Idol | B\u1ea3n Cu\u1ed1n Bay TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 225, + "cover_url": "https://i.ytimg.com/vi/JOHDJQDF8oA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kRUYLFwg_fcqVVhdYBMSBcn3zAFA", + "id": "JOHDJQDF8oA", + "url": "https://music.youtube.com/watch?v=JOHDJQDF8oA" + }, + { + "title": "N\u1eb1m B\u00ean Anh Remix - Marcus Cover x Orinn | V\u00e0 Khi \u00d4ng Tr\u1eddi \u0110ang Y\u00ean Gi\u1ea5c Say Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/3lb-iBPNpUk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3npLe16G_gZiC7XFme1MWPvp3vCKA", + "id": "3lb-iBPNpUk", + "url": "https://music.youtube.com/watch?v=3lb-iBPNpUk" + }, + { + "title": "T\u00e2m Tr\u00ed Lang Thang Remix TikTok - \u00c1nh S\u00e1ng AZA x Negav x Orinn |\u03f9on Tim Em V\u1eabn Lu\u00f4n Mu\u1ed1n Y\u00eau Nh\u01b0 N\u00e0\u0443", + "artist": "Orinn Mix", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/ZT9jAyqtcP4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ldlWafr1kcjUkk1ewtlqFdfXMNiA", + "id": "ZT9jAyqtcP4", + "url": "https://music.youtube.com/watch?v=ZT9jAyqtcP4" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 T\u00ecm \u0110\u01b0\u1ee3c Em Remix - Ph\u00fac Xp x Orinn | Ng\u00e0n L\u1ea7n Anh Y\u1ebfu \u0110u\u1ed1i Ng\u00e0n L\u1ea7n \u0110\u1ec3 N\u01b0\u1edbc M\u1eaft R\u01a1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/Xr1ofEwv9p4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mUYNUtFqy5x_DSCvE22X4iBpnRzQ", + "id": "Xr1ofEwv9p4", + "url": "https://music.youtube.com/watch?v=Xr1ofEwv9p4" + }, + { + "title": "Mashup 2 in 1 - E L\u00e0 \u0110\u00f4n Ch\u1ec1 x Kh\u00f4ng B\u1eb1ng Remix | Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadt Ph\u00e1t x Na x Orinn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 254, + "cover_url": "https://i.ytimg.com/vi/qrwHbHBd4NA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkkgJJzgS--m5kpY5-8JXjsLTMiQ", + "id": "qrwHbHBd4NA", + "url": "https://music.youtube.com/watch?v=qrwHbHBd4NA" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec Remix TikTok - Anh Qu\u00e2n Idol x Orinn | Sao Em L\u1ea1i O\u00e0 L\u00ean Kh\u00f3c Em H\u1ecfi Anh Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 225, + "cover_url": "https://i.ytimg.com/vi/9Kfnb-Z9shM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3msAjNCQGqdgaj2JEXrrA4kQbEmcA", + "id": "9Kfnb-Z9shM", + "url": "https://music.youtube.com/watch?v=9Kfnb-Z9shM" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 (HK x QZ Remix) - Anh Qu\u00e2n Idol | M\u1ea5t M\u1ed9t Ng\u00e0y \u0110\u1ec3 Y\u00eau M\u1ed9t Ng\u01b0\u1eddi Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/_tgp2uhTihI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lY_4_Jd5QiadUTlsE1YDB6GAK6BQ", + "id": "_tgp2uhTihI", + "url": "https://music.youtube.com/watch?v=_tgp2uhTihI" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 C\u1ea3m H\u00f3a Remix (B\u1ea3n Cu\u1ed1n Bay TikTok) - L\u01b0\u01a1ng Qu\u00fd Tu\u1ea5n x An Clock x Orinn | K\u1ec3 T\u1eeb Ng\u00e0y \u0110\u1ed5 V\u1ee1", + "artist": "Orinn Mix", + "album": "Single", + "duration": 232, + "cover_url": "https://i.ytimg.com/vi/mQPDr9f5GpY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nCtGjlExXoWmQ4uoZEDEI7C1F-YQ", + "id": "mQPDr9f5GpY", + "url": "https://music.youtube.com/watch?v=mQPDr9f5GpY" + }, + { + "title": "E L\u00e0 \u0110\u00f4n Ch\u1ec1 Remix (B\u1ea3n Cu\u1ed1n Bay TikTok) - Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t | M\u1ed9t M\u1ea3nh K\u00fd \u1ee8c Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/lX0M9y3kbe0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ml9_aQEdfI8rtN2sRxn7LHHN_zyg", + "id": "lX0M9y3kbe0", + "url": "https://music.youtube.com/watch?v=lX0M9y3kbe0" + }, + { + "title": "N\u1eafng C\u00f3 Mang Em V\u1ec1 (Nguyn Zap Remix) - Shartnuss ft Tr.D & Phankeo | R\u1ed3i Ch\u1ec9 Khi C\u01a1n M\u01b0a T\u1edbi Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 258, + "cover_url": "https://i.ytimg.com/vi/c4vh4GqzVIc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nS80ToWnNC-iq-yATnAhcSIevivg", + "id": "c4vh4GqzVIc", + "url": "https://music.youtube.com/watch?v=c4vh4GqzVIc" + }, + { + "title": "Ph\u00e9p M\u00e0u (Orinn Remix) - buitruonglinh x Ng\u00f4 Lan H\u01b0\u01a1ng | Li\u1ec7u Ng\u01b0\u1eddi C\u00f3 C\u00f2n \u1ede \u0110\u00e2y V\u1edbi T\u00f4i Th\u1eadt L\u00e2u", + "artist": "Orinn Mix", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/b6uYlOdTufM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kGMy9pGOp8KeTD8GBTkkK-ZSoaPQ", + "id": "b6uYlOdTufM", + "url": "https://music.youtube.com/watch?v=b6uYlOdTufM" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 \u0110\u1ebfn Cu\u1ed1i C\u00f9ng (Orinn Remix) - Marcus | Ch\u1eb3ng Th\u1ec3 Tin \u0110\u1ebfn Cu\u1ed1i C\u00f9ng Ng\u01b0\u1eddi Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/UJ4L52GGC_c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqcbGHjU36d_ZjNpqDdjI7qtJpCQ", + "id": "UJ4L52GGC_c", + "url": "https://music.youtube.com/watch?v=UJ4L52GGC_c" + }, + { + "title": "Bi\u1ebft T\u00ecm \u0110\u00e2u (Orinn Remix) - Nguy\u1ec5n Th\u1ea1c B\u1ea3o Ng\u1ecdc | T\u1eebng Ng\u00e0y D\u00e0i C\u00f2n L\u1ea1i M\u1ed9t M\u00ecnh N\u01a1i \u0110\u00e2y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/3XDNOqWVp5M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nycsjcR8Lp8h0AjqYIYbfsGAEwvw", + "id": "3XDNOqWVp5M", + "url": "https://music.youtube.com/watch?v=3XDNOqWVp5M" + }, + { + "title": "H\u01a1n B\u1ea5t C\u1ee9 Ai (B\u1ea3n Cu\u1ed1n Bay TikTok) Ch\u00e2u D\u01b0\u01a1ng |Sao Gi\u1edd \u0110\u00e2y Anh M\u1edbi Bi\u1ebft Em Quan Tr\u1ecdng H\u01a1n B\u1ea5t C\u1ee9 Ai", + "artist": "Orinn Mix", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/oHXx3bacghA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k7BsFefBd2g_68VBGH2rFXlg9Sow", + "id": "oHXx3bacghA", + "url": "https://music.youtube.com/watch?v=oHXx3bacghA" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 (Orinn Remix) - Anh Qu\u00e2n | M\u1ea5t M\u1ed9t Ng\u00e0y \u0110\u1ec3 Y\u00eau M\u1ed9t Ng\u01b0\u1eddi Remix Hot Tik Tok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/VhecCdu9gKQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3muP2SL872sBPJM2hmv-6veXqA3jg", + "id": "VhecCdu9gKQ", + "url": "https://music.youtube.com/watch?v=VhecCdu9gKQ" + }, + { + "title": "H\u01a1n B\u1ea5t C\u1ee9 Ai (Orinn Remix) - Ch\u00e2u D\u01b0\u01a1ng |Sao Gi\u1edd \u0110\u00e2y Anh M\u1edbi Bi\u1ebft Em Quan Tr\u1ecdng H\u01a1n B\u1ea5t C\u1ee9 Ai Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/K8dItku6yZI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k7XxmQNEiyukbMrvlCoNLRpEjwtw", + "id": "K8dItku6yZI", + "url": "https://music.youtube.com/watch?v=K8dItku6yZI" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 C\u1ea3m H\u00f3a Remix (B\u1ea3n Hot TikTok) | K\u1ec3 T\u1eeb Ng\u00e0y \u0110\u1ed5 V\u1ee1 Anh V\u1ed9i X\u00f3a H\u1ebft \u0110i M\u1ed9ng M\u01a1 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/MdW09aXB3dQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUDFFdDvfkMNgj2bnxgLqFaGUBNw", + "id": "MdW09aXB3dQ", + "url": "https://music.youtube.com/watch?v=MdW09aXB3dQ" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 C\u1ea3m H\u00f3a Remix - L\u01b0\u01a1ng Qu\u00fd Tu\u1ea5n x An Clock | K\u1ec3 T\u1eeb Ng\u00e0y \u0110\u1ed5 V\u1ee1 Anh V\u1ed9i X\u00f3a H\u1ebft \u0110i M\u1ed9ng M\u01a1", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/JbXIUrPheF8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBmqruuOzZGAcEezwzAYzFdP_2IA", + "id": "JbXIUrPheF8", + "url": "https://music.youtube.com/watch?v=JbXIUrPheF8" + }, + { + "title": "Say Yes (Orinn Remix) - OgeNus x PiaLinh | G\u1eedi V\u00e0o Gi\u00f3 \u01af\u1edbc Mu\u1ed1n Gi\u1eef M\u00e3i Trong L\u00f2ng Ch\u1eb3ng D\u00e1m N\u00f3i Ra", + "artist": "Orinn Mix", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/rmyC9UAyQck/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mjnuNk4-OE6FG8LUeyG0GhqsSRZg", + "id": "rmyC9UAyQck", + "url": "https://music.youtube.com/watch?v=rmyC9UAyQck" + }, + { + "title": "D\u00f9 Cho Mai V\u1ec1 Sau (Orinn Remix) - Buitruonglinh | D\u00f9 Cho Mai V\u1ec1 Sau M\u00ecnh Kh\u00f4ng B\u00ean C\u1ea1nh Nhau", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/zZXsbsI9RDg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l36sUZQPqispdfIEB6-An34vOu1Q", + "id": "zZXsbsI9RDg", + "url": "https://music.youtube.com/watch?v=zZXsbsI9RDg" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 C\u1ea3m H\u00f3a (Orinn Remix) - L\u01b0\u01a1ng Qu\u00fd Tu\u1ea5n x An Clock | K\u1ec3 T\u1eeb Ng\u00e0y \u0110\u1ed5 V\u1ee1 Anh V\u1ed9i X\u00f3a Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/KydJOjmlGVo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mrfqb_Pw3v7SXeB7bfncWIxYYCNA", + "id": "KydJOjmlGVo", + "url": "https://music.youtube.com/watch?v=KydJOjmlGVo" + }, + { + "title": "E L\u00e0 \u0110\u00f4n Ch\u1ec1 Remix (B\u1ea3n Hot TikTok) - Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t x Nguyn Zap | M\u1ed9t M\u1ea3nh K\u00fd \u1ee8c", + "artist": "Orinn Mix", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/zmCiaALsp5Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m9Q0OjwfuNdXUYyHu3KvVA6UvgRA", + "id": "zmCiaALsp5Y", + "url": "https://music.youtube.com/watch?v=zmCiaALsp5Y" + }, + { + "title": "Khoan Thai (Orinn Remix) - Kh\u1ea3i \u0110\u0103ng| N\u01a1i N\u00e0o Cho Con Tim Ngu\u00f4i Ngoai Bao Tr\u00f4ng Gai Ngang Tr\u00e1i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/6G6AAU29AXc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lrlBo_8RFuE0AY6rjDyjU1LSMnaw", + "id": "6G6AAU29AXc", + "url": "https://music.youtube.com/watch?v=6G6AAU29AXc" + }, + { + "title": "Love is (Orinn Remix) - Dangrangto | Baby Anh Ch\u1eb3ng Mu\u1ed1n Ph\u1ea3i M\u1eafc Nh\u1eefng Sai L\u1ea7m Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/Wfe5IcCNe2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lS8isLpEcLKbj3t45WrGVNLFROXw", + "id": "Wfe5IcCNe2M", + "url": "https://music.youtube.com/watch?v=Wfe5IcCNe2M" + }, + { + "title": "Cho Em M\u1ed9t L\u1ea7n Y\u00eau (Orinn Remix) - Ho\u00e0ng Ly | Ng\u01b0\u1eddi B\u1ed7ng \u0110\u1ebfn B\u00ean Em V\u00e0o M\u1ed9t H\u00f4m N\u1eafng Xanh Ng\u1eddi Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/aPJQhYGUtBQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kuW8h1somEcRbuqMlEOGS2G0Joig", + "id": "aPJQhYGUtBQ", + "url": "https://music.youtube.com/watch?v=aPJQhYGUtBQ" + }, + { + "title": "E L\u00e0 \u0110\u00f4n Ch\u1ec1 Remix (Orinn Remix) - M\u1ed9t M\u1ea3nh K\u00fd \u1ee8c Anh Chia Ra L\u00e0m Hai Ph\u1ea7n Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 278, + "cover_url": "https://i.ytimg.com/vi/AGaCAudO81A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mEbwxQWUEFiuh_ZK_YPozPKWZhtQ", + "id": "AGaCAudO81A", + "url": "https://music.youtube.com/watch?v=AGaCAudO81A" + }, + { + "title": "M\u1edf L\u1ed1i Cho Em 2 (Orinn Remix) - L\u01b0\u01a1ng Qu\u00fd Tu\u1ea5n x An Clock | T\u1eeb L\u00fac Em R\u1eddi Remix Hot TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/xy0XTkizEgU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mMxkb2ChUFzX7PndoV9ilZjneTfw", + "id": "xy0XTkizEgU", + "url": "https://music.youtube.com/watch?v=xy0XTkizEgU" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec Remix TikTok - Anh Qu\u00e2n Idol x Orinn | Sao Em L\u1ea1i O\u00e0 L\u00ean Kh\u00f3c Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/hAuS2avGrN4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l7glRIanI8oEEzGrigA9qMnaqcHw", + "id": "hAuS2avGrN4", + "url": "https://music.youtube.com/watch?v=hAuS2avGrN4" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec Remix - Anh Qu\u00e2n Idol x Orinn | Sao Em L\u1ea1i O\u00e0 L\u00ean Kh\u00f3c Em H\u1ecfi Anh \u0110au L\u00f2ng Kh\u00f4ng Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 200, + "cover_url": "https://i.ytimg.com/vi/cwPYV1K0z-M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqNpRLY097cvDCxS-47aXstOfWBw", + "id": "cwPYV1K0z-M", + "url": "https://music.youtube.com/watch?v=cwPYV1K0z-M" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec Remix - Anh Qu\u00e2n Idol x Orinn x SS | \u0110\u1ebfn Cu\u1ed1i C\u00f9ng Hai Tr\u00e1i Tim L\u1ea1i Ch\u1eb3ng \u0110i Chung", + "artist": "Orinn Mix", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/THNf9F8OU-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lQP-OcMYyBVGOR2G4w7uTattV6oQ", + "id": "THNf9F8OU-Y", + "url": "https://music.youtube.com/watch?v=THNf9F8OU-Y" + }, + { + "title": "N\u1eafng D\u01b0\u1edbi Ch\u00e2n M\u00e2y Remix TikTok - Nguy\u1ec5n H\u1eefu Kha x Orinn | Tr\u1ea3 L\u1ea1i Em Nh\u1eefng N\u1ed7i Bu\u1ed3n Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/GRfrgCNEZBY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mgHSoXYJ2kPk2DpGUyTVinHj5vzw", + "id": "GRfrgCNEZBY", + "url": "https://music.youtube.com/watch?v=GRfrgCNEZBY" + }, + { + "title": "Anh \u0110\u00e2u L\u00e0 G\u00ec (Orinn Remix) - Anh Qu\u00e2n Idol | Sao Em L\u1ea1i O\u00e0 L\u00ean Kh\u00f3c Em H\u1ecfi Anh \u0110au L\u00f2ng Kh\u00f4ng Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 225, + "cover_url": "https://i.ytimg.com/vi/GrduyOMgY-4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k87NSQpwXILLkfEgt48jRbh9GDqQ", + "id": "GrduyOMgY-4", + "url": "https://music.youtube.com/watch?v=GrduyOMgY-4" + }, + { + "title": "L\u1ea1nh H\u01a1n M\u00f9a \u0110\u00f4ng (Orinn Remix) - H\u00f9ng Qu\u00e2n | N\u00e0y M\u00f9a \u0110\u00f4ng \u01a0i Sao Ng\u01b0\u1eddi Ta L\u1ea1nh L\u00f9ng \u0110\u1ebfn Th\u1ebf Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/SYOhZcNEdzM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mSu2QljXlkNY9wugO1n7ltx5h3_Q", + "id": "SYOhZcNEdzM", + "url": "https://music.youtube.com/watch?v=SYOhZcNEdzM" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 T\u00ecm \u0110\u01b0\u1ee3c Em Remix - Ph\u00fac Xp x Orinn | Ng\u00e0n L\u1ea7n Anh Y\u1ebfu \u0110u\u1ed1i Ng\u00e0n L\u1ea7n \u0110\u1ec3 N\u01b0\u1edbc M\u1eaft R\u01a1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/vHLzM68xUqQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nE-g2Uw-x6WVXJi8qeGIBg_4rU_g", + "id": "vHLzM68xUqQ", + "url": "https://music.youtube.com/watch?v=vHLzM68xUqQ" + }, + { + "title": "Tr\u1ea3 L\u1ea1i Thanh Xu\u00e2n Cho Em (Orinn Remix) - Mochiii | G\u1ea7n 30 Em Kh\u00f4ng C\u00f2n Xinh Nh\u01b0 Tr\u01b0\u1edbc Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 199, + "cover_url": "https://i.ytimg.com/vi/7p55MiANeoY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mRvBA1Aq9eaCLTRysWBlgef_diiA", + "id": "7p55MiANeoY", + "url": "https://music.youtube.com/watch?v=7p55MiANeoY" + }, + { + "title": "C\u01b0\u1edbi Ch\u00ednh Remix (B\u1ea3n Hot TikTok) - Nal x Orinn | \u01af\u1edbc Mu\u1ed1n L\u1edbn Nh\u1ea5t Cu\u1ed9c \u0110\u1eddi Anh Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 282, + "cover_url": "https://i.ytimg.com/vi/E5D5HI2Rc-Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kcKtcqLminhpV84bwpSg0W4nyFuQ", + "id": "E5D5HI2Rc-Q", + "url": "https://music.youtube.com/watch?v=E5D5HI2Rc-Q" + }, + { + "title": "Chuy\u1ec7n Trong Th\u01a1 (Thu qua ch\u1edbm \u0110\u00f4ng) - H\u00f9ng Qu\u00e2n x Orinn Remix | Kh\u00f4ng Kh\u00ed L\u1ea1nh Tr\u00e0n V\u1ec1 Nghe G\u00ec ?", + "artist": "Orinn Mix", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/34BmutbfHB4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m4qjH4D7l9n1PiIDQqfzyQ0zvZcQ", + "id": "34BmutbfHB4", + "url": "https://music.youtube.com/watch?v=34BmutbfHB4" + }, + { + "title": "D\u1ec5 Th\u01b0\u01a1ng (Orinn Remix) - Kh\u1edfi My | N\u1eafng Ban Mai R\u1ecdi V\u00e0o Ph\u00f2ng Khi Em Ng\u1ee7 Say Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 199, + "cover_url": "https://i.ytimg.com/vi/uj7rU2ArlHU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWKgMzTRF28qcDCbQUrBoEthEIPA", + "id": "uj7rU2ArlHU", + "url": "https://music.youtube.com/watch?v=uj7rU2ArlHU" + }, + { + "title": "M\u01b0a R\u01a1i V\u00e0o Ph\u00f2ng Remix - Kh\u1edfi My x Orinn | B\u1ea7u Tr\u1eddi \u1ea4y N\u01a1i Xa Th\u1ebf N\u00e0o R\u1ed3i Remix Hot TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/xvVF7fn5_kc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kt3-_6lzWRVI6Cpd3gxyoFW8Y_-g", + "id": "xvVF7fn5_kc", + "url": "https://music.youtube.com/watch?v=xvVF7fn5_kc" + }, + { + "title": "Em Nh\u1edb Anh Remix TikTok - Ruby Cover x Orinn | N\u1ed7i Nh\u1edb Tr\u00e0n V\u1ec1 Quanh \u0110\u00e2y Khi\u1ebfn Kh\u00f3e Mi Em Th\u00eam Cay", + "artist": "Orinn Mix", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/Nm07J4kOauY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kJwbTM0ALznmquu6Lnr247Z8L73w", + "id": "Nm07J4kOauY", + "url": "https://music.youtube.com/watch?v=Nm07J4kOauY" + }, + { + "title": "Su\u00fdt N\u1eefa Th\u00ec Remix - Andiez x Orinn | L\u1eddi Ch\u01b0a N\u00f3i Anh Th\u1ea3 V\u00e0o Trong C\u01a1n Gi\u00f3 Nh\u1eafn V\u1edbi M\u00e2y Tr\u1eddi Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/Uo7XiJ8kO1k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lo7kn97IjE-CpIMxEuhK4V0YL-WA", + "id": "Uo7XiJ8kO1k", + "url": "https://music.youtube.com/watch?v=Uo7XiJ8kO1k" + }, + { + "title": "Say Yes (Orinn Remix) - OgeNus x PiaLinh | G\u1eedi V\u00e0o Gi\u00f3 \u01af\u1edbc Mu\u1ed1n Gi\u1eef M\u00e3i Trong L\u00f2ng Ch\u1eb3ng D\u00e1m N\u00f3i Ra", + "artist": "Orinn Mix", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YKMTkFbKv-Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lQOSNVWk1LTQfNzTW8tZ-5h0f5ig", + "id": "YKMTkFbKv-Q", + "url": "https://music.youtube.com/watch?v=YKMTkFbKv-Q" + }, + { + "title": "\u0110\u1eebng Xa Anh Nh\u00e9 (Orinn Remix) - Kevindauroi ft. Harvey | \u0110\u00e3 L\u00e2u R\u1ed3i Ch\u1eb3ng C\u00f2n \u0110\u1ee3i Mong M\u1ed9t Ai Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/AR2TUAPHI2Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mmFKqSCMd8aI1C9KMxHJQJceFNVw", + "id": "AR2TUAPHI2Y", + "url": "https://music.youtube.com/watch?v=AR2TUAPHI2Y" + }, + { + "title": "C\u01a1 H\u1ed9i Cu\u1ed1i (Orinn Remix) - An V\u0169 | N\u01b0\u1edbc M\u1eaft Anh L\u1ea1i R\u01a1i V\u00ec Em \u0110\u1ea5y Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 201, + "cover_url": "https://i.ytimg.com/vi/aCD8NuMjDh4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m-_gvfnTJbd6jcrHmzhh2jQHZMhw", + "id": "aCD8NuMjDh4", + "url": "https://music.youtube.com/watch?v=aCD8NuMjDh4" + }, + { + "title": "Anh Ch\u01b0a T\u1eebng H\u1ebft Y\u00eau (Orinn Remix) - Buitruonglinh | Ng\u00e0n L\u1eddi Y\u00eau Khi \u1ea4y Tr\u00e0n \u0110\u1ea7y Trong M\u1eaft Anh", + "artist": "Orinn Mix", + "album": "Single", + "duration": 267, + "cover_url": "https://i.ytimg.com/vi/xnsGQd37LLY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbylADKkO5OwguxRD-m9e0q1uLrw", + "id": "xnsGQd37LLY", + "url": "https://music.youtube.com/watch?v=xnsGQd37LLY" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em (Orinn Remix) - Buitruonglinh | T\u00ecnh Y\u00eau \u0110\u1ebfn Ng\u1ecdt Ng\u00e0o Nh\u01b0 \u00c1ng M\u00e2y Tr\u00ean Cao Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/ZJbcnfTbTa4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMN8SpSfKb28BznFemAmFMHvHWyA", + "id": "ZJbcnfTbTa4", + "url": "https://music.youtube.com/watch?v=ZJbcnfTbTa4" + }, + { + "title": "M\u1ed9t T\u00ecnh Y\u00eau Hai Th\u1eed Th\u00e1ch Remix - Lu\u00e2n Ken x Orinn | L\u00f2ng Ng\u01b0\u1eddi Kh\u00f3 N\u00f3i Em \u01a0i Remix Tik Tok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/3yWp0YCrmzY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nM7DdJz6_HEvgSRythP2O0C2mLgA", + "id": "3yWp0YCrmzY", + "url": "https://music.youtube.com/watch?v=3yWp0YCrmzY" + }, + { + "title": "M\u1ed9t B\u01b0\u1edbc Y\u00eau V\u1ea1n D\u1eb7m \u0110au (Orinn Remix) - JK Cover | T\u1eeb Nay Duy\u00ean Ki\u1ebfp B\u1ecf L\u1ea1i Ph\u00eda Sau Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/tFV_gh3XaDg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lAHCZSXufxwp16O1p1Ct4VvEas_w", + "id": "tFV_gh3XaDg", + "url": "https://music.youtube.com/watch?v=tFV_gh3XaDg" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 (Style Huy PT Remix) - Anh Qu\u00e2n | Ai C\u0169ng T\u1eebng Tin C\u00f3 Ph\u00e9p M\u00e0u Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/5nUm4Ns-SjM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l4ftcc2g5BJZHCNIt7eTZZTdsTDQ", + "id": "5nUm4Ns-SjM", + "url": "https://music.youtube.com/watch?v=5nUm4Ns-SjM" + }, + { + "title": "Ch\u00fang Ta R\u1ed3i S\u1ebd H\u1ea1nh Ph\u00fac (Orinn Remix) - Nhu Y Doan Cover | Ph\u1ed1 X\u00e1 Mong Em \u1ede L\u1ea1i Tr\u00e1i Tim Em \u1ede L\u1ea1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/X6Rb9dF_hII/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_YclNsxbOTKNaa6HPtw25q48_Sw", + "id": "X6Rb9dF_hII", + "url": "https://music.youtube.com/watch?v=X6Rb9dF_hII" + }, + { + "title": "Ng\u01b0\u1eddi M\u00ecnh Th\u01b0\u01a1ng Kh\u00f4ng Th\u01b0\u01a1ng M\u00ecnh (Orinn Remix) - Anh Qu\u00e2n Idol | Nh\u1eb9 Nh\u00e0ng D\u1ea5u \u0110i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/OsI3QCiHFKU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kMpwtHDRqwseFePvV-gp3AEash1w", + "id": "OsI3QCiHFKU", + "url": "https://music.youtube.com/watch?v=OsI3QCiHFKU" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 Remix (B\u1ea3n Hot TikTok) - Anh Qu\u00e2n x Orinn | Xu\u00e2n Th\u00ec Ng\u01b0\u1eddi Con G\u00e1i Nh\u01b0 T\u00e1ch Tr\u00e0 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/fTpWBK6wB6M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSXfxXNPEq7Cvni3oJAPWJX5W-Pw", + "id": "fTpWBK6wB6M", + "url": "https://music.youtube.com/watch?v=fTpWBK6wB6M" + }, + { + "title": "MASHUP 2 in 1 - Kh\u00f4ng Bu\u00f4ng x N\u1eafng C\u00f3 Mang Em V\u1ec1 | Hngle x Ari x Shartnuss x Tr.D x Phankeo x Orinn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 346, + "cover_url": "https://i.ytimg.com/vi/qr0GW3eNlWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKrgD8wH4LCsTIFG9wBdvr75Vuig", + "id": "qr0GW3eNlWI", + "url": "https://music.youtube.com/watch?v=qr0GW3eNlWI" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 \u0110\u1ebfn Cu\u1ed1i C\u00f9ng (Orinn Remix) - Vi\u1ec7t Anh Cover | Cu\u1ed9c T\u00ecnh C\u1ee9 Ng\u1ee1 Nh\u01b0 M\u01a1 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/hgEC8joy35k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lDwDBx41cTnmtN3_u0byYGIcGirQ", + "id": "hgEC8joy35k", + "url": "https://music.youtube.com/watch?v=hgEC8joy35k" + }, + { + "title": "MASHUP 2 IN 1 - Anh Vui x \u0110\u1ecba Ng\u1ee5c Tr\u1ea7n Gian Remix | Ph\u1ea1m K\u1ef3 x Orinn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/pVxMzxgLeVQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loasfojR1mmtgmScdo3RZcGKYe3g", + "id": "pVxMzxgLeVQ", + "url": "https://music.youtube.com/watch?v=pVxMzxgLeVQ" + }, + { + "title": "C\u00f2n L\u1ea1i G\u00ec Sau C\u01a1n M\u01b0a Remix - B\u1ea3o Th\u1ea1ch | JK Cover x Orinn | Kh\u00f4ng C\u00f2n Kh\u00f4ng C\u00f2n Gi\u1eef L\u1ea5y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/dmPcMdV3UuI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mjbXXf9G1QEwWer0pYQ7dXsZX2hA", + "id": "dmPcMdV3UuI", + "url": "https://music.youtube.com/watch?v=dmPcMdV3UuI" + }, + { + "title": "Ph\u00e9p M\u00e0u Remix - buitruonglinh x Ng\u00f4 Lan H\u01b0\u01a1ng x Orinn | Li\u1ec7u Ng\u01b0\u1eddi C\u00f3 C\u00f2n \u1ede \u0110\u00e2y V\u1edbi T\u00f4i Th\u1eadt L\u00e2u", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/z-FEPDDL4HA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n55dWZkl3QRuPr4CPfHSx570wTSg", + "id": "z-FEPDDL4HA", + "url": "https://music.youtube.com/watch?v=z-FEPDDL4HA" + }, + { + "title": "Anh Y\u00eau V\u1ed9i Th\u1ebf Remix TikTok - Lala Tr\u1ea7n | Anh Y\u00eau V\u1ed9i Th\u1ebf C\u1ee9 Th\u00edch Bu\u00f4ng L\u1eddi Tr\u00eau \u0110\u00f9a Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/XrldAElmle8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mtQy9NvOBW5GaaLaZckZNpAuxeVw", + "id": "XrldAElmle8", + "url": "https://music.youtube.com/watch?v=XrldAElmle8" + }, + { + "title": "Ph\u00e9p M\u00e0u (Orinn Remix) - buitruonglinh x Ng\u00f4 Lan H\u01b0\u01a1ng | Li\u1ec7u Ng\u01b0\u1eddi C\u00f3 C\u00f2n \u1ede \u0110\u00e2y V\u1edbi T\u00f4i Th\u1eadt L\u00e2u", + "artist": "Orinn Mix", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/3XA0k831kys/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljQfraigoG8PKJqaL5Zjla-zxYgg", + "id": "3XA0k831kys", + "url": "https://music.youtube.com/watch?v=3XA0k831kys" + }, + { + "title": "Ng\u00f4i Nh\u00e0 H\u1ea1nh Ph\u00fac Remix - Thu\u1ef7 Ti\u00ean | Vi\u1ec7t Anh Cover x Orinn | D\u1eabu Ch\u1ec9 L\u00e0 Gi\u1ea5c M\u01a1 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/RaTaTPgdYD8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lFXhUFYI2nNMcfQgXATQSvjEUxeQ", + "id": "RaTaTPgdYD8", + "url": "https://music.youtube.com/watch?v=RaTaTPgdYD8" + }, + { + "title": "M\u1ed9t T\u00ecnh Y\u00eau Hai Th\u1eed Th\u00e1ch Remix - Lu\u00e2n Ken x Orinn | L\u00f2ng Ng\u01b0\u1eddi Kh\u00f3 N\u00f3i Em \u01a0i Remix Tik Tok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/OnP1Rwo6J3g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lqHAj_Hn5p5f_M-Ef5JLlbStC1vQ", + "id": "OnP1Rwo6J3g", + "url": "https://music.youtube.com/watch?v=OnP1Rwo6J3g" + }, + { + "title": "Kh\u00f4ng Bu\u00f4ng (Orinn Remix) - Hngle ft. Ari | Em V\u1eabn C\u00f2n Nh\u1edb Nh\u1eefng L\u1ea7n M\u00ecnh \u0110\u00e3 H\u1ee9a H\u1eb9n Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/1VQJjTTOP1A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nRp0XSAF5QFlOOhgs6qwOAYWns0w", + "id": "1VQJjTTOP1A", + "url": "https://music.youtube.com/watch?v=1VQJjTTOP1A" + }, + { + "title": "Y\u00eau M\u1ed9t Ng\u01b0\u1eddi V\u00f4 T\u00e2m (Orinn Remix) - JK Cover | Nh\u00ecn L\u1ea1i Ng\u01b0\u1eddi Con G\u00e1i Anh T\u1eebng R\u1ea5t N\u00e2ng Niu Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/f1AFikMfiGU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m0FaKMIqBOZ9QFr-iR_2u1KeyCFg", + "id": "f1AFikMfiGU", + "url": "https://music.youtube.com/watch?v=f1AFikMfiGU" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 \u0110\u1ebfn Cu\u1ed1i C\u00f9ng (Orinn Remix) - Marcus | Ch\u1eb3ng Th\u1ec3 Tin \u0110\u1ebfn Cu\u1ed1i C\u00f9ng Ng\u01b0\u1eddi Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/5o06Vu6FCdE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nrBQbKErOwEciR6VqbjGuay6ek9Q", + "id": "5o06Vu6FCdE", + "url": "https://music.youtube.com/watch?v=5o06Vu6FCdE" + }, + { + "title": "Bi\u1ebft T\u00ecm \u0110\u00e2u (Orinn Remix) - Nguy\u1ec5n Th\u1ea1c B\u1ea3o Ng\u1ecdc | T\u1eebng Ng\u00e0y D\u00e0i C\u00f2n L\u1ea1i M\u1ed9t M\u00ecnh N\u01a1i \u0110\u00e2y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/z4I_3-YpuT4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nVddvTx3vNIUi6n08LrV5Ixr7HBQ", + "id": "z4I_3-YpuT4", + "url": "https://music.youtube.com/watch?v=z4I_3-YpuT4" + }, + { + "title": "Anh Ch\u1ec9 L\u00e0 Ng\u01b0\u1eddi Thay Th\u1ebf (Orinn Remix) - Anh Khoa Cover | You're Not My Girl Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/KSqQft_jffo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k011lJeuMRMEtoqTmsW2ywrHFcHw", + "id": "KSqQft_jffo", + "url": "https://music.youtube.com/watch?v=KSqQft_jffo" + }, + { + "title": "Khoan Thai (Orinn Remix) - Kh\u1ea3i \u0110\u0103ng| N\u01a1i N\u00e0o Cho Con Tim Ngu\u00f4i Ngoai Bao Tr\u00f4ng Gai Ngang Tr\u00e1i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/_7QenLZW3tM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k5uSrarimjPVeQmo6C2wEB8i00Qw", + "id": "_7QenLZW3tM", + "url": "https://music.youtube.com/watch?v=_7QenLZW3tM" + }, + { + "title": "Gi\u1edd Th\u00ec Remix Hay Nh\u1ea5t - buitruonglinh | Gi\u1edd th\u00ec m\u00ecnh \u0111\u00e3 kh\u00f4ng c\u00f2n th\u01b0\u01a1ng Remix TikTok G\u00e2y B\u00e3o", + "artist": "Orinn Mix", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/c_mplIrs8RE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m7Nprk0q1pKKvOj5yjF0oJ7ibjXw", + "id": "c_mplIrs8RE", + "url": "https://music.youtube.com/watch?v=c_mplIrs8RE" + }, + { + "title": "Anh Y\u00eau V\u1ed9i Th\u1ebf Remix TikTok - Lala Tr\u1ea7n | Anh Y\u00eau V\u1ed9i Th\u1ebf C\u1ee9 Th\u00edch Bu\u00f4ng L\u1eddi Tr\u00eau \u0110\u00f9a Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/oSJgcxZWEpE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mPAG1KIYbOmU8cyB-iZ0Qgg1IKsA", + "id": "oSJgcxZWEpE", + "url": "https://music.youtube.com/watch?v=oSJgcxZWEpE" + }, + { + "title": "Su\u00fdt N\u1eefa Th\u00ec (Orinn Remix) - Andiez | Su\u00fdt N\u1eefa Th\u00ec Ta C\u00f3 Th\u1ec3 Th\u1ea5y \u0110\u01b0\u1ee3c Ng\u01b0\u1eddi M\u00ecnh Mu\u1ed1n Th\u1ea5y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/Y6TCvxNwUvo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k16RdUAs93y1tSQdHHNM9FVVFGiA", + "id": "Y6TCvxNwUvo", + "url": "https://music.youtube.com/watch?v=Y6TCvxNwUvo" + }, + { + "title": "\u0110\u01b0\u1eddng T\u00f4i Ch\u1edf Em V\u1ec1 (Orinn Remix) - Buitruonglinh | Xe \u0110\u1ea1p L\u00e1ch C\u00e1ch T\u00f4i V\u1eabn Ch\u01b0a Quen Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/mUaHopgvT0Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqyvUDkYGQcxp3miRseSRo2WZMuA", + "id": "mUaHopgvT0Q", + "url": "https://music.youtube.com/watch?v=mUaHopgvT0Q" + }, + { + "title": "Th\u01b0\u01a1ng Th\u1ea7m Remix TikTok - NB3 Ho\u00e0i B\u1ea3o x Orinn | M\u01b0a Ho\u00e0i R\u01a1i M\u00e3i B\u00ean Hi\u00ean Nh\u00e0 V\u1eafng Tanh Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/zGAgnxjfJc0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ky6FYhlqqVkVK-ebNHUuMqTt9GcA", + "id": "zGAgnxjfJc0", + "url": "https://music.youtube.com/watch?v=zGAgnxjfJc0" + }, + { + "title": "D\u00f9 Cho Mai V\u1ec1 Sau (Orinn Remix) - Buitruonglinh | D\u00f9 Cho Mai V\u1ec1 Sau M\u00ecnh Kh\u00f4ng B\u00ean C\u1ea1nh Nhau", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/tQ9DIdfGLqw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nEKPBcZUqQFoFHKUigxnj0hElIeQ", + "id": "tQ9DIdfGLqw", + "url": "https://music.youtube.com/watch?v=tQ9DIdfGLqw" + }, + { + "title": "Bi\u1ebft N\u00f3i L\u00e0 T\u1ea1i Sao Remix - Kh\u1eafc Vi\u1ec7t | JK Cover x Orinn | Gi\u1eefa Hai Ta L\u00e0 G\u00ec \u0110\u00e2y Anh \u01a0i Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 228, + "cover_url": "https://i.ytimg.com/vi/rrVt-tFh0OU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kfxd0CaUYVvGJCv2EyXiA6BTpzLw", + "id": "rrVt-tFh0OU", + "url": "https://music.youtube.com/watch?v=rrVt-tFh0OU" + }, + { + "title": "Em G\u00e1i M\u01b0a (Orinn Remix) - JK Cover | L\u1ea7n \u0110\u1ea7u G\u1eb7p Nhau D\u01b0\u1edbi M\u01b0a Tr\u00e1i Tim R\u1ed9n R\u00e0ng B\u1edfi \u00c1nh Nh\u00ecn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 333, + "cover_url": "https://i.ytimg.com/vi/j-knkXX_coY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mE35aJgBto599TdSOvnDr5gtAGcA", + "id": "j-knkXX_coY", + "url": "https://music.youtube.com/watch?v=j-knkXX_coY" + }, + { + "title": "Anh Vui (Orinn Remix) - Ph\u1ea1m K\u1ef3 | Anh Vui \u0110\u1ebfn N\u1ed7i Ngh\u1eb9n Ng\u00e0o Remix Hot TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/WSRWjgQpB7I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m4KwoDOy-A4BeRffniPGkO7q6xXg", + "id": "WSRWjgQpB7I", + "url": "https://music.youtube.com/watch?v=WSRWjgQpB7I" + }, + { + "title": "B\u00f4ng Hoa N\u1edf Mu\u1ed9n (Orinn Remix) - Hana C\u1ea9m Ti\u00ean ft Kh\u00e1nh Trung | C\u1ea3 \u0110\u1eddi Anh Kh\u00f4ng D\u00e1m M\u01a1 Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/3YYgUEAj8C8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kM84ukUMaG-18O2KbAY2g0XukuGQ", + "id": "3YYgUEAj8C8", + "url": "https://music.youtube.com/watch?v=3YYgUEAj8C8" + }, + { + "title": "Em Mu\u1ed1n T\u1ef1 Do Remix - Du Uy\u00ean x Th\u01b0\u1edfng | Em Bi\u1ebft Chuy\u1ec7n M\u00ecnh R\u1ed3i S\u1ebd K\u1ebft Th\u00fac T\u1eeb \u0110\u00e2y Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 236, + "cover_url": "https://i.ytimg.com/vi/H_11_5ZVUsM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kKBYrfL7bXF9S4NkCBA2tftsOiQg", + "id": "H_11_5ZVUsM", + "url": "https://music.youtube.com/watch?v=H_11_5ZVUsM" + }, + { + "title": "Say Yes (Orinn Remix) - OgeNus x PiaLinh | G\u1eedi V\u00e0o Gi\u00f3 \u01af\u1edbc Mu\u1ed1n Gi\u1eef M\u00e3i Trong L\u00f2ng Ch\u1eb3ng D\u00e1m N\u00f3i Ra", + "artist": "Orinn Mix", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/sGN2tKyYWKU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nacBTAK1omLX8xY9YMswATnJvqCA", + "id": "sGN2tKyYWKU", + "url": "https://music.youtube.com/watch?v=sGN2tKyYWKU" + }, + { + "title": "Th\u01b0\u01a1ng Th\u1ea7m (Orinn Remix) - NB3 Ho\u00e0i B\u1ea3o | Nh\u1ea1c Remix TikTok Tri\u1ec7u View Hay Nh\u1ea5t 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/tR0HXTtH5cw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZcQqZetIRgBX5VYCQlPlEvBJLGQ", + "id": "tR0HXTtH5cw", + "url": "https://music.youtube.com/watch?v=tR0HXTtH5cw" + }, + { + "title": "L\u1eb7ng Th\u1ea7m (Orinn Remix) - JK Cover | Enh S\u1ebd M\u00e3i M\u00e3i L\u1eb7ng Th\u1ea7m Khi B\u00f3ng D\u00e1ng \u1ea4y \u0110\u00e3 Xa X\u0103m Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 217, + "cover_url": "https://i.ytimg.com/vi/-DjuCWY4wt8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l67dcKKeOul9P8-OZtGrq3Ay_9lA", + "id": "-DjuCWY4wt8", + "url": "https://music.youtube.com/watch?v=-DjuCWY4wt8" + }, + { + "title": "L\u1eb7ng Th\u1ea7m M\u1ed9t T\u00ecnh Y\u00eau (Orinn Remix) - Ruby Cover | Khi N\u1eafng Phai Nh\u1ea1t Cu\u1ed1i S\u00e2n Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/z9YUTxvXknA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3llekzOLsHYZYacayLkFXFKjcViQw", + "id": "z9YUTxvXknA", + "url": "https://music.youtube.com/watch?v=z9YUTxvXknA" + }, + { + "title": "\u00c1nh Tr\u0103ng Bu\u1ed3n (Orinn Remix) - Thanh Thu\u1eadn |Vi\u1ec7t Anh Cover|\u00c1nh Tr\u0103ng \u01a0i Sao Bu\u1ed3n L\u1ebb Loi Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 252, + "cover_url": "https://i.ytimg.com/vi/LJaOIrPrf2Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nRoYHPOHibWHlqy0RdPJMla7zo_g", + "id": "LJaOIrPrf2Y", + "url": "https://music.youtube.com/watch?v=LJaOIrPrf2Y" + }, + { + "title": "Anh Y\u00eau V\u1ed9i Th\u1ebf (Orinn Remix) - Lala Tr\u1ea7n | Anh Y\u00eau V\u1ed9i Th\u1ebf C\u1ee9 Th\u00edch Bu\u00f4ng L\u1eddi Tr\u00eau \u0110\u00f9a Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/Xo_Z81Myh5M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l8i3A4Yc3HiRqOcXQw3YrufcCmJg", + "id": "Xo_Z81Myh5M", + "url": "https://music.youtube.com/watch?v=Xo_Z81Myh5M" + }, + { + "title": "Anh Kh\u00e1c Hay Em Kh\u00e1c (Orinn Remix) - Vi\u1ec7t Anh Cover | C\u00f3 Ph\u1ea3i Em H\u1ebft Y\u00eau Anh R\u1ed3i Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/-Zj1bRnmyok/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lO1lqRtXv2_BXyCqyg659irxVzRg", + "id": "-Zj1bRnmyok", + "url": "https://music.youtube.com/watch?v=-Zj1bRnmyok" + }, + { + "title": "S\u1ef1 Th\u1eadt Sau M\u1ed9t L\u1eddi H\u1ee9a (Orinn Remix) - JK Cover | H\u00e3y Im L\u1eb7ng Anh Nh\u00e9 Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 239, + "cover_url": "https://i.ytimg.com/vi/otjfxVVO9wY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mX_SMtTHmYXRBq5bxC5pxYW-RtdQ", + "id": "otjfxVVO9wY", + "url": "https://music.youtube.com/watch?v=otjfxVVO9wY" + }, + { + "title": "M\u01b0a R\u01a1i V\u00e0o Ph\u00f2ng Remix (B\u1ea3n Hot TikTok) - Kh\u1edfi My x Orinn | B\u1ea7u Tr\u1eddi \u1ea4y N\u01a1i Xa Th\u1ebf N\u00e0o R\u1ed3i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 196, + "cover_url": "https://i.ytimg.com/vi/6WuaXm_EsLw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n5N61Z2gxlm-ve91Np1rblQAEKCA", + "id": "6WuaXm_EsLw", + "url": "https://music.youtube.com/watch?v=6WuaXm_EsLw" + }, + { + "title": "Bi\u1ebft T\u00ecm \u0110\u00e2u (Orinn Remix) - Nguy\u1ec5n Th\u1ea1c B\u1ea3o Ng\u1ecdc | T\u1eebng Ng\u00e0y D\u00e0i C\u00f2n L\u1ea1i M\u1ed9t M\u00ecnh N\u01a1i \u0110\u00e2y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/MNQNDLpB_zA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nK6Pwb6mRFZ6cZ4G76xLb5EKLtsw", + "id": "MNQNDLpB_zA", + "url": "https://music.youtube.com/watch?v=MNQNDLpB_zA" + }, + { + "title": "Em Nh\u1edb Anh Remix TikTok - Ruby Cover x Orinn | N\u1ed7i Nh\u1edb Tr\u00e0n V\u1ec1 Quanh \u0110\u00e2y Khi\u1ebfn Kh\u00f3e Mi Em Th\u00eam Cay", + "artist": "Orinn Mix", + "album": "Single", + "duration": 218, + "cover_url": "https://i.ytimg.com/vi/9NU-Opz3kiQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lowGSilCWhnHWgEUpOtaiEQwGqGg", + "id": "9NU-Opz3kiQ", + "url": "https://music.youtube.com/watch?v=9NU-Opz3kiQ" + }, + { + "title": "Qu\u00ean Ng\u01b0\u1eddi \u0110\u00e3 Qu\u00e1 Y\u00eau Remix - H\u00e0 Duy Th\u00e1i x Orinn | \u0110\u00e3 Qu\u00e1 Xa V\u1eddi Con \u0110\u01b0\u1eddng Anh \u0110i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/LuFchzGAC_E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k1P8sWzI-7LY3aBA-I7HVUWKVAXQ", + "id": "LuFchzGAC_E", + "url": "https://music.youtube.com/watch?v=LuFchzGAC_E" + }, + { + "title": "Qu\u00ean Ng\u01b0\u1eddi \u0110\u00e3 Qu\u00e1 Y\u00eau (Orinn Remix) - H\u00e0 Duy Th\u00e1i | \u0110\u00e3 Qu\u00e1 Xa V\u1eddi Con \u0110\u01b0\u1eddng Anh \u0110i Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/gCxlhq3pd9A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSsUxHtHr_xZalhqCIEPVSUosi0Q", + "id": "gCxlhq3pd9A", + "url": "https://music.youtube.com/watch?v=gCxlhq3pd9A" + }, + { + "title": "C\u1ea7u V\u1ed3ng Khuy\u1ebft (Orinn Remix) - JK Cover | \u0110\u00e3 Khuya R\u1ed3i V\u1eabn R\u1ed3i \u0110\u1ebfm Sao Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 205, + "cover_url": "https://i.ytimg.com/vi/gQSzQN082kQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEQI5ayAJ-eVBJQ5PJkWvwPNzRxg", + "id": "gQSzQN082kQ", + "url": "https://music.youtube.com/watch?v=gQSzQN082kQ" + }, + { + "title": "T\u00e2m Tr\u00ed Lang Thang Remix TikTok - \u00c1nh S\u00e1ng AZA x Negav x Orinn |\u03f9on Tim Em V\u1eabn Lu\u00f4n Mu\u1ed1n Y\u00eau Nh\u01b0 N\u00e0\u0443", + "artist": "Orinn Mix", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/ZGmtFsqnxsM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_7Wkvs7fSv8ur0H_rsV7MI8O-4g", + "id": "ZGmtFsqnxsM", + "url": "https://music.youtube.com/watch?v=ZGmtFsqnxsM" + }, + { + "title": "C\u01a1 H\u1ed9i Cu\u1ed1i Remix TikTok - An V\u0169 x Orinn | N\u01b0\u1edbc M\u1eaft Anh L\u1ea1i R\u01a1i V\u00ec Em \u0110\u1ea5y Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 239, + "cover_url": "https://i.ytimg.com/vi/syT9co4aEM0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m457KT8Ixj8ETiYkO1-VEs5bz0CA", + "id": "syT9co4aEM0", + "url": "https://music.youtube.com/watch?v=syT9co4aEM0" + }, + { + "title": "Phim Ba Ng\u01b0\u1eddi (Orinn Remix) - Nguy\u1ec5n V\u0129 | T\u01b0\u1edfng Ch\u1eebng Trong Phim Nh\u01b0ng Ng\u1edd \u0110\u00e2u Ngay Tr\u01b0\u1edbc M\u1eaft Ta", + "artist": "Orinn Mix", + "album": "Single", + "duration": 215, + "cover_url": "https://i.ytimg.com/vi/Cb20q3ljsxI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nXlyNLKYpd5wj-1VX8iC-nGy71kA", + "id": "Cb20q3ljsxI", + "url": "https://music.youtube.com/watch?v=Cb20q3ljsxI" + }, + { + "title": "Em Nh\u1edb Anh Remix - Ruby Cover x Orinn | N\u1ed7i Nh\u1edb Tr\u00e0n V\u1ec1 Quanh \u0110\u00e2y Khi\u1ebfn Kh\u00f3e Mi Em Th\u00eam Cay Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/CY-q4-tuRC0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lD32G6FB655-l9iBSNHVzqejF6xg", + "id": "CY-q4-tuRC0", + "url": "https://music.youtube.com/watch?v=CY-q4-tuRC0" + }, + { + "title": "Mu\u1ed1n Cua Anh L\u00e0m B\u1ed3 Remix - D\u01b0\u01a1ng \u00c1i Vy x Sinike x Orinn | L\u1ea5y C\u00e2y Kim May \u0110\u1ed3 R\u1ed3i May C\u00e1i T\u00fai", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/qfrq5DzGEsI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nHYDe7w7giFCOZrehfw0CITFGmJw", + "id": "qfrq5DzGEsI", + "url": "https://music.youtube.com/watch?v=qfrq5DzGEsI" + }, + { + "title": "T\u00e2m Tr\u00ed Lang Thang Remix TikTok - \u00c1nh S\u00e1ng AZA x Negav x Orinn |\u03f9on Tim Em V\u1eabn Lu\u00f4n Mu\u1ed1n Y\u00eau Nh\u01b0 N\u00e0\u0443", + "artist": "Orinn Mix", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/gXMoVve6Nfs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lTsbrjHp-P55gVhQk9ubwk583Ryg", + "id": "gXMoVve6Nfs", + "url": "https://music.youtube.com/watch?v=gXMoVve6Nfs" + }, + { + "title": "D\u1ec5 Th\u01b0\u01a1ng (Orinn Remix) - Kh\u1edfi My | N\u1eafng Ban Mai R\u1ecdi V\u00e0o Ph\u00f2ng Khi Em Ng\u1ee7 Say Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 199, + "cover_url": "https://i.ytimg.com/vi/3URKJifDEog/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mAplf13FlXpav_R8w3Rsvo0ggyJg", + "id": "3URKJifDEog", + "url": "https://music.youtube.com/watch?v=3URKJifDEog" + }, + { + "title": "Em G\u00e1i M\u01b0a (Orinn Remix) - PYN Cover | L\u1ea7n \u0110\u1ea7u G\u1eb7p Nhau D\u01b0\u1edbi M\u01b0a Tr\u00e1i Tim R\u1ed9n R\u00e0ng B\u1edfi \u00c1nh Nh\u00ecn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 333, + "cover_url": "https://i.ytimg.com/vi/mHKp8jIK--g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nlPy44yBPaZlKVddO_VHrHn9-1Zw", + "id": "mHKp8jIK--g", + "url": "https://music.youtube.com/watch?v=mHKp8jIK--g" + }, + { + "title": "Ng\u1ed1c Remix - Kh\u1eafc Vi\u1ec7t | PYN x Orinn | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/p_x6mE7m-SI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m5zuC20rksVpKxxMC4SgVPT5Aniw", + "id": "p_x6mE7m-SI", + "url": "https://music.youtube.com/watch?v=p_x6mE7m-SI" + }, + { + "title": "\u0110\u00e2y L\u00e0 Vi\u1ec7t Nam Remix - Phan Duy Anh x Orinn | Vi\u1ec7t Nam Trong Ta \u01a0i C\u1edd Sao Ph\u1ea5p V\u1edbi Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ko2GsuoAVXk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kYcSFsktNGvkYgLRWD-YtYnBHXkg", + "id": "ko2GsuoAVXk", + "url": "https://music.youtube.com/watch?v=ko2GsuoAVXk" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 11, 2025", + "album": "1:03:22", + "duration": 3802, + "cover_url": "https://i.ytimg.com/vi/nTA-NpHtN2I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNe8X9W_b2TyKiheR5ducsa_B54A", + "id": "nTA-NpHtN2I", + "url": "https://music.youtube.com/watch?v=nTA-NpHtN2I" + }, + { + "title": "T\u1ea5t C\u1ea3 S\u1ebd Thay Em Remix - PYN | B\u00ecnh Minh \u0110\u00f3 N\u01a1i Ch\u00fang Ta \u0110\u00e3 T\u1ef1a \u0110\u1ea7u V\u00e0o Vai Nhau Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/KBcT7gCyNDk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n60t6rPRp6WAU6TroF-i0eajgg_Q", + "id": "KBcT7gCyNDk", + "url": "https://music.youtube.com/watch?v=KBcT7gCyNDk" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 10, 2025", + "album": "1:09:52", + "duration": 4192, + "cover_url": "https://i.ytimg.com/vi/lWA3vnxVIIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3myGxq4YDvExSPUI-KaOC-QisAfoQ", + "id": "lWA3vnxVIIY", + "url": "https://music.youtube.com/watch?v=lWA3vnxVIIY" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 Remix (Style Huy PT) - Anh Qu\u00e2n x Orinn | Xu\u00e2n Th\u00ec Ng\u01b0\u1eddi Con G\u00e1i Nh\u01b0 T\u00e1ch Tr\u00e0 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/sc_KouJ3Cfw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mG10NpCcooEj-jaQGQT3ew3Ria-g", + "id": "sc_KouJ3Cfw", + "url": "https://music.youtube.com/watch?v=sc_KouJ3Cfw" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 9, 2025", + "album": "1:07:43", + "duration": 4063, + "cover_url": "https://i.ytimg.com/vi/GC_g81xds84/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kd0TzSReeCYxViPXMdqVy2n30h_g", + "id": "GC_g81xds84", + "url": "https://music.youtube.com/watch?v=GC_g81xds84" + }, + { + "title": "Love is (Orinn Remix) - Dangrangto | Baby Anh Ch\u1eb3ng Mu\u1ed1n Ph\u1ea3i M\u1eafc Nh\u1eefng Sai L\u1ea7m Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/0hlBdmut-wM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8GeGmiVUssr7kaPiR6OTjwVJAmA", + "id": "0hlBdmut-wM", + "url": "https://music.youtube.com/watch?v=0hlBdmut-wM" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 8, 2025", + "album": "1:07:59", + "duration": 4079, + "cover_url": "https://i.ytimg.com/vi/lnI0DhEfcrQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nviQr9lc___ngFBY-Smb16eWtgDg", + "id": "lnI0DhEfcrQ", + "url": "https://music.youtube.com/watch?v=lnI0DhEfcrQ" + }, + { + "title": "Em Mu\u1ed1n T\u1ef1 Do Remix - Du Uy\u00ean x Th\u01b0\u1edfng x Orinn | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/AEA7y9pLNTI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ0JwoVBdvLbbiH-ywnDpSCk0RQw", + "id": "AEA7y9pLNTI", + "url": "https://music.youtube.com/watch?v=AEA7y9pLNTI" + }, + { + "title": "B\u00ecnh Y\u00ean Nh\u00e9 Remix - Kh\u1eafc Vi\u1ec7t | JK Cover x Orinn | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/V4RAmjEvAYo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m-RAIoXZS_nzXRqfKwvgveWa0xkQ", + "id": "V4RAmjEvAYo", + "url": "https://music.youtube.com/watch?v=V4RAmjEvAYo" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 6, 2025", + "album": "1:03:19", + "duration": 3799, + "cover_url": "https://i.ytimg.com/vi/irbNqhbzp1E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nXb25msholYUgflxJaCXb6tWwVXQ", + "id": "irbNqhbzp1E", + "url": "https://music.youtube.com/watch?v=irbNqhbzp1E" + }, + { + "title": "D\u1ea5u M\u01b0a Remix - Ph\u1ea1m To\u00e0n Th\u1eafng | Marcus Cover x Orinn | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 239, + "cover_url": "https://i.ytimg.com/vi/ZCCCwWMGFrs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfxX7QbCyHmYUgG5BlTvMvu7gq0w", + "id": "ZCCCwWMGFrs", + "url": "https://music.youtube.com/watch?v=ZCCCwWMGFrs" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 5, 2025", + "album": "1:08:54", + "duration": 4134, + "cover_url": "https://i.ytimg.com/vi/ws47dR3FAZg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lBm6x6qjT1EJvpjsuaia2Dxf1R1g", + "id": "ws47dR3FAZg", + "url": "https://music.youtube.com/watch?v=ws47dR3FAZg" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 7, 2025", + "album": "1:08:56", + "duration": 4136, + "cover_url": "https://i.ytimg.com/vi/UuxvEa_SUpo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfVxWWYc6YI-5xe3I3aR4VrF6PQ", + "id": "UuxvEa_SUpo", + "url": "https://music.youtube.com/watch?v=UuxvEa_SUpo" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 4, 2025", + "album": "1:08:02", + "duration": 4082, + "cover_url": "https://i.ytimg.com/vi/DxRUUFJPi0g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nf94tEDlolPu-nUM_rcagefr9F8g", + "id": "DxRUUFJPi0g", + "url": "https://music.youtube.com/watch?v=DxRUUFJPi0g" + }, + { + "title": "T\u00e2m Tr\u00ed Lang Thang (Orinn Remix) - \u00c1nh S\u00e1ng AZA x Negav | \u03f9on Tim Em V\u1eabn Lu\u00f4n Mu\u1ed1n Y\u00eau Nh\u01b0 N\u00e0\u0443", + "artist": "Orinn Mix", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/0x8qwaac8Ds/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNdLluI4uoN4Zo89Blbk27Hkv70g", + "id": "0x8qwaac8Ds", + "url": "https://music.youtube.com/watch?v=0x8qwaac8Ds" + }, + { + "title": "V\u00ec Ng\u01b0\u1eddi Kh\u00f4ng X\u1ee9ng \u0110\u00e1ng Remix - Nguy\u1ec5n H\u1ed3ng Thu\u1eadn | JK Cover x Orinn | Nh\u1ea1c Remix TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/6CFjsFe3oXE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nVgEHtwP-UeG7S0_ZTA3GyuOjx0Q", + "id": "6CFjsFe3oXE", + "url": "https://music.youtube.com/watch?v=6CFjsFe3oXE" + }, + { + "title": "T\u00e2m Tr\u00ed Lang Thang Remix - \u00c1nh S\u00e1ng AZA x Negav x Orinn | \u03f9on Tim Em V\u1eabn Lu\u00f4n Mu\u1ed1n Y\u00eau Nh\u01b0 N\u00e0\u0443 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/Pr9PW6F6Fgk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ne_WoNLDHYv3ula6R5-CmdyNj-9g", + "id": "Pr9PW6F6Fgk", + "url": "https://music.youtube.com/watch?v=Pr9PW6F6Fgk" + }, + { + "title": "Nh\u01b0 Anh \u0110\u00e3 Th\u1ea5y Em Remix - Ph\u00fac Xp | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/cV6mxNBN-m4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkltYo9RgVQZph6owJRVa6wLkGVg", + "id": "cV6mxNBN-m4", + "url": "https://music.youtube.com/watch?v=cV6mxNBN-m4" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Aug 1, 2025", + "album": "1:07:29", + "duration": 4049, + "cover_url": "https://i.ytimg.com/vi/2KiraI3ADsk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3miOAUUhwDprcd0OvgrKNl0HjRDEg", + "id": "2KiraI3ADsk", + "url": "https://music.youtube.com/watch?v=2KiraI3ADsk" + }, + { + "title": "Anh Vui Remix TikTok - Ph\u1ea1m K\u1ef3 x Orinn | Anh Vui \u0110\u1ebfn N\u1ed7i Ngh\u1eb9n Ng\u00e0o Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/AAf34YWdWu4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n-Ldd-UqtGeRX1lpBWTH1tv5ISKw", + "id": "AAf34YWdWu4", + "url": "https://music.youtube.com/watch?v=AAf34YWdWu4" + }, + { + "title": "NH\u1ea0C REMIX TIKTOK TRI\u1ec6U VIEW - BXH Nh\u1ea1c Tr\u1ebb Remix Hay Nh\u1ea5t Hi\u1ec7n Nay - Top 20 Nh\u1ea1c TikTok Hay 2025", + "artist": "Jul 31, 2025", + "album": "1:08:42", + "duration": 4122, + "cover_url": "https://i.ytimg.com/vi/AIaZf5pBlO0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLPt8PBZnq05tIZSyfMUrETQtygg", + "id": "AIaZf5pBlO0", + "url": "https://music.youtube.com/watch?v=AIaZf5pBlO0" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 T\u00ecm \u0110\u01b0\u1ee3c Em (Orinn Remix) - Ph\u00fac Xp | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/50NcWya6X4Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nxwF-1ZafMooTMDr-3QOoLVQiebQ", + "id": "50NcWya6X4Y", + "url": "https://music.youtube.com/watch?v=50NcWya6X4Y" + }, + { + "title": "D\u1ec5 Th\u01b0\u01a1ng Remix - Kh\u1edfi My x Orinn | N\u1eafng Ban Mai R\u1ecdi V\u00e0o Ph\u00f2ng Khi Em Ng\u1ee7 Say Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/eBykk2-vMCc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqB8QcdWesPtwyWEUidsGd0H4HCA", + "id": "eBykk2-vMCc", + "url": "https://music.youtube.com/watch?v=eBykk2-vMCc" + }, + { + "title": "Chong \u0110\u00e8n Canh Th\u00e2u Remix - Trungg I.U x Orinn | Ng\u01b0\u1eddi \u0110\u1eddi Th\u01b0\u1eddng B\u1ea3o T\u00ecnh M\u00e0u Phai Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 343, + "cover_url": "https://i.ytimg.com/vi/9g_s-O5_w3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxoFfb6KKAp6Pnknwz8AyAIcCOAw", + "id": "9g_s-O5_w3E", + "url": "https://music.youtube.com/watch?v=9g_s-O5_w3E" + }, + { + "title": "MASHUP 2 IN 1 - Anh Vui x \u0110\u1ecba Ng\u1ee5c Tr\u1ea7n Gian Remix | Ph\u1ea1m K\u1ef3 x Orinn", + "artist": "Orinn Mix", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/jMcND8fTfgg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mH-v0rEDsaS6fYYGkE_JlryHs1kg", + "id": "jMcND8fTfgg", + "url": "https://music.youtube.com/watch?v=jMcND8fTfgg" + }, + { + "title": "Wrong Times Remix - Puppy x Dangrangto x Orinn | 350 X\u00e9 \u0110\u00f4i C\u01a1n \u0110au Kia S\u1ebd Ngu\u00f4i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/slrkLmZm2V8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mwMTW-ELYMRzZtidJdlHMBcEIf5Q", + "id": "slrkLmZm2V8", + "url": "https://music.youtube.com/watch?v=slrkLmZm2V8" + }, + { + "title": "Xin M\u00f4t \u0110\u00eam Y\u00eau Em Remix - Lan Vy Cover x Orinn | V\u1eady Th\u00ec Em Xin Cho M\u1ed9t \u0110\u00eam U T\u1ed1i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/J0UPwkX56fk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kVzRxNvEyDbkVnP3Du8YUJAM4e0A", + "id": "J0UPwkX56fk", + "url": "https://music.youtube.com/watch?v=J0UPwkX56fk" + }, + { + "title": "Ch\u1eb3ng Th\u1ec3 T\u00ecm \u0110\u01b0\u1ee3c Em Remix - Ph\u00fac Xp x Orinn | Ng\u00e0n L\u1ea7n Anh Y\u1ebfu \u0110u\u1ed1i Ng\u00e0n L\u1ea7n \u0110\u1ec3 N\u01b0\u1edbc M\u1eaft R\u01a1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/ZF22VK8Lwh8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kl5zaXR19w4jT14OsYgVV24-p9Bw", + "id": "ZF22VK8Lwh8", + "url": "https://music.youtube.com/watch?v=ZF22VK8Lwh8" + }, + { + "title": "Nh\u01b0 Anh \u0110\u00e3 Th\u1ea5y Em (Orinn Remix) - Ph\u00fac Xp |V\u1eady N\u00ean Xo\u00e1 H\u1ebft \u0110i Nh\u1eefng Phi\u1ec1n Lo \u0110ang B\u00f9a V\u00e2y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/BOBy-Ysq4ik/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m5FpG92SE8PWr2NJ00dIiffwi5-A", + "id": "BOBy-Ysq4ik", + "url": "https://music.youtube.com/watch?v=BOBy-Ysq4ik" + }, + { + "title": "M\u01b0a R\u01a1i V\u00e0o Ph\u00f2ng Remix - Kh\u1edfi My x Orinn | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/3hVNFEj1pBg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ktAkhmQjKEoi8GxxHTjboC9Kjffw", + "id": "3hVNFEj1pBg", + "url": "https://music.youtube.com/watch?v=3hVNFEj1pBg" + }, + { + "title": "T\u01b0\u01a1ng T\u01b0 N\u00e0ng Ca S\u0129 Remix - Ruby Cover x Orinn | G\u1eb7p Em T\u1eeb Bu\u1ed5i Xem Nh\u1ea1c Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 198, + "cover_url": "https://i.ytimg.com/vi/JjtM_QRergI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m_c_PM85wUOrrNK_tLEZaWq1vFPw", + "id": "JjtM_QRergI", + "url": "https://music.youtube.com/watch?v=JjtM_QRergI" + }, + { + "title": "\u0110\u1ed5i T\u00ecnh \u0110\u1ed5i \u00c1o \u0110\u1ed5i Anh Remix TikTok - Th\u00e0nh \u0110\u1ea1t | Anh Ta V\u1ed1n D\u0129 Gi\u00e0u Sang C\u00f2n Anh Th\u00ec Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/OssqOpUUQvo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mSowXcRX0p6zPravfRnDOO6pXlKg", + "id": "OssqOpUUQvo", + "url": "https://music.youtube.com/watch?v=OssqOpUUQvo" + }, + { + "title": "N\u1eb1m B\u00ean Anh (Orinn Remix) - Marcus Cover | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/gPcO593RPQ0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkLVuGzh7P5g7ZmnOfuwq1BpllXQ", + "id": "gPcO593RPQ0", + "url": "https://music.youtube.com/watch?v=gPcO593RPQ0" + }, + { + "title": "N\u1eb1m B\u00ean Anh Remix - Marcus Cover x Orinn | V\u00e0 Khi \u00d4ng Tr\u1eddi \u0110ang Y\u00ean Gi\u1ea5c Say Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/AvLDcy4jkkA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lDRgdw1E8shUvy0i75mlMhkk9PwA", + "id": "AvLDcy4jkkA", + "url": "https://music.youtube.com/watch?v=AvLDcy4jkkA" + }, + { + "title": "T\u01b0\u1edbng Qu\u00e2n Remix - Nh\u1eadt Phong | R\u01b0\u1ee3u S\u1ea7u N\u00e2ng Su\u1ed1t \u0110\u00eam Cho Qu\u00ean \u0110i Ng\u00e0y Th\u00e1ng U Bu\u1ed3n Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/ELIf4P0gmHA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mtUPH2acLbM7CTxEcCFt72iA3jQA", + "id": "ELIf4P0gmHA", + "url": "https://music.youtube.com/watch?v=ELIf4P0gmHA" + }, + { + "title": "V\u00ec Ng\u01b0\u1eddi Kh\u00f4ng X\u1ee9ng \u0110\u00e1ng (Orinn Remix) - JK Cover | Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/DcS1dpEgAgc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n-F1_NmVAKI2ztMywzFvA6yjrZwQ", + "id": "DcS1dpEgAgc", + "url": "https://music.youtube.com/watch?v=DcS1dpEgAgc" + }, + { + "title": "T\u1eebng L\u00e0 Remix - V\u0169 C\u00e1t T\u01b0\u1eddng | Marcus x Orinn| Nh\u1ea1c Remix Tri\u1ec7u View TikTok Orinn Mix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/cwm0ub0lOE4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mchscu-Ikc_WcnXgUl2_vFUkU0VQ", + "id": "cwm0ub0lOE4", + "url": "https://music.youtube.com/watch?v=cwm0ub0lOE4" + }, + { + "title": "Tr\u00f3t Y\u00eau Remix - \u00c1i Ph\u01b0\u01a1ng | V\u01b0\u01a1ng S\u01a1n Cover | Ng\u01b0\u1eddi N\u00f3i Y\u00eau Anh \u0110i Ng\u01b0\u1eddi N\u00f3i Thu\u01a1ng Anh \u0110i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/HPIUlAUZAXM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfIA526uWth5P1Hregs7XBxLzplg", + "id": "HPIUlAUZAXM", + "url": "https://music.youtube.com/watch?v=HPIUlAUZAXM" + }, + { + "title": "N\u1eafng D\u01b0\u1edbi Ch\u00e2n M\u00e2y (Orinn Remix) - Nguy\u1ec5n H\u1eefu Kha | Tr\u1ea3 L\u1ea1i Em Nh\u1eefng N\u1ed7i Bu\u1ed3n Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/AyRvIOT0-zQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZhgrv3c6HkYpoVeYvlAirnJ8gUw", + "id": "AyRvIOT0-zQ", + "url": "https://music.youtube.com/watch?v=AyRvIOT0-zQ" + }, + { + "title": "C\u01a1 H\u1ed9i Cu\u1ed1i Remix - An V\u0169 x Orinn x QZ | N\u01b0\u1edbc M\u1eaft Anh L\u1ea1i R\u01a1i V\u00ec Em \u0110\u1ea5y Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/KWr9731KAxk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nidgDWjzYDbkkep9uoGOAdSX-2Kw", + "id": "KWr9731KAxk", + "url": "https://music.youtube.com/watch?v=KWr9731KAxk" + }, + { + "title": "N\u1eafng D\u01b0\u1edbi Ch\u00e2n M\u00e2y Remix TikTok - Nguy\u1ec5n H\u1eefu Kha x Orinn | Tr\u1ea3 L\u1ea1i Em Nh\u1eefng N\u1ed7i Bu\u1ed3n Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/IobMnWI42nM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lvCzDL_AEHfQ24JQTKoBXSRuexyQ", + "id": "IobMnWI42nM", + "url": "https://music.youtube.com/watch?v=IobMnWI42nM" + }, + { + "title": "T\u1eebng L\u00e0 Remix - V\u0169 C\u00e1t T\u01b0\u1eddng | Marcus x Orinn| T\u1eebng L\u00e0 Duy Nh\u1ea5t M\u1ed1i T\u00ecnh B\u00ecnh Y\u00ean \u0110\u1ed1i V\u1edbi Anh", + "artist": "Orinn Mix", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/RClxmjhBHOM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNN0xQdeuu9JvczgvZtF7I1Ty39A", + "id": "RClxmjhBHOM", + "url": "https://music.youtube.com/watch?v=RClxmjhBHOM" + }, + { + "title": "Ng\u01b0\u1eddi M\u00ecnh Th\u01b0\u01a1ng Kh\u00f4ng Th\u01b0\u01a1ng M\u00ecnh Remix - Anh Qu\u00e2n Idol x Orinn| Nh\u1ea1c Remix TikTok Tri\u1ec7u View 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/trZGczFFYxo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lArcfJlNrytiAb5PQ7nxsJDUgP3Q", + "id": "trZGczFFYxo", + "url": "https://music.youtube.com/watch?v=trZGczFFYxo" + }, + { + "title": "Ng\u01b0\u1eddi M\u00ecnh Th\u01b0\u01a1ng Kh\u00f4ng Th\u01b0\u01a1ng M\u00ecnh (Orinn Remix) - Anh Qu\u00e2n Idol | Nh\u1eb9 Nh\u00e0ng D\u1ea5u \u0110i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/eyWd5BOjBmY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lp06Ud6_l062o_KRes4V-50JWbGg", + "id": "eyWd5BOjBmY", + "url": "https://music.youtube.com/watch?v=eyWd5BOjBmY" + }, + { + "title": "T\u1eebng L\u00e0 Remix TikTok - V\u0169 C\u00e1t T\u01b0\u1eddng | Marcus x Orinn| T\u1eebng L\u00e0 Duy Nh\u1ea5t M\u1ed1i T\u00ecnh B\u00ecnh Y\u00ean \u0110\u1ed1i V\u1edbi Anh", + "artist": "Orinn Mix", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/-AqDxz-pNXY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNbtHgjjIx-StL12I9u93MvQbi1Q", + "id": "-AqDxz-pNXY", + "url": "https://music.youtube.com/watch?v=-AqDxz-pNXY" + }, + { + "title": "\u0110\u1ecba Ng\u1ee5c Tr\u1ea7n Gian (Orinn Remix) - Ph\u1ea1m K\u1ef3 | Nh\u1eefng C\u00e1nh Hoa R\u01a1i Theo D\u00f2ng N\u01b0\u1edbc M\u1eaft Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/Vm30w4-IUE8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mXHwzbKC30vcdgM0tyCg4-6IrOQQ", + "id": "Vm30w4-IUE8", + "url": "https://music.youtube.com/watch?v=Vm30w4-IUE8" + }, + { + "title": "\u0110\u1ecba Ng\u1ee5c Tr\u1ea7n Gian Remix TikTok - Ph\u1ea1m K\u1ef3 x Orinn | Nh\u1eefng C\u00e1nh Hoa R\u01a1i Theo D\u00f2ng N\u01b0\u1edbc M\u1eaft Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/xGO8S3W0L38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k0d2pXMqIL0RsPwZ-Lupz0o6c8MA", + "id": "xGO8S3W0L38", + "url": "https://music.youtube.com/watch?v=xGO8S3W0L38" + }, + { + "title": "Th\u01b0\u01a1ng Th\u1ea7m (Orinn Remix) - NB3 Ho\u00e0i B\u1ea3o | Nh\u1ea1c Remix TikTok Tri\u1ec7u View Hay Nh\u1ea5t 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/Pf6E_NVjY4U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kV8w_Lk6Dw1GsGtnW3oy2pPGB_zA", + "id": "Pf6E_NVjY4U", + "url": "https://music.youtube.com/watch?v=Pf6E_NVjY4U" + }, + { + "title": "C\u00f2n L\u1ea1i G\u00ec Sau C\u01a1n M\u01b0a Remix - B\u1ea3o Th\u1ea1ch | JK Cover x Orinn | Kh\u00f4ng C\u00f2n Kh\u00f4ng C\u00f2n Gi\u1eef L\u1ea5y Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/wJxXWljUqzU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k4NNEKXt373q7Fj7EqyC3trfZ4Wg", + "id": "wJxXWljUqzU", + "url": "https://music.youtube.com/watch?v=wJxXWljUqzU" + }, + { + "title": "Ng\u00f4i Nh\u00e0 H\u1ea1nh Ph\u00fac (Orinn Remix) - Thu\u1ef7 Ti\u00ean | Vi\u1ec7t Anh Cover | D\u1eabu Ch\u1ec9 L\u00e0 Gi\u1ea5c M\u01a1 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/B2CB4IyOBfw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8X-Jae00VRvuJeWmyPm4HCBrYlw", + "id": "B2CB4IyOBfw", + "url": "https://music.youtube.com/watch?v=B2CB4IyOBfw" + }, + { + "title": "M\u01b0a R\u01a1i V\u00e0o Ph\u00f2ng Remix TikTok - Kh\u1edfi My x Orinn | B\u1ea7u Tr\u1eddi \u1ea4y N\u01a1i Xa Th\u1ebf N\u00e0o R\u1ed3i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 196, + "cover_url": "https://i.ytimg.com/vi/0G4_Vuomu0k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ksKi-cyopDmZ_Rc6Dn0aT1xw5TbA", + "id": "0G4_Vuomu0k", + "url": "https://music.youtube.com/watch?v=0G4_Vuomu0k" + }, + { + "title": "D\u1ea5u M\u01b0a (Orinn Remix) - Ph\u1ea1m To\u00e0n Th\u1eafng | Marcus Cover | M\u1ed9t C\u01a1n M\u01b0a \u0110i Qua Remix TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/Iy5p7Hs2au0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m7lqXg5cUr9emJTlgpM0rHRBhUlQ", + "id": "Iy5p7Hs2au0", + "url": "https://music.youtube.com/watch?v=Iy5p7Hs2au0" + }, + { + "title": "Anh Y\u00eau V\u1ed9i Th\u1ebf (Orinn Remix) - Lala Tr\u1ea7n | Anh Y\u00eau V\u1ed9i Th\u1ebf C\u1ee9 Th\u00edch Bu\u00f4ng L\u1eddi Tr\u00eau \u0110\u00f9a Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 315, + "cover_url": "https://i.ytimg.com/vi/zqybZFxDJmI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lCpYvAxEf2nhtSUKkdX3oEVjCteQ", + "id": "zqybZFxDJmI", + "url": "https://music.youtube.com/watch?v=zqybZFxDJmI" + }, + { + "title": "Anh Vui Remix TikTok - Ph\u1ea1m K\u1ef3 x Orinn | Anh Vui \u0110\u1ebfn N\u1ed7i Ngh\u1eb9n Ng\u00e0o Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/1D8cvvysZU0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nvNqydjgKUPY6_vz3JSDFEA8UDlg", + "id": "1D8cvvysZU0", + "url": "https://music.youtube.com/watch?v=1D8cvvysZU0" + }, + { + "title": "D\u1ea5u M\u01b0a Remix - Ph\u1ea1m To\u00e0n Th\u1eafng | Marcus Cover x Orinn | M\u1ed9t C\u01a1n M\u01b0a \u0110i Qua Remix TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/HTO0nO8Lm7A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3koGzlLH8kVxI3ME_Df94PzLs4BFw", + "id": "HTO0nO8Lm7A", + "url": "https://music.youtube.com/watch?v=HTO0nO8Lm7A" + }, + { + "title": "Anh Vui (Orinn Remix) - Erin Cover | Em Vui \u0110\u1ebfn N\u1ed7i Ngh\u1eb9n Ng\u00e0o Remix Hot TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/cGC1TxFyVLA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mec1i1s-CPt4dmjGwDwCoBmJkKcA", + "id": "cGC1TxFyVLA", + "url": "https://music.youtube.com/watch?v=cGC1TxFyVLA" + }, + { + "title": "T\u1ea1m Bi\u1ec7t Nh\u00e9 Remix - Lynk Lee | ShayN x Orinn | S\u1ebd \u0110\u1ebfn L\u00fac Ph\u1ea3i N\u00f3i T\u1ea1m Bi\u1ec7t N\u01a1i \u0110\u00e2y Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/1D58ELpxkEs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k5hcRmx0z0UPk9TTcmdC9_TvVjkA", + "id": "1D58ELpxkEs", + "url": "https://music.youtube.com/watch?v=1D58ELpxkEs" + }, + { + "title": "Anh Y\u00eau V\u1ed9i Th\u1ebf Remix TikTok - Lala Tr\u1ea7n | Anh Y\u00eau V\u1ed9i Th\u1ebf C\u1ee9 Th\u00edch Bu\u00f4ng L\u1eddi Tr\u00eau \u0110\u00f9a Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/TWKNFmi81-k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lbRaBsSagVDW0SbC68ZcyRb9OzoQ", + "id": "TWKNFmi81-k", + "url": "https://music.youtube.com/watch?v=TWKNFmi81-k" + }, + { + "title": "Qu\u00ean Ng\u01b0\u1eddi \u0110\u00e3 Qu\u00e1 Y\u00eau Remix - H\u00e0 Duy Th\u00e1i x Orinn | \u0110\u00e3 Qu\u00e1 Xa V\u1eddi Con \u0110\u01b0\u1eddng Anh \u0110i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/COtp2MprgrM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n-aHfN5wmRPmd02Pg7iZWP06Zezw", + "id": "COtp2MprgrM", + "url": "https://music.youtube.com/watch?v=COtp2MprgrM" + }, + { + "title": "Qu\u00ean Ng\u01b0\u1eddi \u0110\u00e3 Qu\u00e1 Y\u00eau (Orinn Remix) - H\u00e0 Duy Th\u00e1i | \u0110\u00e3 Qu\u00e1 Xa V\u1eddi Con \u0110\u01b0\u1eddng Anh \u0110i Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/80ILFngtlEs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m9A1AxLZs_5Z0IWZjxkTanXv_JkQ", + "id": "80ILFngtlEs", + "url": "https://music.youtube.com/watch?v=80ILFngtlEs" + }, + { + "title": "Ch\u00fang Ta R\u1ed3i S\u1ebd H\u1ea1nh Ph\u00fac Remix TikTok - Jack x J97 x Orinn | Ph\u1ed1 X\u00e1 Mong Em \u1ede L\u1ea1i Tr\u00e1i Tim Em \u1ede L\u1ea1i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/uxkbg0wwkPE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mZ_cztAWcni6aFD8RLQ-uI2_1k8A", + "id": "uxkbg0wwkPE", + "url": "https://music.youtube.com/watch?v=uxkbg0wwkPE" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 Remix TikTok - Anh Qu\u00e2n x Orinn | Em B\u00e2y Gi\u1edd C\u00f3 H\u1ea1nh Ph\u00fac Kh\u00f4ng Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 237, + "cover_url": "https://i.ytimg.com/vi/b3yVsAwea68/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mxwXEvr19igVCsmXVp1Sr8AASyLA", + "id": "b3yVsAwea68", + "url": "https://music.youtube.com/watch?v=b3yVsAwea68" + }, + { + "title": "Ch\u00fang Ta R\u1ed3i S\u1ebd H\u1ea1nh Ph\u00fac (Orinn Remix) - Jack - J97 | Ph\u1ed1 X\u00e1 Mong Em \u1ede L\u1ea1i Tr\u00e1i Tim Em \u1ede L\u1ea1i Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/sVJv-Mt02Qs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lO20By_KMA-h2nUqfUsL2g1WlBjg", + "id": "sVJv-Mt02Qs", + "url": "https://music.youtube.com/watch?v=sVJv-Mt02Qs" + }, + { + "title": "C\u01a1 H\u1ed9i Cu\u1ed1i Remix TikTok - An V\u0169 x Orinn | N\u01b0\u1edbc M\u1eaft Anh L\u1ea1i R\u01a1i V\u00ec Em \u0110\u1ea5y Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 239, + "cover_url": "https://i.ytimg.com/vi/tiBbakHybP4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEyING8ekEf7E1j7rMtgRHyvU7rw", + "id": "tiBbakHybP4", + "url": "https://music.youtube.com/watch?v=tiBbakHybP4" + }, + { + "title": "C\u01a1 H\u1ed9i Cu\u1ed1i (Orinn Remix) - An V\u0169 | N\u01b0\u1edbc M\u1eaft Anh L\u1ea1i R\u01a1i V\u00ec Em \u0110\u1ea5y Remix Hot TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 201, + "cover_url": "https://i.ytimg.com/vi/5gAWUA_lB-M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqmlvtmSnTLth79PTy3yl8hreNZg", + "id": "5gAWUA_lB-M", + "url": "https://music.youtube.com/watch?v=5gAWUA_lB-M" + }, + { + "title": "Em \u1ede \u0110\u00e2y M\u00e0 (Orinn Remix) - Ruby x Winno | Nh\u01b0ng Em \u1ede \u0110\u00e2y M\u00e0 Kh\u00f4ng Sao \u0110\u00e2u Ng\u01b0\u1eddi \u0110\u1eebng Lo Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/sNh8CW2iRZ8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kC7U09FBfrGA5Unb9YUTrL-uanfg", + "id": "sNh8CW2iRZ8", + "url": "https://music.youtube.com/watch?v=sNh8CW2iRZ8" + }, + { + "title": "\u0110\u00eam Lao Xao Remix - T\u01b0\u1eddng V\u0103n | Vi\u1ec7t Anh Cover x Orinn | T\u00ecnh Y\u00eau Nh\u01b0 C\u00e1nh Chim Tr\u1eddi Remix TikTok", + "artist": "Orinn Mix", + "album": "Single", + "duration": 223, + "cover_url": "https://i.ytimg.com/vi/r_fO9djjB5o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kwZzoHSczTtCyk-WLhfxaK7zmxsA", + "id": "r_fO9djjB5o", + "url": "https://music.youtube.com/watch?v=r_fO9djjB5o" + }, + { + "title": "Em \u1ede \u0110\u00e2y M\u00e0 Remix TikTok - Ruby x Winno x Orinn | Nh\u01b0ng Em \u1ede \u0110\u00e2y M\u00e0 Kh\u00f4ng Sao \u0110\u00e2u Ng\u01b0\u1eddi \u0110\u1eebng Lo", + "artist": "Orinn Mix", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/2Iw1Du3NxXY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ltl39Ie-OeKKM5-z8_z1GPNTTH6Q", + "id": "2Iw1Du3NxXY", + "url": "https://music.youtube.com/watch?v=2Iw1Du3NxXY" + }, + { + "title": "M\u01b0a R\u01a1i L\u1eb7ng Th\u1ea7m Remix TikTok - L\u00ea Vi\u1ec7t Kh\u00e1nh | Vi\u1ec7t Anh Cover x Orinn | Nh\u1ea1c Remix TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/sueuBxmKFVU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRnKp0S1rMsNNNm_y1Wg_0REY43w", + "id": "sueuBxmKFVU", + "url": "https://music.youtube.com/watch?v=sueuBxmKFVU" + }, + { + "title": "Th\u01b0\u01a1ng Th\u1ea7m Remix TikTok - NB3 Ho\u00e0i B\u1ea3o x Orinn | M\u01b0a Ho\u00e0i R\u01a1i M\u00e3i B\u00ean Hi\u00ean Nh\u00e0 V\u1eafng Tanh Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/T7O1tDz-caE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGDf7qbWrXGBYX00MOHilOX2DEVA", + "id": "T7O1tDz-caE", + "url": "https://music.youtube.com/watch?v=T7O1tDz-caE" + }, + { + "title": "\u0110\u00eam Lao Xao Remix - T\u01b0\u1eddng V\u0103n | Vi\u1ec7t Anh Cover x Orinn | \u0110\u00eam \u0110\u00f4ng Lao Xao \u0110\u00eam \u0110\u00f4ng Nh\u1edb Ai Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/TmWYtONzN1s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nSItZhK7c61EWWlwWp5KppyEExqg", + "id": "TmWYtONzN1s", + "url": "https://music.youtube.com/watch?v=TmWYtONzN1s" + }, + { + "title": "T\u1ed5n Th\u01b0\u01a1ng Mang T\u00ean Em Remix TikTok - Jank x Orinn | D\u01b0\u1eddng Nh\u01b0 Ng\u01b0\u1eddi Ch\u1ec9 \u0110\u1ebfn Mang Theo M\u1ed9ng M\u01a1", + "artist": "Orinn Mix", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/tFsUEZ-UGn8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l6_M2utHu_RWqOu7p83qrMCgGSLA", + "id": "tFsUEZ-UGn8", + "url": "https://music.youtube.com/watch?v=tFsUEZ-UGn8" + }, + { + "title": "M\u01b0a R\u01a1i L\u1eb7ng Th\u1ea7m Remix - L\u00ea Vi\u1ec7t Kh\u00e1nh | Vi\u1ec7t Anh Cover x Orinn | Nh\u1ea1c Remix TikTok Tri\u1ec7u View 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/Fw8AdMH_HEg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nhQwhmZx9-iQfFIT1IdcXvMhjzVA", + "id": "Fw8AdMH_HEg", + "url": "https://music.youtube.com/watch?v=Fw8AdMH_HEg" + }, + { + "title": "Tr\u00f3t Y\u00eau Remix TikTok - \u00c1i Ph\u01b0\u01a1ng | V\u01b0\u01a1ng S\u01a1n Cover x Orinn | Ng\u01b0\u1eddi N\u00f3i Y\u00eau Anh \u0110i", + "artist": "Orinn Mix", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/JVOzZkziIv8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8bxOtCNHoyxCk07e1Fz733iunpA", + "id": "JVOzZkziIv8", + "url": "https://music.youtube.com/watch?v=JVOzZkziIv8" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3 Remix (B\u1ea3n Hot TikTok) - Anh Qu\u00e2n x Orinn | Xu\u00e2n Th\u00ec Ng\u01b0\u1eddi Con G\u00e1i Nh\u01b0 T\u00e1ch Tr\u00e0 Remix", + "artist": "Orinn Mix", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/8kFQg3uYBlU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kkaljLPHBsMIq5g8j02Y5BOIQDFQ", + "id": "8kFQg3uYBlU", + "url": "https://music.youtube.com/watch?v=8kFQg3uYBlU" + }, + { + "title": "Nh\u01b0 V\u1eady Nh\u00e9 Remix - Kh\u1eafc Vi\u1ec7t | Shay N x Orinn | C\u01b0\u1eddi \u0110i Anh \u0110\u1eebng Kh\u00f3c Nh\u00e9 Remix TikTok 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/JozWjVLcV60/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZnvpp6zyuhpOVnwOJkLD0GBlYFA", + "id": "JozWjVLcV60", + "url": "https://music.youtube.com/watch?v=JozWjVLcV60" + }, + { + "title": "T\u1ea5t C\u1ea3 S\u1ebd Thay Em Remix - Hamlet Tr\u01b0\u01a1ng | PYN Cover x Orinn | Gi\u00f3 S\u1ebd Thay Em L\u00e0 \u00c1o Anh Th\u1eadt Ph\u1eb3ng", + "artist": "Orinn Mix", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/fGK1B70abrU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kXViax4rzmlhm8-QN-yEZAXi6P8w", + "id": "fGK1B70abrU", + "url": "https://music.youtube.com/watch?v=fGK1B70abrU" + }, + { + "title": "Th\u01b0\u01a1ng Th\u1ea7m (Orinn Remix) - NB3 Ho\u00e0i B\u1ea3o | M\u01b0a Ho\u00e0i R\u01a1i M\u00e3i B\u00ean Hi\u00ean Nh\u00e0 V\u1eafng Tanh Remix 2025", + "artist": "Orinn Mix", + "album": "Single", + "duration": 253, + "cover_url": "https://i.ytimg.com/vi/aYMbk4el_aY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lvaKLiVA3itJzybVP30r8xYaqAnA", + "id": "aYMbk4el_aY", + "url": "https://music.youtube.com/watch?v=aYMbk4el_aY" + } + ] + }, + { + "id": "PL4fKKxQAjB_z5gwOGnIWWQsJZJgXTi78_", + "title": "NONSTOP 2023 BAY PH\u00d2NG BASS C\u1ef0C M\u1ea0NH | Nonstop Vinahouse 2023 | Vi\u1ec7t Mix Dj Nonstop", + "description": "Best of DJ & Remix", + "cover_url": "https://i.ytimg.com/vi/DN_MOyEj3_g/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l30bbw2O1llaatJFg0yhPStgMqZA", + "tracks": [ + { + "title": "NONSTOP 2023 BAY PH\u00d2NG BASS C\u1ef0C M\u1ea0NH, NH\u1ea0C REMIX HOT TIKTOK 2023, Vi\u1ec7t Mix Dj Nonstop 2023 Vinahouse", + "artist": "BAY PH\u00d2NG REMIX", + "album": "Single", + "duration": 3938, + "cover_url": "https://i.ytimg.com/vi/DN_MOyEj3_g/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l0ows2iFWI8hO9UabDlVI2Bbwb3Q", + "id": "DN_MOyEj3_g", + "url": "https://music.youtube.com/watch?v=DN_MOyEj3_g" + }, + { + "title": "NONSTOP 2023 BAY PH\u00d2NG BASS C\u1ef0C M\u1ea0NH, NH\u1ea0C REMIX HOT TIKTOK 2023, Vi\u1ec7t Mix Dj Nonstop 2023 Vinahouse", + "artist": "BAY PH\u00d2NG REMIX", + "album": "Single", + "duration": 3939, + "cover_url": "https://i.ytimg.com/vi/t57vCiXEKzk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l5dpb8kcuMGba3N03llSZqIQF-XA", + "id": "t57vCiXEKzk", + "url": "https://music.youtube.com/watch?v=t57vCiXEKzk" + }, + { + "title": "NONSTOP 2023 BAY PH\u00d2NG BASS C\u1ef0C M\u1ea0NH, NH\u1ea0C REMIX HOT TIKTOK 2023, Vi\u1ec7t Mix Dj Nonstop 2023 Vinahouse", + "artist": "BAY PH\u00d2NG REMIX", + "album": "Single", + "duration": 4063, + "cover_url": "https://i.ytimg.com/vi/PS2fDz2yYjY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nSBhcdRbd76ONF1x69B3e3hLem1A", + "id": "PS2fDz2yYjY", + "url": "https://music.youtube.com/watch?v=PS2fDz2yYjY" + }, + { + "title": "NONSTOP BAY PH\u00d2NG 2022\u2708SI\u00caU PH\u1ea8M FADED LOVE REMIX H\u00d3T TIKTOK\u2708NH\u1ea0C DJ VINAHOUSE 2022 C\u1ef0C M\u1ea0NH", + "artist": "NONSTOP Club", + "album": "Single", + "duration": 4461, + "cover_url": "https://i.ytimg.com/vi/_yXf-SjdkNw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kt8jLlc-daJcuhtpynsKF040S8bw", + "id": "_yXf-SjdkNw", + "url": "https://music.youtube.com/watch?v=_yXf-SjdkNw" + }, + { + "title": "Nonstop Vinahouse 2022 - Nh\u1ea1c T\u1ea9m \u0110\u00e1 Vol 24 - Nh\u1ea1c DJ Bay Ph\u00f2ng Bass C\u0103ng - Mixcloud VN", + "artist": "Mixcloud VN", + "album": "Single", + "duration": 3335, + "cover_url": "https://i.ytimg.com/vi/B8TZo7KMpx8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3km1JIFDE0F2r7nX0FOvJB-eXKokw", + "id": "B8TZo7KMpx8", + "url": "https://music.youtube.com/watch?v=B8TZo7KMpx8" + }, + { + "title": "Nonstop Vinahouse 2023 - Phong D\u1ea1 H\u00e0nh BT Remix - Nh\u1ea1c DJ Bay Ph\u00f2ng Bass C\u0103ng - Mixcloud VN", + "artist": "Mixcloud VN", + "album": "Single", + "duration": 3821, + "cover_url": "https://i.ytimg.com/vi/rhRk6DWcp78/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nNs56YNa7NBPpu8UAlVeryACKNoA", + "id": "rhRk6DWcp78", + "url": "https://music.youtube.com/watch?v=rhRk6DWcp78" + }, + { + "title": "NONSTOP VINAHOUSE 2025 - C\u1ef0C PH\u1ea8M NH\u1ea0C QU\u1ea8Y T\u1ebeT BANH X\u00c1C 2025 - NONSTOP T\u1ebeT \u1ea4T T\u1ef4 2025", + "artist": "Nh\u1ea1c Bay", + "album": "Single", + "duration": 2683, + "cover_url": "https://i.ytimg.com/vi/9lB2tJ-q0zU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWIC7Wu2qSReoxU3uSvaV-ru7m-g", + "id": "9lB2tJ-q0zU", + "url": "https://music.youtube.com/watch?v=9lB2tJ-q0zU" + }, + { + "title": "Xu\u00e2n Tr\u01b0\u1edbc Nh\u00e0 (Tee Remix) - H2K | Xu\u00e2n \u0110\u00e3 \u0110\u1ebfn Tr\u01b0\u1edbc Nh\u00e0 R\u1ed3i - Nh\u1ea1c Xu\u00e2n Remix 2023", + "artist": "Tee Remix", + "album": "Single", + "duration": 185, + "cover_url": "https://i.ytimg.com/vi/pniQUBZAUkE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kHcRKU61lRcwZ5I5rgQGU_oSwT5g", + "id": "pniQUBZAUkE", + "url": "https://music.youtube.com/watch?v=pniQUBZAUkE" + }, + { + "title": "\u0110o\u1ea3n Xu\u00e2n Ca (Tee Remix) - H2K | Nh\u1ea1c Xu\u00e2n Remix 2023", + "artist": "Tee Remix", + "album": "Single", + "duration": 157, + "cover_url": "https://i.ytimg.com/vi/BsuFJ_pLBa4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3npLCyrD2mG7XYetpM-PhGV7334yA", + "id": "BsuFJ_pLBa4", + "url": "https://music.youtube.com/watch?v=BsuFJ_pLBa4" + } + ] + }, + { + "id": "PLRLk-a77Suz6cz4CQmlIz0u7HcqitwCP0", + "title": "Vinahouse Remix Vietnam", + "description": "Best of DJ & Remix", + "cover_url": "https://yt3.ggpht.com/MPc8tgHuYtWxBWHex3OsdBZdY1wo5_gn-2d4X6lmuET7dMXZ1_7qEQcG5h44Ciegl1h37lQq2WM=s1200", + "tracks": [ + { + "title": "H\u00c3Y \u0110\u1ebeN V\u1edaI EM I TOP VINAHOUSE I V\u0129nh Thuy\u00ean Kim", + "artist": "Vinh Thuyen Kim", + "album": "Single", + "duration": 268, + "cover_url": "https://i.ytimg.com/vi/y-_9kRe7LBk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJ8fJozan2sN9bcNkjSZYtffsqbg", + "id": "y-_9kRe7LBk", + "url": "https://music.youtube.com/watch?v=y-_9kRe7LBk" + }, + { + "title": "L\u00e0 Em... Cho Anh M\u1ea5t \u0102n M\u1ea5t Ng\u1ee7 C\u0169ng Ch\u1ec9 V\u00ec Em (\u00d4I T\u00ccNH Y\u00caU) V\u0129nh Thuy\u00ean Kim I Color I S\u01a1n 2M", + "artist": "Vinh Thuyen Kim", + "album": "Single", + "duration": 139, + "cover_url": "https://i.ytimg.com/vi/BPDvmKuTJDw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nARbl_itaZFOcp414Cl5pdR3licg", + "id": "BPDvmKuTJDw", + "url": "https://music.youtube.com/watch?v=BPDvmKuTJDw" + }, + { + "title": "ANH V\u1eaaN KH\u00d4NG Remix - V\u0129nh Thuy\u00ean Kim - S\u01a1n 2M", + "artist": "Vinh Thuyen Kim", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/8mt3el15K8w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kc-0YuHjjAQMOBfrZ3GVIIRS2qPw", + "id": "8mt3el15K8w", + "url": "https://music.youtube.com/watch?v=8mt3el15K8w" + }, + { + "title": "[LIVE] Bass D\u1eadp C\u0103ng Qu\u00e1 R\u1edbt Lu\u00f4n M\u00e1y, T\u1eaft Lu\u00f4n Nh\u1ea1c", + "artist": "Vinh Thuyen Kim", + "album": "Single", + "duration": 231, + "cover_url": "https://i.ytimg.com/vi/m9HQMX_SyOg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3myWd9Ho5vgi4TpxIo0Pmm1-v1VDQ", + "id": "m9HQMX_SyOg", + "url": "https://music.youtube.com/watch?v=m9HQMX_SyOg" + }, + { + "title": "[KARAOKE] HOA N\u1ede KH\u00d4NG M\u00c0U Remix - V\u0129nh Thuy\u00ean Kim", + "artist": "Vinh Thuyen Kim's Official", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/GvRPYT4TPRc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mOYqdZYMSK6xL3sSAHnG3T7Pap6g", + "id": "GvRPYT4TPRc", + "url": "https://music.youtube.com/watch?v=GvRPYT4TPRc" + }, + { + "title": "T\u00c0U V\u1ec0 QU\u00ca H\u01af\u01a0NG | \u00daT NH\u1eca & NGUY\u1ec4N \u0110\u00ccNH V\u0168", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/ShL0eAFYwBE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMZCbkZRxRRQrI5YWC6tRHHF6WDw", + "id": "ShL0eAFYwBE", + "url": "https://music.youtube.com/watch?v=ShL0eAFYwBE" + }, + { + "title": "T\u00ecnh \u0110\u00e3 Bay Xa Remix | Kh\u01b0u Huy V\u0169 Ft. SaKa Tr\u01b0\u01a1ng Tuy\u1ec1n (feat. Saka Tr\u01b0\u01a1ng Tuy\u1ec1n)", + "artist": "Kh\u01b0u Huy V\u0169", + "album": "Single", + "duration": 242, + "cover_url": "https://i.ytimg.com/vi/OmjP7xV0S98/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mVRYe849WtLnbaCwfdOwCfiSeB2Q", + "id": "OmjP7xV0S98", + "url": "https://music.youtube.com/watch?v=OmjP7xV0S98" + }, + { + "title": "[HIT REMIX] L\u01b0\u01a1ng B\u00edch H\u1eefu - NONSTOP HIT DANCE REMIX", + "artist": "Giang Nguy\u1ec5n", + "album": "Single", + "duration": 1804, + "cover_url": "https://i.ytimg.com/vi/i9IlDKZ6-0U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mntR6FZ1Ix93ZAB-goBfRRjUQgFw", + "id": "i9IlDKZ6-0U", + "url": "https://music.youtube.com/watch?v=i9IlDKZ6-0U" + }, + { + "title": "Khu\u00ea M\u1ed9c Lang", + "artist": "H\u01b0\u01a1ng Ly", + "album": "Single", + "duration": 209, + "cover_url": "https://i.ytimg.com/vi/GMyF41IxReo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQqohspU-zeAhhDgCv9y5YYekCNQ", + "id": "GMyF41IxReo", + "url": "https://music.youtube.com/watch?v=GMyF41IxReo" + }, + { + "title": "T\u00e0u V\u1ec1 Qu\u00ea H\u01b0\u01a1ng", + "artist": "Nguy\u1ec5n \u0110\u00ecnh V\u0169", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/0mQB10r9KDE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m3G2y7CmFHxr5o2haACVOgTee21g", + "id": "0mQB10r9KDE", + "url": "https://music.youtube.com/watch?v=0mQB10r9KDE" + }, + { + "title": "T\u00fap L\u1ec1u V\u00e0ng", + "artist": "Nboro, ACV, Nguy\u1ec5n \u0110\u00ecnh V\u0169", + "album": "Single", + "duration": 223, + "cover_url": "https://i.ytimg.com/vi/1eDKRlNZewg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nJZSwTKTHtnzyjzd2YspjgVObibQ", + "id": "1eDKRlNZewg", + "url": "https://music.youtube.com/watch?v=1eDKRlNZewg" + }, + { + "title": "C\u01a0N B\u00c3O T\u00ccNH Y\u00caU REMIX | YUNIBOO x H2K | HM REMIX | COVER \u00daT NH\u1eca MINO", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/r4mtnqf6HZg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m6Ea1NInkwQ0_Zb0aK9UbnVFRlUQ", + "id": "r4mtnqf6HZg", + "url": "https://music.youtube.com/watch?v=r4mtnqf6HZg" + }, + { + "title": "V\u1ec1 Qu\u00ea Anh Lo Remix || Phi\u00ean B\u1ea3n Qu\u1ea9y Campuchia || The Night x Sinkra", + "artist": "G5R SQUAD Official", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/LjP6VyUmzZE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n1ks4OXx5xowIfxXnb4T8WCVTRSg", + "id": "LjP6VyUmzZE", + "url": "https://music.youtube.com/watch?v=LjP6VyUmzZE" + } + ] + } + ], + "YouTube Stars": [ + { + "id": "PLEq5fYXyq9nXbAGBIw_lPc-etAnjAnF6r", + "title": "Best Vietnamese Acoustic/Cover/Mashup Songs Collection", + "description": "Best of YouTube Stars", + "cover_url": "https://yt3.googleusercontent.com/Ovz3VSkk1DQRwpXj6iPwW1veJAa0uYnkTJBIy0RygUOdhkf9VRFMOWIqTtApNR7na9FMP3XYxA=s1200", + "tracks": [ + { + "title": "Trung Qu\u00e2n - Ch\u01b0a Bao Gi\u1edd - M\u1ed9c (Unplugged) T\u1eadp 15", + "artist": "AMY Music", + "album": "Single", + "duration": 262, + "cover_url": "https://i.ytimg.com/vi/5SC6-uC2R2o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nHcTggq8jtfQYtS3N4q7hmaGtcEg", + "id": "5SC6-uC2R2o", + "url": "https://music.youtube.com/watch?v=5SC6-uC2R2o" + }, + { + "title": "Mashup Ch\u01b0a Bao Gi\u1edd R\u1eddi Xa ((Acoustic ) Ytmix)", + "artist": "Th\u00e1i Tuy\u1ebft Tr\u00e2m", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/9GE7d5PaAq0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m57mgmvo1j9PA-eiYrq0_eWbvEEg", + "id": "9GE7d5PaAq0", + "url": "https://music.youtube.com/watch?v=9GE7d5PaAq0" + }, + { + "title": "Anh C\u1ee9 \u0110i \u0110i ( H\u00e0n - Vi\u1ec7t Cover ) - Olia Ho\u00e0ng ft. Guitarist Danh T\u00fa", + "artist": "Olia Hoang", + "album": "Single", + "duration": 332, + "cover_url": "https://i.ytimg.com/vi/eegKse8-5LI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lp1c23_8D6oj5Z-sj35cvN8WjShg", + "id": "eegKse8-5LI", + "url": "https://music.youtube.com/watch?v=eegKse8-5LI" + }, + { + "title": "L\u1ea0C TR\u00d4I (S\u01a1n T\u00f9ng M-TP) - Nh\u1ea1c Ma Creepy cover by Olia Ho\u00e0ng ft. Guitarist B\u1ea3o Nguy\u00ean", + "artist": "Olia Hoang", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/JQiZAbichoE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k3KHW3hD9IJ9-HNBvkhGU0IwWS_A", + "id": "JQiZAbichoE", + "url": "https://music.youtube.com/watch?v=JQiZAbichoE" + }, + { + "title": "N\u1eafng \u1ea4m Xa D\u1ea7n", + "artist": "Th\u00e1i Tuy\u1ebft Tr\u00e2m", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/LfTyKdSHugo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mHJvj6uI6f5p6Br1fXGl7t3xQLAA", + "id": "LfTyKdSHugo", + "url": "https://music.youtube.com/watch?v=LfTyKdSHugo" + }, + { + "title": "[Acoustica Live Session] S\u01a1n T\u00f9ng M-TP - Em c\u1ee7a n\u1eafng \u1ea5m ... ngang qua [Mashup]", + "artist": "Acoustica Studio", + "album": "Single", + "duration": 323, + "cover_url": "https://i.ytimg.com/vi/AEAUpDIMryw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m3e4PndQcVikK9tFTyewBosuOc4g", + "id": "AEAUpDIMryw", + "url": "https://music.youtube.com/watch?v=AEAUpDIMryw" + }, + { + "title": "D\u00f9 C\u00f3 C\u00e1ch Xa Acoustic - Th\u00e1i Tuy\u1ebft Tr\u00e2m.flv", + "artist": "Tramwaky fan", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/mDVACUPmyMA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lq3MN2l_jsE2nHyRI38pXRsJsYhw", + "id": "mDVACUPmyMA", + "url": "https://music.youtube.com/watch?v=mDVACUPmyMA" + }, + { + "title": "Sau C\u01a1n M\u01b0a (Acoustic Version) - Trung Qu\u00e2n Idol", + "artist": "yen nguyen", + "album": "Single", + "duration": 296, + "cover_url": "https://i.ytimg.com/vi/QYRB-zYZQXM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m0MHc3pv8vTCwi8M4yyybPNJMR4w", + "id": "QYRB-zYZQXM", + "url": "https://music.youtube.com/watch?v=QYRB-zYZQXM" + }, + { + "title": "Mashup 6", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/VaQyGoyHij8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mYRgArC2KJQoEfrcenXbGUyc5EBA", + "id": "VaQyGoyHij8", + "url": "https://music.youtube.com/watch?v=VaQyGoyHij8" + }, + { + "title": "MASHUP THU CU\u1ed0I - VICKY NHUNG | MASHUP 3 | THU CU\u1ed0I x N\u1ed6I NH\u1eda \u0110\u1ea6Y V\u01a0I x V\u1edaI ANH", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/Ue95eU4ZhTg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ln-q6tRjwbiZLAkB55zAhroAwhcA", + "id": "Ue95eU4ZhTg", + "url": "https://music.youtube.com/watch?v=Ue95eU4ZhTg" + }, + { + "title": "B\u00f3ng m\u00e2y qua th\u1ec1m - H\u00f2a Minzy, T\u00f9ng Acoustic", + "artist": "Acoustica Studio", + "album": "Single", + "duration": 366, + "cover_url": "https://i.ytimg.com/vi/KJhuW1W9Pv0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kZy-8-aTDS31DNs2Vc2Z7qrrn8MA", + "id": "KJhuW1W9Pv0", + "url": "https://music.youtube.com/watch?v=KJhuW1W9Pv0" + }, + { + "title": "[Cover] B\u1ea3n mash-up c\u1ef1c ch\u1ea5t c\u1ee7a c\u00e1c ch\u00e0ng trai F-Band", + "artist": "Son Dao", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/jPb0SNzWXrk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPzvAv8VCx5d-Dqtp-Jt9HJjogGw", + "id": "jPb0SNzWXrk", + "url": "https://music.youtube.com/watch?v=jPb0SNzWXrk" + }, + { + "title": "MASHUP MY APOLOGY - VICKY NHUNG | MASHUP 4", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/wVkAEr0lRxQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nPGxi0wO_mBTv--4t7RFzgstaHmA", + "id": "wVkAEr0lRxQ", + "url": "https://music.youtube.com/watch?v=wVkAEr0lRxQ" + }, + { + "title": "F-Band - Mash Up Xe \u0111\u1ea1p & Chuy\u1ec7n m\u01b0a & D\u1ea5u m\u01b0a & V\u1ebft m\u01b0a Full HD - (Live)", + "artist": "MTSB Productions", + "album": "Single", + "duration": 408, + "cover_url": "https://i.ytimg.com/vi/slELfKDeNPc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kXnl_fuHVyet5F4LGj-3ePzD6GGg", + "id": "slELfKDeNPc", + "url": "https://music.youtube.com/watch?v=slELfKDeNPc" + }, + { + "title": "M\u1ed8T NH\u00c0 (COVER) - VICKY NHUNG | ST. DA LAB | KHI HAI TA V\u1ec0 M\u1ed8T NH\u00c0 KH\u00c9P \u0110\u00d4I MI CHUNG M\u1ed8T GI\u01af\u1edcNG", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 204, + "cover_url": "https://i.ytimg.com/vi/TgOdehbvDBo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxsJCYKC6eMZDvlcALJL88iV3YNQ", + "id": "TgOdehbvDBo", + "url": "https://music.youtube.com/watch?v=TgOdehbvDBo" + }, + { + "title": "\u1eea TH\u00cc (COVER) - VICKY NHUNG | MEW AMAZING | \u1eea TH\u00cc ANH R\u1ea4T T\u1ed0T NH\u01afNG THAN \u00d4I \u1eea TH\u00cc EM R\u1ea4T TI\u1ebeC", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/JwlPIxVrrC4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l4kFVDWrX7r1cabMkvzJblIpc43A", + "id": "JwlPIxVrrC4", + "url": "https://music.youtube.com/watch?v=JwlPIxVrrC4" + }, + { + "title": "Beatlog#5: NO SAY BEATBOX -\u0110\u1ee9c HD ft T\u00d9NG T\u00d4M - Produced by T\u00f9ng T\u00f4m", + "artist": "G\u1ea4U\u2122 (T\u00f9ng T\u00f4m & D\u0169ng Kwei Tei)", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/9KlWTLzuIpg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mA84Nro_AAa5L4SN9H7aeqxZLc5A", + "id": "9KlWTLzuIpg", + "url": "https://music.youtube.com/watch?v=9KlWTLzuIpg" + }, + { + "title": "\u0110inh H\u01b0\u01a1ng - G\u00e1nh H\u00e0ng Rong - M\u1ed9c (Unplugged) T\u1eadp 14", + "artist": "AMY Music", + "album": "Single", + "duration": 180, + "cover_url": "https://i.ytimg.com/vi/jcL3mxMn18s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3njXPYQ53YKUWLwX9UdfkRMkY5dTQ", + "id": "jcL3mxMn18s", + "url": "https://music.youtube.com/watch?v=jcL3mxMn18s" + }, + { + "title": "M\u1ed9c (Unplugged) T\u1eadp 12", + "artist": "AMY Music", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/rPcFVKv2Zjg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lLBwJGwxp4W0nt68guKVgvyqlOmQ", + "id": "rPcFVKv2Zjg", + "url": "https://music.youtube.com/watch?v=rPcFVKv2Zjg" + }, + { + "title": "T\u0103ng Nh\u1eadt Tu\u1ec7 - N\u00f3i L\u00e0m Sao H\u1ebft - M\u1ed9c (Unplugged) T\u1eadp 11", + "artist": "AMY Music", + "album": "Single", + "duration": 155, + "cover_url": "https://i.ytimg.com/vi/y3epsM39Gtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k42kGU2_hm4g_PWE2QEKKJE-nDyQ", + "id": "y3epsM39Gtg", + "url": "https://music.youtube.com/watch?v=y3epsM39Gtg" + }, + { + "title": "Phi\u00ean b\u1ea3n ho\u00e0n h\u1ea3o | t\u1eadp 1: tan ch\u1ea3y v\u1edbi hit I'm In Love \u0111\u01b0\u1ee3c cover theo phong c\u00e1ch d\u00e2n ca", + "artist": "DIEN QUAN Entertainment / Gi\u1ea3i Tr\u00ed", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/la0-ImbsvPk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLbAcyI_UD5CItcq5uOv0ZnpQ6Gg", + "id": "la0-ImbsvPk", + "url": "https://music.youtube.com/watch?v=la0-ImbsvPk" + }, + { + "title": "Phi\u00ean b\u1ea3n ho\u00e0n h\u1ea3o | t\u1eadp 1: T\u01b0\u1eddng Vy d\u00e0nh chi\u1ebfn th\u1eafng v\u1edbi b\u1ea3n cover I'm In Love \u0111\u1ea7y c\u00e1 t\u00ednh", + "artist": "DIEN QUAN Entertainment / Gi\u1ea3i Tr\u00ed", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/2q8Vb4oywRU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kYOwcAM5IqiSQgHKW87qEaQXE-bw", + "id": "2q8Vb4oywRU", + "url": "https://music.youtube.com/watch?v=2q8Vb4oywRU" + }, + { + "title": "Mr Siro | Tr\u00e1i Tim Em C\u0169ng Bi\u1ebft \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 143, + "cover_url": "https://i.ytimg.com/vi/YqBJ-R0TwS4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lmbeOCtIx5cHAGXLoyAyHv0mOuSw", + "id": "YqBJ-R0TwS4", + "url": "https://music.youtube.com/watch?v=YqBJ-R0TwS4" + }, + { + "title": "Mr Siro | Em G\u00e1i M\u01b0a", + "artist": "Mr. Siro", + "album": "Single", + "duration": 212, + "cover_url": "https://i.ytimg.com/vi/gr0FXeNm_f8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mIQ9jCaOslqJSsU6ENDy9lCFHdXw", + "id": "gr0FXeNm_f8", + "url": "https://music.youtube.com/watch?v=gr0FXeNm_f8" + }, + { + "title": "S\u1ed1ng Xa Anh Ch\u1eb3ng D\u1ec5 D\u00e0ng (feat. Mr. Siro)", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 231, + "cover_url": "https://i.ytimg.com/vi/iVUJtwWdg9I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTmW8_MSLTtmFRJ9lDCqPLDG9StQ", + "id": "iVUJtwWdg9I", + "url": "https://music.youtube.com/watch?v=iVUJtwWdg9I" + }, + { + "title": "Y\u00eau M\u1ed9t Ng\u01b0\u1eddi V\u00f4 T\u00e2m (Piano Version)", + "artist": "Mr. Siro", + "album": "Single", + "duration": 162, + "cover_url": "https://i.ytimg.com/vi/s7honInH7Js/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kEkM2ht7P8uGzKecOIrpfwf8RHsQ", + "id": "s7honInH7Js", + "url": "https://music.youtube.com/watch?v=s7honInH7Js" + }, + { + "title": "\u0110\u1eebng ai nh\u1eafc v\u1ec1 anh \u1ea5y - M\u00e0n song ca si\u00eau \u0111\u1ec9nh c\u1ee7a Tr\u00e0 My v\u00e0 T\u1ea5n Ph\u00e1t | GI\u1eccNG \u1ea2I GI\u1eccNG AI | GAGA HTV", + "artist": "HTV Entertainment", + "album": "Single", + "duration": 366, + "cover_url": "https://i.ytimg.com/vi/aLXaVMCBlsk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjhviqupnYU8DUo6OOjg62QcZZA", + "id": "aLXaVMCBlsk", + "url": "https://music.youtube.com/watch?v=aLXaVMCBlsk" + }, + { + "title": "[Nh\u1ea1c ch\u1ebf] - H\u00c3Y TRAO ANH L\u01af\u01a0NG THI\u1ec6N | MiNi Anti ft.DXY", + "artist": "MiNi Anti Official", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/T0JM5xvDyAU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kFuQU0w9pmxarHa36PWiQRC9Ecrg", + "id": "T0JM5xvDyAU", + "url": "https://music.youtube.com/watch?v=T0JM5xvDyAU" + }, + { + "title": "M\u01b0a Nh\u1edb Anh - Chee ft. Machiot \u300cLyrics Video\u300d #Chang", + "artist": "Chang", + "album": "Single", + "duration": 294, + "cover_url": "https://i.ytimg.com/vi/vK6GJBzTKbE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lk-_9HM-rtGDZDr5Y4oLpBULRAIA", + "id": "vK6GJBzTKbE", + "url": "https://music.youtube.com/watch?v=vK6GJBzTKbE" + }, + { + "title": "\u0110i\u1ec1u Ta Vi\u1ebft M\u00f9a Xa Nhau - Ti\u00ean Fami ft. \u0110o\u00e0n Minh Qu\u00e2n || Lyrics", + "artist": "Natural Beat", + "album": "Single", + "duration": 282, + "cover_url": "https://i.ytimg.com/vi/8nIao--t0Ls/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYJ50cWEk23WJKD64sOC9CIi61xA", + "id": "8nIao--t0Ls", + "url": "https://music.youtube.com/watch?v=8nIao--t0Ls" + }, + { + "title": "Nh\u1ea1c Tr\u1ebb 8x 9x Hay Nh\u1ea5t | \u0110\u00f4i M\u1eaft - Acoustic Cover Nh\u1eefng B\u1ea3n Hits \u0110\u00e3 C\u0169", + "artist": "M\u00f9a \u0110i Ngang Ph\u1ed1", + "album": "Single", + "duration": 3571, + "cover_url": "https://i.ytimg.com/vi/yW8hd9WvJ5A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n_ncuB0muUggGGyZy6xRxBfMRj3A", + "id": "yW8hd9WvJ5A", + "url": "https://music.youtube.com/watch?v=yW8hd9WvJ5A" + }, + { + "title": "MASHUP NH\u1eeeNG B\u1ea2N HIT COVER NH\u1eb8 NH\u00c0NG 2019 | MASHUP NH\u1eeeNG CA KH\u00daC CH\u1eccN L\u1eccC NH\u1eb8 NH\u00c0NG D\u1ec4 NG\u1ee6", + "artist": "C\u1eacU HAI", + "album": "Single", + "duration": 4038, + "cover_url": "https://i.ytimg.com/vi/hTKhX1M456o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nP_tajfGpb7tFuQ_fpgaPn7tSVHA", + "id": "hTKhX1M456o", + "url": "https://music.youtube.com/watch?v=hTKhX1M456o" + }, + { + "title": "OK (cover) - Binz | Nhi Nhi x Fin'D", + "artist": "Fin'D", + "album": "Single", + "duration": 156, + "cover_url": "https://i.ytimg.com/vi/b3rgj28PReo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mXMFWUGYBzqaAYHbMiQ-EwKWjoXg", + "id": "b3rgj28PReo", + "url": "https://music.youtube.com/watch?v=b3rgj28PReo" + }, + { + "title": "SOFAR - BINZ DA POET | LYRICS VIDEO | OFFICIAL AUDIO", + "artist": "Binz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/hZFCidk6A_w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k-7pzFZwgt9C_T61iz695XCJmLvA", + "id": "hZFCidk6A_w", + "url": "https://music.youtube.com/watch?v=hZFCidk6A_w" + }, + { + "title": "SOFAR - BINZ DA POET | OFFICIAL MUSIC VIDEO", + "artist": "Binz", + "album": "Single", + "duration": 211, + "cover_url": "https://i.ytimg.com/vi/_MM1MQgFjRM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxc5w1BZYi1Xajr_S4eGFAY4Z3Eg", + "id": "_MM1MQgFjRM", + "url": "https://music.youtube.com/watch?v=_MM1MQgFjRM" + }, + { + "title": "MASCARA - CHILLIES - TH\u00c1I TRINH COVER", + "artist": "Th\u00e1i Trinh", + "album": "Single", + "duration": 186, + "cover_url": "https://i.ytimg.com/vi/_x31sDLWQuU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kfykLFz20SeXVAwXm5BbNoeK0QHQ", + "id": "_x31sDLWQuU", + "url": "https://music.youtube.com/watch?v=_x31sDLWQuU" + }, + { + "title": "C\u00d3 CH\u00c0NG TRAI VI\u1ebeT L\u00caN C\u00c2Y (M\u1eaeT BI\u1ebeC OST) || TH\u00c1I TRINH", + "artist": "Th\u00e1i Trinh", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/Kvog7YStzpM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nwWLUKdbVK0ItHWessWbDrI2CYMw", + "id": "Kvog7YStzpM", + "url": "https://music.youtube.com/watch?v=Kvog7YStzpM" + }, + { + "title": "Mashup \u0110\u1ebe V\u01af\u01a0NG T\u01af\u1edaNG QU\u00c2N - \u0110\u00ccNH D\u0168NG x NH\u1eacT PHONG | Ling vc Drum7 Cover", + "artist": "YLing", + "album": "Single", + "duration": 134, + "cover_url": "https://i.ytimg.com/vi/5nsogdfBtiU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mP_gRMH9Am7NXviDKU9Kth0pvCTw", + "id": "5nsogdfBtiU", + "url": "https://music.youtube.com/watch?v=5nsogdfBtiU" + }, + { + "title": "Mashup \u00c1I N\u1ed8 L\u1ea0C - MASEW x KHOI VU x RHYMASTIC | YLing Cover", + "artist": "YLing", + "album": "Single", + "duration": 132, + "cover_url": "https://i.ytimg.com/vi/mqaBWqLuVYQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3meshyuLJiL2xq0mrpZ8TbiICfavQ", + "id": "mqaBWqLuVYQ", + "url": "https://music.youtube.com/watch?v=mqaBWqLuVYQ" + }, + { + "title": "Ch\u00e0ng trai h\u00e1t G\u1eedi ng\u01b0\u1eddi y\u00eau c\u0169 gi\u1ed1ng h\u1ec7t H\u1ed3 Ng\u1ecdc H\u00e0 | T\u00e2n Basker | HTV GI\u1eccNG \u1ea2I GI\u1eccNG AI", + "artist": "HTV Entertainment", + "album": "Single", + "duration": 320, + "cover_url": "https://i.ytimg.com/vi/equLAdprCfI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lGyuCIrkTpwPqdWeP-EZkAitqUFA", + "id": "equLAdprCfI", + "url": "https://music.youtube.com/watch?v=equLAdprCfI" + }, + { + "title": "Who's Voice | Episode 9: Truc Nhan unexpectedly sings a duet with the show's most special voice", + "artist": "DIEN QUAN Entertainment / Gi\u1ea3i Tr\u00ed", + "album": "Single", + "duration": 469, + "cover_url": "https://i.ytimg.com/vi/Fv3B86kG5ZI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQYLxQF7n9AJRMl80E_pqi-qwGuQ", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "V\u1ee0 TAN | Cover Rock Version", + "artist": "Nh\u1ea1c bay ph\u1ea5p ph\u1edbi", + "album": "Single", + "duration": 274, + "cover_url": "https://i.ytimg.com/vi/XsBtbgo1UVg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nmndI_ao925qyekhMl6EWmPkiCSQ", + "id": "XsBtbgo1UVg", + "url": "https://music.youtube.com/watch?v=XsBtbgo1UVg" + }, + { + "title": "\u0110\u00d4I M\u1eaeT- AI COVER ROCK BALLAD- T\u01af\u1edeNG NH\u1eda T\u1edaI WANBI", + "artist": "Nu- AI Music Studio", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/qq4XjC_G2lc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ngIBvC7ADP__JdfRHDwdTZMysoXQ", + "id": "qq4XjC_G2lc", + "url": "https://music.youtube.com/watch?v=qq4XjC_G2lc" + }, + { + "title": "[Mashup] T\u00f4i Ng\u01b0\u1eddi Vi\u1ec7t Nam x Qu\u00ea H\u01b0\u01a1ng Vi\u1ec7t Nam - Nh\u00f3m Xu\u00e2n H\u1ea1 Thu \u0110\u00f4ng h\u00f2a gi\u1ecdng c\u1ea3m x\u00fac", + "artist": "FOREST STUDIO", + "album": "Single", + "duration": 316, + "cover_url": "https://i.ytimg.com/vi/LmhJ9GRqM0Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mC3ZAALhdXbX5qfryzB9YOXRLigQ", + "id": "LmhJ9GRqM0Y", + "url": "https://music.youtube.com/watch?v=LmhJ9GRqM0Y" + } + ] + }, + { + "id": "PLHsTnTjZN-XY3mANihx12a_jRvxZvZuTO", + "title": "AI Vietnamese Songs", + "description": "Best of YouTube Stars", + "cover_url": "https://yt3.googleusercontent.com/W6V3LOb3-ah53f-5PPASjrNyS3uctNzGgrEc-S_8EUZT0hRG2IPe0xR-ihCJY-gLG53Yzu9axpg=s1200", + "tracks": [ + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM | Ken Qu\u00e1ch - HuongMyB\u00f4ng \u00a9 - ch\u1ea1m c\u1ea3m x\u00fac \u0111\u1ebfn th\u1ea5u tim | MV Video - Official", + "artist": "Ken Quach", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/fUu2KrYRqJg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m5Xa5Ccb4o3atSbhem7v8tHMMwNg", + "id": "fUu2KrYRqJg", + "url": "https://music.youtube.com/watch?v=fUu2KrYRqJg" + }, + { + "title": "M\u1ed9t L\u1ea7n Nh\u00ecn Nhau Th\u00f4i | T\u00ecnh Ca AI \u2013 Nh\u1ea1c Vi\u1ec7t (Official Audio)", + "artist": "T\u00ecnh Ca AI - Nh\u1ea1c Vi\u1ec7t", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/Lk3C5z5tbUE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mJr6j35BDJYVAc0Cu7YxKsywVTig", + "id": "Lk3C5z5tbUE", + "url": "https://music.youtube.com/watch?v=Lk3C5z5tbUE" + }, + { + "title": "Kh\u00f4ng c\u00f2n n\u1ee3 nhau", + "artist": "L\u1ec7 Quy\u00ean", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/P2lAtqD3_9Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEE8l3icLu5Svb5HYBpi3gsuKhEQ", + "id": "P2lAtqD3_9Q", + "url": "https://music.youtube.com/watch?v=P2lAtqD3_9Q" + }, + { + "title": "M\u1ed9c San - Chi\u1ebfc L\u00e1 Cu\u1ed1i C\u00d9ng (Tu\u1ea5n Khanh) || Nh\u1ea1c T\u00ecnh Nh\u1eb9 Nh\u00e0ng D\u1ec5 Nghe", + "artist": "M\u1ed9c San", + "album": "Single", + "duration": 313, + "cover_url": "https://i.ytimg.com/vi/K8FRrfwW4Yc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1h4Kpxqw7eEyL9MzmzoSPjQt-oQ", + "id": "K8FRrfwW4Yc", + "url": "https://music.youtube.com/watch?v=K8FRrfwW4Yc" + }, + { + "title": "\u0110\u1ed9c Tho\u1ea1i", + "artist": "Tuan Hung", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/qxrPjjZgt1U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k8lS9X0agzR18TeR38BiCw25XvLw", + "id": "qxrPjjZgt1U", + "url": "https://music.youtube.com/watch?v=qxrPjjZgt1U" + }, + { + "title": "\u0110\u1edcI C\u00d3 BAO NHI\u00caU NG\u00c0Y VUI (St: Ch\u00e2u \u0110\u0103ng Khoa) - NGUY\u1ec4N \u0110\u00ccNH TU\u1ea4N D\u0168NG | LYRICS VIDEO", + "artist": "Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/TtO9KmRbisI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3njAU74DreOYlsX1qy2LWKOmpy2qQ", + "id": "TtO9KmRbisI", + "url": "https://music.youtube.com/watch?v=TtO9KmRbisI" + }, + { + "title": "Hay Xem Nhu Chua Tung", + "artist": "Giang Hong Ngoc", + "album": "Vol 3 - Hay Khoc Cho Ta Can Nhau", + "duration": 246, + "cover_url": "https://lh3.googleusercontent.com/seP2RcvqIG7K-V1d3QKq2hHkoKpN5Zxvm0AHIvZclH6GEGaxyqcC624b5unxZKFsYr4Q1hBGs3B4i0YB=w120-h120-l90-rj", + "id": "3JnyKgbX9Ps", + "url": "https://music.youtube.com/watch?v=3JnyKgbX9Ps" + }, + { + "title": "L\u1ec6 \u0110\u00c1 - PH\u01af\u01a0NG DI\u1ec4M HUY\u1ec0N | S\u00e1ng t\u00e1c: Tr\u1ea7n Tr\u1ecbnh || H\u1ecfi \u0111\u00e1 xanh r\u00eau bao nhi\u00eau tu\u1ed5i \u0111\u1eddi", + "artist": "Ph\u01b0\u01a1ng Di\u1ec5m Huy\u1ec1n", + "album": "Single", + "duration": 341, + "cover_url": "https://i.ytimg.com/vi/Ysri1nZoWVk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ktGyiIuhcLW5digPnWS31agXC-vw", + "id": "Ysri1nZoWVk", + "url": "https://music.youtube.com/watch?v=Ysri1nZoWVk" + }, + { + "title": "N\u1ed6I \u0110AU MU\u1ed8N M\u00c0NG ||Ng\u00f4 Thu\u1ef5 Mi\u00ean ||Sha B\u0103ng m\u01b0a r\u01a1i l\u00e0 n\u01b0\u1edbc m\u1eaft t\u00ecnh \u0111\u00e3 phai r\u1ed3i", + "artist": "Sha B\u0103ng", + "album": "Single", + "duration": 320, + "cover_url": "https://i.ytimg.com/vi/O724gzWyr-I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbHSg6qNw6z6i0ZVl9IYUI4b8vxg", + "id": "O724gzWyr-I", + "url": "https://music.youtube.com/watch?v=O724gzWyr-I" + }, + { + "title": "V\u00ec Em C\u00f2n Th\u01b0\u01a1ng", + "artist": "L\u1ec7 Quy\u00ean", + "album": "T\u00ecnh Kh\u00f4n Ngu\u00f4i", + "duration": 281, + "cover_url": "https://lh3.googleusercontent.com/scZc4LMpggT1Jsfmzqp7AcNjem2koGw9YMYcnXyG1DprkBPWlfTGaDABvG3GYS6JnMp4Mp2FyVUSJPY=w120-h120-l90-rj", + "id": "gAfOp8FvQFw", + "url": "https://music.youtube.com/watch?v=gAfOp8FvQFw" + }, + { + "title": "Tuy\u1ec7t \u0110\u1ec9nh Blues Rock | G\u1ecdi Em Trong Gi\u00f3 | H\u00f9ng Nguy\u00ean Official | Blue Rock Vi\u1ec7t Nam", + "artist": "Aug 23, 2025", + "album": "Single", + "duration": 339, + "cover_url": "https://i.ytimg.com/vi/FycEEL0Bd1s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lSMPPdSnXnuDCu6VGhB_wH5r0wIg", + "id": "FycEEL0Bd1s", + "url": "https://music.youtube.com/watch?v=FycEEL0Bd1s" + }, + { + "title": "Dem Dinh Menh", + "artist": "Tuan Hung", + "album": "Dem Dinh Menh", + "duration": 314, + "cover_url": "https://lh3.googleusercontent.com/iKXy9EfU8vg2S3D2EsRoKtLozPt4zMVgfdJ_NCN-f-T8k1daZzQhsZ3pnrB8OcJaGCV85gUeWg-FMk4=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "D\u0128 V\u00c3NG NH\u1ea0T NH\u00d2A - Qu\u1ef3nh Nh\u01b0 Bolero | Official Lyric Video", + "artist": "Qu\u1ef3nh Nh\u01b0 Bolero", + "album": "Single", + "duration": 320, + "cover_url": "https://i.ytimg.com/vi/Zq7Q9dkNxMc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kMsSAx5zI9vCYuu77E-OMdRjgk0w", + "id": "Zq7Q9dkNxMc", + "url": "https://music.youtube.com/watch?v=Zq7Q9dkNxMc" + }, + { + "title": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em - AI Musik Box - B\u00e0i H\u00e1t L\u00e0m Say M\u00ea Bao Ng\u01b0\u1eddi", + "artist": "THN MEDIA", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/bV8NmuhEKGI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mAjfjuX03rLvCAo7cdcClXUPWCnA", + "id": "bV8NmuhEKGI", + "url": "https://music.youtube.com/watch?v=bV8NmuhEKGI" + }, + { + "title": "V\u00ec \u0110\u00f3 L\u00e0 Em", + "artist": "Quang D\u0169ng", + "album": "Quang D\u0169ng - Nguy\u00ean Khang - Ai T\u00ecnh H\u01a1n Ai (Vol. 2)", + "duration": 286, + "cover_url": "https://lh3.googleusercontent.com/zgBqsC_xE2xw6ASemWm0c0W-DMVUuYYLjhfMxxqjQjAz9Wtzw9YN3w7VPhQdTGRy6yPChOR96cWEw_g=w120-h120-l90-rj", + "id": "jQSSlgF4--U", + "url": "https://music.youtube.com/watch?v=jQSSlgF4--U" + }, + { + "title": "Medley: Li\u00ean kh\u00fac Ng\u00f4 Thu\u1ef5 Mi\u00ean / T\u00ecnh Kh\u00fac Bu\u1ed3n / B\u1ea3n T\u00ecnh Cu\u1ed1i / N\u1ed7i \u0110au Mu\u1ed9n M\u00e0ng", + "artist": "Giang H\u1ed3ng Ng\u1ecdc", + "album": "M\u00f9a Thu Ch\u1ebft", + "duration": 390, + "cover_url": "https://lh3.googleusercontent.com/SF0w1rQmH3QpX2O6iGNW3lLUuPxM3tfJnuUfeqviLTZVqvPelgLkIxSCnta-043AI4E4wXFfhuXf8WPh=w120-h120-l90-rj", + "id": "YVN6wZlTI4o", + "url": "https://music.youtube.com/watch?v=YVN6wZlTI4o" + }, + { + "title": "\u0110i\u1ec7p Kh\u00fac Chia Tay", + "artist": "Lala Tr\u1ea7n", + "album": "Single", + "duration": 261, + "cover_url": "https://i.ytimg.com/vi/lkHFEd2P_zo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lkKtJ0xJb8YlGb4PYwctR9Q3se1Q", + "id": "lkHFEd2P_zo", + "url": "https://music.youtube.com/watch?v=lkHFEd2P_zo" + }, + { + "title": "Chi\u1ec1u Nghe Bi\u1ec3n Kh\u00f3c", + "artist": "Ph\u01b0\u01a1ng Ph\u01b0\u01a1ng Th\u1ea3o", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/13mLY2EEwIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lCfeUfFB4-kO0vQXIHniUs3OQGnA", + "id": "13mLY2EEwIY", + "url": "https://music.youtube.com/watch?v=13mLY2EEwIY" + }, + { + "title": "GI\u00c1 NH\u01af \u0110\u1eeaNG BU\u00d4NG TAY _ b\u00e0i #nhactrutinh m\u1edbi nh\u1ea5t c\u1ee7a #tromusic #nhacbuon #bluerock", + "artist": "Aug 9, 2025", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/jspxBtM6iJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mlHiy35L8fXj9e4AM06qijOLpGsw", + "id": "jspxBtM6iJs", + "url": "https://music.youtube.com/watch?v=jspxBtM6iJs" + }, + { + "title": "B\u1edfi V\u00ec Anh Y\u00eau Em - B\u1eb1ng Ki\u1ec1u ft Tri\u1ec7u H\u1ed3ng Ng\u1ecdc", + "artist": "Tri\u1ec7u H\u1ed3ng Ng\u1ecdc", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/FDg59WXnqQ0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdzqvFDICzOr15CIDHd1E64UgH0g", + "id": "FDg59WXnqQ0", + "url": "https://music.youtube.com/watch?v=FDg59WXnqQ0" + }, + { + "title": "B\u1ea3n T\u00ecnh Cu\u1ed1i", + "artist": "Sha B\u0103ng", + "album": "Single", + "duration": 318, + "cover_url": "https://i.ytimg.com/vi/ZB2745bmfRk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3niow-pKhagaoS5zWtQtoR6soK2AA", + "id": "ZB2745bmfRk", + "url": "https://music.youtube.com/watch?v=ZB2745bmfRk" + }, + { + "title": "Gi\u1ea5c M\u01a1 Em (Dream of You) || S\u00e1ng t\u00e1c - Song by B\u1eedu Th\u00e0nh", + "artist": "B\u1eedu Th\u00e0nh Media", + "album": "Single", + "duration": 305, + "cover_url": "https://i.ytimg.com/vi/mO4JOHuY5ZA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lDJIA1WRQs_OcwM4oVOEUnY8H94A", + "id": "mO4JOHuY5ZA", + "url": "https://music.youtube.com/watch?v=mO4JOHuY5ZA" + }, + { + "title": "M\u01af\u01a0I N\u0102M _ #tromusic #guitar #nhactrutinh", + "artist": "Aug 21, 2025", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/IXGjuJgMUQE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3khEMN_PBdnMbFWJqCOSWqtXawfZA", + "id": "IXGjuJgMUQE", + "url": "https://music.youtube.com/watch?v=IXGjuJgMUQE" + }, + { + "title": "TH\u00c1NG B\u1ea2Y ANH VI\u1ebeT CHO EM", + "artist": "TRO-Music", + "album": "TH\u00c1NG B\u1ea2Y ANH VI\u1ebeT CHO EM", + "duration": 210, + "cover_url": "https://lh3.googleusercontent.com/a8cXGgRBWE1wlcZostiJzklRPLIdKBNNCPpv3pIwQW9Fs6sVV64ICY3tsaME6E8gddGpYOnqa_qSEIch=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Thu S\u1ea7u", + "artist": "Giang H\u1ed3ng Ng\u1ecdc", + "album": "M\u00f9a Thu Ch\u1ebft", + "duration": 300, + "cover_url": "https://lh3.googleusercontent.com/SF0w1rQmH3QpX2O6iGNW3lLUuPxM3tfJnuUfeqviLTZVqvPelgLkIxSCnta-043AI4E4wXFfhuXf8WPh=w120-h120-l90-rj", + "id": "eoU0chQjDG0", + "url": "https://music.youtube.com/watch?v=eoU0chQjDG0" + }, + { + "title": "TR\u1edcI C\u00d2N M\u01afA M\u00c3I_|| LaLa Tr\u1ea7n cover || nh\u1ea1c ngo\u1ea1i l\u1eddi vi\u1ec7t : Nh\u1eadt Ng\u00e2n", + "artist": "Lala Tr\u1ea7n", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/jSS3LyALY_k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kO0L_3tBazsABiWxCunLNmgRcr1g", + "id": "jSS3LyALY_k", + "url": "https://music.youtube.com/watch?v=jSS3LyALY_k" + }, + { + "title": "Th\u00f4i \u0110\u1eebng Chi\u00eam Bao", + "artist": "L\u1ec7 Quy\u00ean", + "album": "Gi\u1ea5c M\u01a1 C\u00f3 Th\u1eadt, Vol. 1", + "duration": 286, + "cover_url": "https://lh3.googleusercontent.com/11QC-zB1JXY8_dqacZfzoQkw6U-XoG_d9LZyP9sTirkOFAcohyau_--LYFxV-lMzEe2ynBGcnz6WKxA=w120-h120-l90-rj", + "id": "XHwhpc8xwYE", + "url": "https://music.youtube.com/watch?v=XHwhpc8xwYE" + }, + { + "title": "\u0110\u1eebng Khi\u1ebfn Tr\u00e1i Tim Em Kh\u00f3c", + "artist": "Chu Th\u00fay Qu\u1ef3nh", + "album": "Single", + "duration": 200, + "cover_url": "https://i.ytimg.com/vi/o9HFXj4qjmw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_p00GInK378fCQ56rjn4qvx0V1w", + "id": "o9HFXj4qjmw", + "url": "https://music.youtube.com/watch?v=o9HFXj4qjmw" + }, + { + "title": "LK Xin H\u00e3y R\u1eddi Xa - T\u00f4i Kh\u00f4ng C\u00f2n Y\u00eau Em", + "artist": "H\u1ed3 Ho\u00e0ng Y\u1ebfn, L\u00ea Qu\u1ed1c Tu\u1ea5n", + "album": "H\u00e0nh Tr\u00ecnh V\u00e0 K\u1ef7 Ni\u1ec7m", + "duration": 416, + "cover_url": "https://lh3.googleusercontent.com/sl94deFyg0wtvzfFxTE1a5FNdTu8nxhQwWJqteuPhwgpT6fcZQJH5e4kB4t-G9kSam2d2BTiE6sRXww=w120-h120-l90-rj", + "id": "i83Xs9Tyb-8", + "url": "https://music.youtube.com/watch?v=i83Xs9Tyb-8" + }, + { + "title": "Em Nh\u1edb Anh V\u00f4 C\u00f9ng", + "artist": "H\u1ed3 Qu\u1ef3nh H\u01b0\u01a1ng", + "album": "Anh (Vol. 7)", + "duration": 233, + "cover_url": "https://lh3.googleusercontent.com/-6Bb84PfkXbcLa95MO-ao5ynV2Z6V4nkqS569OK1crP-POFq-LlVk3XvrUQ5sXTeDhloVRHzD6m3kn85=w120-h120-l90-rj", + "id": "OLwUQuZnYFA", + "url": "https://music.youtube.com/watch?v=OLwUQuZnYFA" + }, + { + "title": "\u0110\u00caM \u0110\u1ecaNH M\u1ec6NH ||st TR\u01af\u01a0NG L\u00ca S\u01a0N ||SHA B\u0102NG \u2026.anh l\u00e0 ai cho ta \u0111\u1ee3i ch\u1edd\u2026", + "artist": "Sha B\u0103ng", + "album": "Single", + "duration": 333, + "cover_url": "https://i.ytimg.com/vi/SG9nN0_fuHo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kJ3z0I9Sa3jpqI7ecvL7snCLPhmw", + "id": "SG9nN0_fuHo", + "url": "https://music.youtube.com/watch?v=SG9nN0_fuHo" + }, + { + "title": "B\u00caN EM L\u00c0 BI\u1ec2N R\u1ed8NG (ST: B\u1ea3o Ch\u1ea5n) - NGUY\u1ec4N \u0110\u00ccNH TU\u1ea4N D\u0168NG | LYRICS VIDEO", + "artist": "Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "album": "Single", + "duration": 256, + "cover_url": "https://i.ytimg.com/vi/pAK1gRmC3BQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lcLjnbC970b4BQpLij4X_dbIT3bw", + "id": "pAK1gRmC3BQ", + "url": "https://music.youtube.com/watch?v=pAK1gRmC3BQ" + }, + { + "title": "L\u00e0 V\u00ec Anh Y\u00eau Em (Blues Rock)", + "artist": "TimelessRemixes", + "album": "L\u00e0 V\u00ec Anh Y\u00eau Em (Blues Rock)", + "duration": 265, + "cover_url": "https://lh3.googleusercontent.com/7uutIsUL2qEzubG1tWGixJoZ6R8VPFs59FyDpZHt3B3P_OGbkDtn7QR656fdAsH7lg1fAO5cqMRX8Tpl=w120-h120-l90-rj", + "id": "Fkzo5t6iKB0", + "url": "https://music.youtube.com/watch?v=Fkzo5t6iKB0" + }, + { + "title": "Tr\u00f9m Cu\u1ed1i | B\u00e0i H\u00e1t Ngh\u1eb9n Ng\u00e0o.", + "artist": "zenmedia8888", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/sBfrjL-6AxE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mH7WeDzkwP3rG_xtVjNRph-GdSww", + "id": "sBfrjL-6AxE", + "url": "https://music.youtube.com/watch?v=sBfrjL-6AxE" + }, + { + "title": "K\u1ebb Say T\u00ecnh", + "artist": "Qu\u1ed1c Thi\u00ean", + "album": "K\u1ebb Say T\u00ecnh", + "duration": 308, + "cover_url": "https://lh3.googleusercontent.com/lykNIz3LzellCAvzzA07D0Q_UOKjIp840WcIH0IHPbeSMLfk4NLwCVpwl3RBNs3-0wZWTrOrUWRbLk4=w120-h120-l90-rj", + "id": "M9ltHA9yYJs", + "url": "https://music.youtube.com/watch?v=M9ltHA9yYJs" + }, + { + "title": "T\u00ccNH NH\u1eda (Tr\u1ecbnh C\u00f4ng S\u01a1n) - PH\u01af\u01a0NG DI\u1ec4M HUY\u1ec0N || Nh\u1ea1c TR\u1ecaNH B\u1ea5t H\u1ee7 Hay Nh\u1ea5t M\u1ecdi Th\u1eddi \u0110\u1ea1i...", + "artist": "Ph\u01b0\u01a1ng Di\u1ec5m Huy\u1ec1n", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/gpZiDrE6xH4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTOVytkwduqn4B_58uKmnZMPBPkA", + "id": "gpZiDrE6xH4", + "url": "https://music.youtube.com/watch?v=gpZiDrE6xH4" + }, + { + "title": "\u0110\u00e0m V\u0129nh H\u01b0ng | C\u1ea3m \u01a0n M\u1ed9t Ni\u1ec1m \u0110au", + "artist": "\u0110\u00e0m V\u0129nh H\u01b0ng", + "album": "Single", + "duration": 263, + "cover_url": "https://i.ytimg.com/vi/yBDtfR5I5HA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFE0GeZSQF7Nm8-2qeE5fhHdjhSQ", + "id": "yBDtfR5I5HA", + "url": "https://music.youtube.com/watch?v=yBDtfR5I5HA" + }, + { + "title": "V\u00ec Ti\u1ec1n B\u1ecf B\u1ea1n", + "artist": "A T\u1ed5", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/T7C99OsXGVs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZT5wr_mtJlwzb7uV5Lh9LTb__bw", + "id": "T7C99OsXGVs", + "url": "https://music.youtube.com/watch?v=T7C99OsXGVs" + }, + { + "title": "S\u00d3NG & T\u00ccNH ANH | Kh\u00fac t\u00ecnh ca c\u1ee7a s\u00f3ng...(Official MV).", + "artist": "BICH Official", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/sio6gzouzGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nC2AIUjRVMcFhY69yF6ldLOb3vwQ", + "id": "sio6gzouzGM", + "url": "https://music.youtube.com/watch?v=sio6gzouzGM" + }, + { + "title": "Nh\u1eadt k\u00fd t\u00ecnh \u0111\u1ea7u (Blues Rock)", + "artist": "TimelessRemixes", + "album": "Nh\u1eadt k\u00fd t\u00ecnh \u0111\u1ea7u (Blues Rock)", + "duration": 263, + "cover_url": "https://lh3.googleusercontent.com/vPqG-28yM9KSk6F68HPBXa9IYSPnVD2pZ7Mz1mDaUVoy8o1yOgBTdg22rxELOpjbXN3t9wHuaM3UVjCG=w120-h120-l90-rj", + "id": "5_bSPxDSt4s", + "url": "https://music.youtube.com/watch?v=5_bSPxDSt4s" + }, + { + "title": "N\u1ebfu em \u0111\u01b0\u1ee3c ch\u1ecdn l\u1ef1a", + "artist": "L\u1ec7 Quy\u00ean", + "album": "Anh V\u1eabn C\u00f2n Y\u00eau Em", + "duration": 319, + "cover_url": "https://lh3.googleusercontent.com/4L9NqiRS8rGnmhuvm2tlgqz6JTgcjQh_a8xYzJS6LxEMQ09BiKKPjIFmCN6NXz5V9TQCqnQOQvdeT19-=w120-h120-l90-rj", + "id": "O43udVcnH5A", + "url": "https://music.youtube.com/watch?v=O43udVcnH5A" + }, + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM", + "artist": "CHRISTINE NGUYEN", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/ngdowtkzyFs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbFV-xGYztpDqhBm30pOYSsbROXA", + "id": "ngdowtkzyFs", + "url": "https://music.youtube.com/watch?v=ngdowtkzyFs" + }, + { + "title": "M\u00f9a Thu Trong Tim \u2013 Blues Ballad Bu\u1ed3n S\u00e2u L\u1eafng | DeepTone Vibes", + "artist": "DeepTone Vibes", + "album": "Single", + "duration": 435, + "cover_url": "https://i.ytimg.com/vi/zJR16GWhjt0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1nLEM56r35XsbQiyyTbRUAKT6oA", + "id": "zJR16GWhjt0", + "url": "https://music.youtube.com/watch?v=zJR16GWhjt0" + }, + { + "title": "Em Ghen", + "artist": "Ken Quach", + "album": "Em Ghen", + "duration": 261, + "cover_url": "https://lh3.googleusercontent.com/xrROY7cj9JxV1bqIfTk8Kn-o2ak8v2qQXaW4lOyO-fgIw8xaldW66PQ_oe5LReWOGQmh9IgI9wpypvZX=w120-h120-l90-rj", + "id": "vdfRhNHjGcI", + "url": "https://music.youtube.com/watch?v=vdfRhNHjGcI" + }, + { + "title": "V\u1ea1n l\u00fd phong s\u01b0\u01a1ng #nhactamtrang #nhacrock #nhakienmusic", + "artist": "MUSIC NHAKIEN", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/BPInkkMVbbs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3noZ_N_LCSqtZtjz7zn7ZGtMKDprw", + "id": "BPInkkMVbbs", + "url": "https://music.youtube.com/watch?v=BPInkkMVbbs" + }, + { + "title": "T\u00ccNH \u0110\u1ea6U CH\u01afA NGU\u00d4I || SHA B\u0102NG \u2026t\u00ecnh m\u00ecnh nay \u0111\u00e3 c\u00e1ch xa th\u1eadt xa\u2026.", + "artist": "Sha B\u0103ng", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/sxo7RQQh-Aw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nHZwtK3zI4qMMZ91QauDI9TTAk3A", + "id": "sxo7RQQh-Aw", + "url": "https://music.youtube.com/watch?v=sxo7RQQh-Aw" + }, + { + "title": "L\u1ea7n Cu\u1ed1i - \u0110\u01b0\u1ee3c H\u00f4n Em \u1ea4m N\u1ed3ng | Rock Ballad Bu\u1ed3n Tan V\u1ee1 | Lyric Video", + "artist": "NTH Music Land", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/xPeRWV52ScI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k3g18zkd1h8y1x3CiaiEJm0BNO_w", + "id": "xPeRWV52ScI", + "url": "https://music.youtube.com/watch?v=xPeRWV52ScI" + }, + { + "title": "C\u00d2N AI \u1ede L\u1ea0I I Blues Music Vietnam", + "artist": "AsiaSing Beats", + "album": "Single", + "duration": 401, + "cover_url": "https://i.ytimg.com/vi/qRCY6TtejYI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nvKdOq_hbXcfbC3iV1d7UHNv05ww", + "id": "qRCY6TtejYI", + "url": "https://music.youtube.com/watch?v=qRCY6TtejYI" + }, + { + "title": "Anh Say Kh\u00f4ng Ph\u1ea3i V\u00ec Men (Official Audio)", + "artist": "Tuan Gia", + "album": "Anh Say Kh\u00f4ng Ph\u1ea3i V\u00ec Men (Official Audio)", + "duration": 301, + "cover_url": "https://lh3.googleusercontent.com/R6oTNXaxmr9LfXYT2qluaP2dqPoiKFiDJCZ-zxIUlENfa1eNyGBxHDPI28qa4xYcLVgs-De3yq_Pp5oMZg=w120-h120-l90-rj", + "id": "c6hu0RMaB08", + "url": "https://music.youtube.com/watch?v=c6hu0RMaB08" + }, + { + "title": "T\u00ecnh \u0111\u1ea7u tan trong m\u01b0a (Blues Rock)", + "artist": "TimelessRemixes", + "album": "T\u00ecnh \u0111\u1ea7u tan trong m\u01b0a (Blues Rock)", + "duration": 259, + "cover_url": "https://lh3.googleusercontent.com/Ftnv9wg0LqtZ9WFRuG70Wp2UAi-U2fE7rxz2GOZq1W_5x89J8fbojpSHNTZ_t141rfZC0N2_qkJ4nUjy=w120-h120-l90-rj", + "id": "GyEm6Vi6K2s", + "url": "https://music.youtube.com/watch?v=GyEm6Vi6K2s" + }, + { + "title": "R\u00d3T TH\u00caM LY N\u1eeeA \u2013 Blues Rock C\u00f4 \u0110\u01a1n & Say \u0110\u1eafng | Giai \u0110i\u1ec7u X\u00e9 L\u00f2ng \u2013 DeepTone Vibes", + "artist": "DeepTone Vibes", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/EAHP56P3qxw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nf0hrauvbnakxdFxEzxjHR_aFNNg", + "id": "EAHP56P3qxw", + "url": "https://music.youtube.com/watch?v=EAHP56P3qxw" + }, + { + "title": "B\u00d3NG EM TRONG GI\u1eccT S\u1ea6U \u2013 DeepTone Vibes | Blues Ballad Bu\u1ed3n, Nh\u1eb9 Nh\u00e0ng, Day D\u1ee9t", + "artist": "DeepTone Vibes", + "album": "Single", + "duration": 430, + "cover_url": "https://i.ytimg.com/vi/DQtrqt2S68w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nNup_58zc-VjcE3kip4gePcs9Adw", + "id": "DQtrqt2S68w", + "url": "https://music.youtube.com/watch?v=DQtrqt2S68w" + }, + { + "title": "kh\u00f4ng l\u1eddi", + "artist": "Thi\u1ec1u B\u1ea3o Tr\u00e2m", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/ja9M5ACMBEQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klAYFDBa0n_aZ30QOx6mNiWelnpQ", + "id": "ja9M5ACMBEQ", + "url": "https://music.youtube.com/watch?v=ja9M5ACMBEQ" + }, + { + "title": "B\u00e2y Gi\u1edd Th\u00e1ng M\u1ea5y", + "artist": "Ph\u01b0\u01a1ng Ph\u01b0\u01a1ng Th\u1ea3o", + "album": "Cho Ng\u01b0\u1eddi T\u00ecnh L\u1ee1", + "duration": 343, + "cover_url": "https://lh3.googleusercontent.com/3DIfL3Ed-bzvaIQSvdTQzr6GodyzrHHaeSchI5it5ur06CnrLP50tJUZ_jml_CXqtnoS8SqeNvk2O64=w120-h120-l90-rj", + "id": "Rxcy-lsnUv4", + "url": "https://music.youtube.com/watch?v=Rxcy-lsnUv4" + }, + { + "title": "M\u1ed9t B\u00f3ng M\u00ecnh Ta", + "artist": "Ken Quach", + "album": "M\u1ed9t B\u00f3ng M\u00ecnh Ta", + "duration": 188, + "cover_url": "https://lh3.googleusercontent.com/EZv__eJ_4jzZxnGIRlQaiaqorm6-0Phs15R7Dx5vmYulIedk2OCaNSJ9NncnefxNfs5APTzVCPH--vFP=w120-h120-l90-rj", + "id": "qyf-3TSQQG4", + "url": "https://music.youtube.com/watch?v=qyf-3TSQQG4" + }, + { + "title": "Ng\u00e0y Em \u0110\u1ebfn - Jee Tr\u1ea7n x CaoTri | Official Lofi Lyrics | T\u1eebng Ng\u00e0y Tr\u00f4i \u00d4m B\u01a1 V\u01a1", + "artist": "CaoTri", + "album": "Single", + "duration": 182, + "cover_url": "https://i.ytimg.com/vi/NPdlMwREIB4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lM80LB3L1scR2HRp2I2HhFl9gm9w", + "id": "NPdlMwREIB4", + "url": "https://music.youtube.com/watch?v=NPdlMwREIB4" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 356, + "cover_url": "https://i.ytimg.com/vi/Iv5XA6PaO9k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lxZcVLj36DGPZk5hpvhKVjxUU7sA", + "id": "Iv5XA6PaO9k", + "url": "https://music.youtube.com/watch?v=Iv5XA6PaO9k" + }, + { + "title": "NG\u00d4I SAO XA - \u0110\u1ea0T LONG VINH | OFFICIAL MUSIC VIDEO", + "artist": "\u0110\u1ea1t Long Vinh", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/VMEWCq88KRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbvWT92FFKWvAnvBQbFBf-3H762A", + "id": "VMEWCq88KRg", + "url": "https://music.youtube.com/watch?v=VMEWCq88KRg" + }, + { + "title": "M\u1ed9t Th\u1eddi \u0110\u00e3 Xa", + "artist": "Anny H\u1eb1ng", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/kq53poGiRQk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nJhEtorFawaAPu3w1EjHOhWrwERQ", + "id": "kq53poGiRQk", + "url": "https://music.youtube.com/watch?v=kq53poGiRQk" + }, + { + "title": "M\u01b0a \u01b0\u1edbt l\u00f2ng anh r\u1ed3i", + "artist": "TimelessRemixes", + "album": "M\u01b0a \u01b0\u1edbt l\u00f2ng anh r\u1ed3i", + "duration": 405, + "cover_url": "https://lh3.googleusercontent.com/WQgI6FWqJo8e9KpNMpkjQjBK6gkP9I5dd9m1Cb0uhiUQr4DFD1w-HHkfyvXk0u075HgEvwBTekxMNY4=w120-h120-l90-rj", + "id": "J5vzN6qt5QQ", + "url": "https://music.youtube.com/watch?v=J5vzN6qt5QQ" + }, + { + "title": "M\u01b0a Tr\u00ean L\u1ed1i X\u01b0a", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "M\u01b0a Tr\u00ean L\u1ed1i X\u01b0a", + "duration": 330, + "cover_url": "https://lh3.googleusercontent.com/q6P_Wrc_rhHUGtl0a9EKAhKrp-1GiF-of2CxHFZxuT9uOowKHa5hTRc9Qj1CszmfK5BlPWNDHQEgSbun=w120-h120-l90-rj", + "id": "ZqhE4OPP23U", + "url": "https://music.youtube.com/watch?v=ZqhE4OPP23U" + }, + { + "title": "NH\u1eda - RYAN NGUYEN - AI MUSIC (Captions)", + "artist": " AI MUSIC by RYAN NGUYEN", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/gbjwtvDEciI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lhL63vTXaA3O3lzwQr2XKpGaw4ig", + "id": "gbjwtvDEciI", + "url": "https://music.youtube.com/watch?v=gbjwtvDEciI" + }, + { + "title": "M\u1ed9ng Hoa Sim", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 360, + "cover_url": "https://i.ytimg.com/vi/81FSgvpBaSQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzRj3cttbAKX7qFwn9D3dWtzQAxQ", + "id": "81FSgvpBaSQ", + "url": "https://music.youtube.com/watch?v=81FSgvpBaSQ" + }, + { + "title": "Tinh Yeu Dau Phai Tro Choi", + "artist": "Tuan Hung", + "album": "Tuan Hung Vol 6", + "duration": 268, + "cover_url": "https://lh3.googleusercontent.com/ay1hTWKjGzN43TniyLlbYNKWAqHtsMN97BIZFcNwjedNFXCR7_cbnZ5MwAFbbF_A3QsggfeDb-CgkhpQDw=w120-h120-l90-rj", + "id": null, + "url": "https://music.youtube.com/watch?v=None" + }, + { + "title": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em 2", + "artist": "Nguy\u1ec5n M\u1ea1nh To\u00e0n", + "album": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em 2", + "duration": 287, + "cover_url": "https://lh3.googleusercontent.com/Vikad68WtK0xxzaYlOBoxzknnMK7fzvOWudPEr00Y5yxkfT0mKKVP_nLzD9PkcmauFwFNgEXqt0QVeJk=w120-h120-l90-rj", + "id": "E53YMnffzXk", + "url": "https://music.youtube.com/watch?v=E53YMnffzXk" + }, + { + "title": "K\u00fd \u1ee8c Nh\u1ea1t M\u00e0u (Beat)", + "artist": "A T\u1ed5", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/VpWs9dTEX5Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kjRhptw9c8B_q5MJPDlYX314k1RA", + "id": "VpWs9dTEX5Q", + "url": "https://music.youtube.com/watch?v=VpWs9dTEX5Q" + }, + { + "title": "M\u01b0a r\u01a1i tr\u00ean ph\u1ed1 (Blues Rock)", + "artist": "TimelessRemixes", + "album": "M\u01b0a r\u01a1i tr\u00ean ph\u1ed1 (Blues Rock)", + "duration": 255, + "cover_url": "https://lh3.googleusercontent.com/gOv1XlnaOvFmLQITH1ZW1GHT_CvXxHaEc8okII9ii6qX34lP--Rp65WbR5tv2jjtxFYqB35Of-Jn2TE=w120-h120-l90-rj", + "id": "4iSf8_WvtFg", + "url": "https://music.youtube.com/watch?v=4iSf8_WvtFg" + }, + { + "title": "L\u1eb7ng Th\u1ea7m M\u1ed9t T\u00ecnh Y\u00eau", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "L\u1eb7ng Th\u1ea7m M\u1ed9t T\u00ecnh Y\u00eau", + "duration": 194, + "cover_url": "https://lh3.googleusercontent.com/EpBOjvXFYo3EU2f7QLmBDKQwJAN_GK8BTL6mpiZ9w8ysiUbKbd0FFhGtofDAM71zONq9tAJXJCGYPizZsw=w120-h120-l90-rj", + "id": "6fidbDQvPfk", + "url": "https://music.youtube.com/watch?v=6fidbDQvPfk" + }, + { + "title": "\u0110\u00d4NG MANG - PH\u00daC CHINH | CHU TH\u00daY QU\u1ef2NH COVER | Cover Nh\u1ea1c Tr\u1ebb Hay Nh\u1ea5t", + "artist": "Chu Th\u00fay Qu\u1ef3nh", + "album": "Single", + "duration": 214, + "cover_url": "https://i.ytimg.com/vi/MS9p9MsmDmw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lTrP0Yn_xNFbeG5jsDexf4wKwO9w", + "id": "MS9p9MsmDmw", + "url": "https://music.youtube.com/watch?v=MS9p9MsmDmw" + }, + { + "title": "Ng\u00f5 V\u1eafng | Ca kh\u00fac tr\u1eef t\u00ecnh vang l\u00ean trong \u0111\u00eam...", + "artist": "BICH Official", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/i0LD0USkimA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kEtEqNawxb4YKYuKIQThFtdwO_HQ", + "id": "i0LD0USkimA", + "url": "https://music.youtube.com/watch?v=i0LD0USkimA" + }, + { + "title": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em", + "artist": "Ken Quach", + "album": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em", + "duration": 248, + "cover_url": "https://lh3.googleusercontent.com/NFaKb_h0auQI_q-DWIUy3MjkWmTbRHMfCpp2MoOw8omQ0QILJdfmV6pSrnG8zTkAteGwl9tUXz6bLeTN=w120-h120-l90-rj", + "id": "4EJjcYMYAyE", + "url": "https://music.youtube.com/watch?v=4EJjcYMYAyE" + }, + { + "title": "Ng\u00e0n N\u0103m V\u1eabn \u0110\u1ee3i", + "artist": "Host Nguy\u00ean Khang", + "album": "The Khang Show (EP29 \u0110\u1eebng Bu\u00f4ng Tay Nhau, Ng\u01b0\u1eddi nh\u00e9)", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/fTfPTa5DlJbU6-OVRygG1Aj1EHAwXZ7Fyqx6hAi5kHfbm-h-59gm2jVQAeOeaxzlIZqFfcCBFncpi-QA=w120-h120-l90-rj", + "id": "tvrddgOACE0", + "url": "https://music.youtube.com/watch?v=tvrddgOACE0" + }, + { + "title": "Ng\u00e3 \u0110au", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/1HWV7G9zYdI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nM6oKfpJxlN6HoEosKdgP--6_avw", + "id": "1HWV7G9zYdI", + "url": "https://music.youtube.com/watch?v=1HWV7G9zYdI" + }, + { + "title": "TH\u01af\u01a0NG HOA TI\u1ebeC NG\u1eccC - Ti\u1ebfng ai o\u00e1n n\u1ec9 non th\u01b0\u01a1ng ph\u1eadn duy\u00ean || JEE TR\u1ea6N | OFFICIAL MUSIC VIDEO", + "artist": "Jee Tr\u1ea7n", + "album": "Single", + "duration": 289, + "cover_url": "https://i.ytimg.com/vi/Vgws2XQ62AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lrNBvMwDYYCdiksMKc4pxughS0jQ", + "id": "Vgws2XQ62AE", + "url": "https://music.youtube.com/watch?v=Vgws2XQ62AE" + }, + { + "title": "[B\u1ea2N SAU L\u01afNG] SAY M\u1ed8T \u0110\u1edcI V\u00cc EM | Choreo H\u01b0\u1eddng Nguy\u1ec5n | Upcrew | dance fitness", + "artist": "UP CREW", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/0trW247JGeQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvT4PhUN5XbL0EuK3Sq3oMLQrnCA", + "id": "0trW247JGeQ", + "url": "https://music.youtube.com/watch?v=0trW247JGeQ" + }, + { + "title": "B\u1ea3n c\u00f9ng h\u01b0\u1edbng Say m\u1ed9t \u0111\u1eddi v\u00ec em | Ta say kh\u00f4ng ph\u1ea3i v\u00ec men | Easy step by Dance Fitness with An Le", + "artist": "Dance Fitness with An Le", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/NrG0db_a3x0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krnNgLTyb7LGIq-H4zfZiAINBLeQ", + "id": "NrG0db_a3x0", + "url": "https://music.youtube.com/watch?v=NrG0db_a3x0" + }, + { + "title": "N\u1ed7i nh\u1edb r\u00e3 r\u1eddi (Blues Rock)", + "artist": "TimelessRemixes", + "album": "N\u1ed7i nh\u1edb r\u00e3 r\u1eddi (Blues Rock)", + "duration": 318, + "cover_url": "https://lh3.googleusercontent.com/dCb7CectK_AB7Yy6O5vHrpQv_fMO8ha7lQVQLeP4r9bJly77j_4LjaSB6yInYqyghcUiumpY3Ry8UpQTJg=w120-h120-l90-rj", + "id": "A_vHP6YrXjc", + "url": "https://music.youtube.com/watch?v=A_vHP6YrXjc" + }, + { + "title": "\u0110\u1eddi C\u00f2n G\u00ec Cho T\u00f4i", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "\u0110\u1eddi C\u00f2n G\u00ec Cho T\u00f4i", + "duration": 269, + "cover_url": "https://lh3.googleusercontent.com/cQ5j6sgrrv33hmjkL3OF8jMAYSurICAvKXXO0BYQDAhmIapSmkhuduiugLlhkLfDMcK6T4vhbl6a77Yk=w120-h120-l90-rj", + "id": "A9MmWcrqoeE", + "url": "https://music.youtube.com/watch?v=A9MmWcrqoeE" + }, + { + "title": "M\u1ed8T C\u00d5I T\u00ccNH PHAI s\u00e1ng t\u00e1c NG\u00d4 TH\u1ee4Y MI\u00caN ti\u1ebfng h\u00e1t M\u1ef8 H\u1ea0NH", + "artist": "M\u1ef9 H\u1ea1nh", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/bswsSxFpWGE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kfoNwIiZszTqEfXD_cc6hjieeexQ", + "id": "bswsSxFpWGE", + "url": "https://music.youtube.com/watch?v=bswsSxFpWGE" + }, + { + "title": "T\u00ecnh Dang D\u1edf (Andy Remix)", + "artist": "\u0110\u00ecnh D\u0169ng, ACV", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/AghIqOvlxRQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mB-xuabINJadLMmGDwCmVle8Ftyw", + "id": "AghIqOvlxRQ", + "url": "https://music.youtube.com/watch?v=AghIqOvlxRQ" + }, + { + "title": "Con \u0111\u01b0\u1eddng ta \u0111\u00e3 qua (Blues rock)", + "artist": "TimelessRemixes", + "album": "Con \u0111\u01b0\u1eddng ta \u0111\u00e3 qua (Blues rock)", + "duration": 261, + "cover_url": "https://lh3.googleusercontent.com/O094Fpz87jPgO9VYfOzvipvWXOBa2hVVAnUtMqhPF-Ta3rjwtL5N_VGvL4HZBE19j9d45k2QrrDN144=w120-h120-l90-rj", + "id": "OGvpgxFbm3k", + "url": "https://music.youtube.com/watch?v=OGvpgxFbm3k" + }, + { + "title": "D\u0129 V\u00e3ng Nh\u1ea1t Nh\u00f2a", + "artist": "H\u00e0 Nhi", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/oCXDT0S1kLU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mP0CKnFdVqzg0dqSr6Blt695bThA", + "id": "oCXDT0S1kLU", + "url": "https://music.youtube.com/watch?v=oCXDT0S1kLU" + }, + { + "title": "V\u00ec Em | Nh\u1ea1c Rock Ballad | Lyric Video", + "artist": "NhacCuaAI247", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/32c3QoBRAxg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kC8JLNqr80qPFwQuTp4Wo8caq00g", + "id": "32c3QoBRAxg", + "url": "https://music.youtube.com/watch?v=32c3QoBRAxg" + }, + { + "title": "Ng\u01b0\u1eddi h\u00e3y qu\u00ean em \u0111i", + "artist": "M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 275, + "cover_url": "https://i.ytimg.com/vi/f-BzUepNeZw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kXg20cs0bB760y7QcTLCumCFm_9Q", + "id": "f-BzUepNeZw", + "url": "https://music.youtube.com/watch?v=f-BzUepNeZw" + }, + { + "title": "\u0110O\u1ea2N KH\u00daC CU\u1ed0I CHO EM (ST: Ho\u00e0ng Tr\u1ecdng Thu\u1ef5) | Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "artist": "Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/vLpzY0ef3r4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lhuu84t5U8kuvovSMf758b3aHJ7A", + "id": "vLpzY0ef3r4", + "url": "https://music.youtube.com/watch?v=vLpzY0ef3r4" + }, + { + "title": "Truy M\u1ed9ng Nh\u00e2n - Hi\u1ec1n Th\u1ee5c Official Music Video", + "artist": "Hi\u1ec1n Th\u1ee5c", + "album": "Single", + "duration": 251, + "cover_url": "https://i.ytimg.com/vi/8cFMytiCh74/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mzPlWTd6b11nAbdxdko_H1C5FBlA", + "id": "8cFMytiCh74", + "url": "https://music.youtube.com/watch?v=8cFMytiCh74" + }, + { + "title": "C\u1ea3m Gi\u00e1c | L\u01b0u \u00c1nh Loan I Ca Kh\u00fac Bolero Tr\u1eef T\u00ecnh \ud83d\udc4d", + "artist": "L\u01b0u \u00c1nh Loan", + "album": "Single", + "duration": 305, + "cover_url": "https://i.ytimg.com/vi/LvwdeUcw4_Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mfsze1m4Ll2P5t104kxsdW7yvVHw", + "id": "LvwdeUcw4_Q", + "url": "https://music.youtube.com/watch?v=LvwdeUcw4_Q" + }, + { + "title": "Khi", + "artist": "Quang D\u0169ng", + "album": "T\u00ecnh Ca L\u00ea Quang (Musicbox 16)", + "duration": 337, + "cover_url": "https://lh3.googleusercontent.com/ZrZi1OLlXZ4jAMSZ3_ILguOFQ-WSXLLtRfU1A8s3VkqyaHg-P_5JZUqw-xxk9TJ4bscgbPyJRgzY_FKU=w120-h120-l90-rj", + "id": "dH_PHGiwZTc", + "url": "https://music.youtube.com/watch?v=dH_PHGiwZTc" + }, + { + "title": "Say \u0110i_Cover I Blues Music Vietnam", + "artist": "AsiaSing Beats", + "album": "Single", + "duration": 305, + "cover_url": "https://i.ytimg.com/vi/VcLSHwwsT0w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n5Mtny0qRtm89PEP9DNvTbeOSSzQ", + "id": "VcLSHwwsT0w", + "url": "https://music.youtube.com/watch?v=VcLSHwwsT0w" + }, + { + "title": "Ch\u00e9n R\u01b0\u1ee3u Ch\u00e9n \u0110\u1eddi", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "Ch\u00e9n R\u01b0\u1ee3u Ch\u00e9n \u0110\u1eddi", + "duration": 250, + "cover_url": "https://lh3.googleusercontent.com/U6ILzCj5LePt-Vp5BfneOTMa3fXjl9LYsYanTDJhLSRrfAyZ77AL48VRX4EA5Q7oHFc3vKMburuWG3KVSA=w120-h120-l90-rj", + "id": "wPsi5w5QqlM", + "url": "https://music.youtube.com/watch?v=wPsi5w5QqlM" + }, + { + "title": "B\u00c2NG KHU\u00c2NG - Nh\u1ea1c v\u00e0 l\u1eddi Nguy\u1ec5n T\u01b0\u1eddng, Ca s\u0129 Nguy\u1ec5n Quang, H\u00f2a \u00e2m Quang \u0110\u1ee9c", + "artist": "T\u01b0\u1eddng Nguy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/LiQgR_759Jc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGvK_Hki0oCtXVvS2Ol7Q-Flz0CA", + "id": "LiQgR_759Jc", + "url": "https://music.youtube.com/watch?v=LiQgR_759Jc" + }, + { + "title": "Rock H\u00e0 N\u1ed9i M\u00f9i Hoa S\u1eefa", + "artist": "TimelessRemixes", + "album": "Rock H\u00e0 N\u1ed9i M\u00f9i Hoa S\u1eefa", + "duration": 292, + "cover_url": "https://lh3.googleusercontent.com/vRRoYP2pOfjg50CqFaM52JaM_AT_mLscXzr7i2j0tNTnmH7iXtgw3twZm8srPDYHPFWiw_zr7668NBgO=w120-h120-l90-rj", + "id": "eZ_Utfd5fGs", + "url": "https://music.youtube.com/watch?v=eZ_Utfd5fGs" + }, + { + "title": "CH\u1ec8 L\u00c0 M\u1ed8T NG\u01af\u1edcI C\u0168 | V\u01af\u01a0NG L\u00c2M | QUANG TR\u1ef0C | Ch\u1ec9 l\u00e0 m\u1ed9t ng\u01b0\u1eddi c\u0169, em t\u1eebng y\u00eau th\u00f4i, ph\u1ea3i kh\u00f4ng?", + "artist": "Chi l\u00e2m official", + "album": "Single", + "duration": 347, + "cover_url": "https://i.ytimg.com/vi/w2hwTJchmio/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lwncsJnfKsB0XnMvZrSxLPqubb6Q", + "id": "w2hwTJchmio", + "url": "https://music.youtube.com/watch?v=w2hwTJchmio" + }, + { + "title": "T\u00ecnh Phai - Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng | The Khang Show", + "artist": "THE KHANG SHOW", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/fwNY9pBxp5I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nxlwYf2FNMgXg0SuhhGOTPYvYrrg", + "id": "fwNY9pBxp5I", + "url": "https://music.youtube.com/watch?v=fwNY9pBxp5I" + }, + { + "title": "T\u00ecnh Latin Say \u0110\u1eafm", + "artist": "SoulRain", + "album": "T\u00ecnh Latin Say \u0110\u1eafm", + "duration": 253, + "cover_url": "https://lh3.googleusercontent.com/InGXc8ipzRZIB2eDi5_30G0z0E2c3lD1xV3YdCnX-FekQ6ws9gLjXdFZPKEaXTYgmRvRHpiGPZeVG_s=w120-h120-l90-rj", + "id": "qi_Nyr-LFW0", + "url": "https://music.youtube.com/watch?v=qi_Nyr-LFW0" + }, + { + "title": "KH\u00d4NG CH\u1ec8 L\u00c0 TH\u00cdCH | CH\u00c2U D\u01af\u01a0NG | Nh\u1ea1c Tr\u1ebb m\u1edbi nh\u1ea5t 2025", + "artist": "Ch\u00e2u D\u01b0\u01a1ng", + "album": "Single", + "duration": 194, + "cover_url": "https://i.ytimg.com/vi/1r4pQC0BAis/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kfDUhn0v0d3DqAMNas5BZaR5-wog", + "id": "1r4pQC0BAis", + "url": "https://music.youtube.com/watch?v=1r4pQC0BAis" + }, + { + "title": "T\u00ecnh Tan Trong M\u01b0a", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "T\u00ecnh Tan Trong M\u01b0a", + "duration": 239, + "cover_url": "https://lh3.googleusercontent.com/Q7SpsZVWkVOFyvi4dQZZwXYmDnxdZ2qW8nZ9XF4CYmb2uiKYzPT1jfu97yShVp2QnTarrz05jgaXLDik=w120-h120-l90-rj", + "id": "tKvHkhfsCsk", + "url": "https://music.youtube.com/watch?v=tKvHkhfsCsk" + }, + { + "title": "Anh M\u1ea5t Ki\u1ec3m So\u00e1t", + "artist": "NhacCuaAI247", + "album": "Anh M\u1ea5t Ki\u1ec3m So\u00e1t", + "duration": 233, + "cover_url": "https://lh3.googleusercontent.com/LoG2iCH0-9GSnuKGmxh8dEeNdST4WBsP6MDiytC6KpjJUOEf5xUp71m4I9VKJrQSJAVDHeU_2YfiJkE6=w120-h120-l90-rj", + "id": "VU-a_84x14s", + "url": "https://music.youtube.com/watch?v=VU-a_84x14s" + }, + { + "title": "L\u00e0m Sao Con \u0110\u1ebfn V\u1edbi Ch\u00faa", + "artist": "Song Hy Vong TV", + "album": "L\u00e0m Sao Con \u0110\u1ebfn V\u1edbi Ch\u00faa", + "duration": 210, + "cover_url": "https://lh3.googleusercontent.com/PluSljE5GYD4MFZocMsc58Mdqa9ZlG8QoQLBDuId03PkpF62XRG-lSAzilLd8jXNg8Xs9skn3fWZaZRL=w120-h120-l90-rj", + "id": "lB6VhkyGYYQ", + "url": "https://music.youtube.com/watch?v=lB6VhkyGYYQ" + }, + { + "title": "Chung Thanh Duy | Hoa | L\u1ea1c trong m\u01a1, t\u00f4i c\u1ea5t b\u01b0\u1edbc \u0111i gi\u1eefa khu r\u1eebng...", + "artist": "Chung Thanh Duy", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/5I22fIBCw2o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kkwBl8Bu7aMt91J9PeejL1JBGk0A", + "id": "5I22fIBCw2o", + "url": "https://music.youtube.com/watch?v=5I22fIBCw2o" + }, + { + "title": "Nh\u1eefng L\u1eddi D\u1ed1i Gian", + "artist": "Anh T\u00fa", + "album": "L\u1ea1nh Tr\u1ecdn \u0110\u00eam M\u01b0a", + "duration": 243, + "cover_url": "https://lh3.googleusercontent.com/ToDHvUmXM5dKh9m2JFDru7lveHrOsEMLqw0Bi5ZhheytE57HjtdzEq2Im8YdZH49Srw5NaKjqpIe0PY=w120-h120-l90-rj", + "id": "xEfkMdXIlVs", + "url": "https://music.youtube.com/watch?v=xEfkMdXIlVs" + }, + { + "title": "Kh\u00fac T\u00ecnh X\u01b0a | Rhumba Ho\u00e0i Ni\u1ec7m T\u00ecnh Ca Vi\u1ec7t \u2013 T\u00ecnh Ca AI (Official Audio)", + "artist": "T\u00ecnh Ca AI - Nh\u1ea1c Vi\u1ec7t", + "album": "Single", + "duration": 232, + "cover_url": "https://i.ytimg.com/vi/abAAfbjQ2S4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kR5hen4cA5udywMSkg4dsE_x84cA", + "id": "abAAfbjQ2S4", + "url": "https://music.youtube.com/watch?v=abAAfbjQ2S4" + }, + { + "title": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em - Nh\u1ea3y Chachacha Feeling Cao Thanh Dance", + "artist": "Cao Thanh Dance", + "album": "Single", + "duration": 247, + "cover_url": "https://i.ytimg.com/vi/BXRQRSECdDM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m6DNKtQatalppsUpsnRBIIDGAuZQ", + "id": "BXRQRSECdDM", + "url": "https://music.youtube.com/watch?v=BXRQRSECdDM" + }, + { + "title": "SAY \u0110\u1eaeM - A.I MUSIC", + "artist": "L\u00e3ng T\u1eed Flow", + "album": "Single", + "duration": 219, + "cover_url": "https://i.ytimg.com/vi/fW7PRP-jid4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n4gAvk1fMmZl5wMg8H2fJrTbnbig", + "id": "fW7PRP-jid4", + "url": "https://music.youtube.com/watch?v=fW7PRP-jid4" + }, + { + "title": "Nh\u01b0 Gi\u1ecdt S\u01b0\u01a1ng Mai (Official MV) | B\u1ea3n t\u00ecnh ca mong manh nh\u01b0 gi\u1ecdt s\u01b0\u01a1ng...", + "artist": "B\u00edch Ng\u1ecdc", + "album": "Single", + "duration": 189, + "cover_url": "https://i.ytimg.com/vi/e9olg8Q6wXw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k2QGV57kN4xPjefnuy4Yw4iVVBMg", + "id": "e9olg8Q6wXw", + "url": "https://music.youtube.com/watch?v=e9olg8Q6wXw" + }, + { + "title": "Gi\u00e3 t\u1eeb", + "artist": "\u0110\u00e0m V\u0129nh H\u01b0ng", + "album": "Single", + "duration": 400, + "cover_url": "https://i.ytimg.com/vi/CNZCHZ_DkDE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nuDFuGWVibyW5kUy51TzwgrxKU-Q", + "id": "CNZCHZ_DkDE", + "url": "https://music.youtube.com/watch?v=CNZCHZ_DkDE" + }, + { + "title": "TA \u0110\u00c3 T\u1eeaNG Y\u00caU", + "artist": "Lala Tr\u1ea7n", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/-R_2QWXSSjM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ml2sTb9AmcBvzBFIf9jloKNH2MNA", + "id": "-R_2QWXSSjM", + "url": "https://music.youtube.com/watch?v=-R_2QWXSSjM" + }, + { + "title": "H\u00f4n Em \u0110i | Rhumba Ng\u1ecdt Ng\u00e0o Quy\u1ebfn R\u0169 \u2013 T\u00ecnh Ca AI (Official Audio)", + "artist": "T\u00ecnh Ca AI - Nh\u1ea1c Vi\u1ec7t", + "album": "Single", + "duration": 293, + "cover_url": "https://i.ytimg.com/vi/e6JFStgwiPo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klYUgehEfph3q8iBSojRWzuhU2Sg", + "id": "e6JFStgwiPo", + "url": "https://music.youtube.com/watch?v=e6JFStgwiPo" + }, + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM/Zumba B\u00ecnh dance cover", + "artist": "Zumba B\u00ecnh Minh", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/fG8c9ycm5TA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kFC8mTUlzpveapz-qSTmWzVuHInw", + "id": "fG8c9ycm5TA", + "url": "https://music.youtube.com/watch?v=fG8c9ycm5TA" + }, + { + "title": "Say m\u1ed9t \u0111\u1eddi v\u00ec em/ Choreo Thu\u1eadn Zilo / Zumba Li\u00ean Nguy\u00ean", + "artist": "Lien Nguy\u00ean Zumba", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/nk7tpx1AyHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfZYcY7TfmOf6Fyn3wOrBesCqc3Q", + "id": "nk7tpx1AyHw", + "url": "https://music.youtube.com/watch?v=nk7tpx1AyHw" + }, + { + "title": "\ud83c\udfb5 L\u1eb7ng L\u1ebd Y\u00eau Em \u2013 B\u00e0i H\u00e1t Bu\u1ed3n Nh\u1eb9 Nh\u00e0ng | Nh\u1ea1c T\u00e2m Tr\u1ea1ng", + "artist": "DyChi AI Music", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/pk1SbiA0J18/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kAPoUYZPJTlWnc1sB9rx0FtuWWSg", + "id": "pk1SbiA0J18", + "url": "https://music.youtube.com/watch?v=pk1SbiA0J18" + }, + { + "title": "M\u00f9a Thu Cho Em - Th\u1ee5y Anh & Ng\u00f4 Th\u1ee5y Mi\u00ean - AI Cover", + "artist": "Leo Son", + "album": "Single", + "duration": 315, + "cover_url": "https://i.ytimg.com/vi/TZ_T9ddfb1k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kxHV12-eqnPaFmHqIfWsSpycWl_g", + "id": "TZ_T9ddfb1k", + "url": "https://music.youtube.com/watch?v=TZ_T9ddfb1k" + }, + { + "title": "T\u00ccNH \u0110\u1ea6U - Nh\u1ea1c v\u00e0 l\u1eddi Nguy\u1ec5n T\u01b0\u1eddng, Tr\u00ecnh b\u00e0y \u0110o\u00e0n S\u01a1n, H\u00f2a \u00e2m V\u0169 Minh T\u00e2m", + "artist": "Tuong Nguyen Official", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/hVH_VXxT87I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l30EVNzYTpaCXjGFCZ_UH5v-vl_w", + "id": "hVH_VXxT87I", + "url": "https://music.youtube.com/watch?v=hVH_VXxT87I" + }, + { + "title": "C\u00f5i T\u1ea1m", + "artist": "Ken Quach", + "album": "C\u00f5i T\u1ea1m", + "duration": 217, + "cover_url": "https://lh3.googleusercontent.com/I_dhQu0Ig1HQ-TKnSIqLQkOXbuPjiWiHNTKEcc4DG9sFyCK-IjS0XEa5EBxGQsQXruOtvXqBxsBPtkA=w120-h120-l90-rj", + "id": "vJMBV814Pdg", + "url": "https://music.youtube.com/watch?v=vJMBV814Pdg" + }, + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM / dance / Choreo Thu\u1eadn Zilo", + "artist": "Ph\u01b0\u1ee3ng \u0110\u00e0m", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/WOiJByoyxPM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3naEljXYpE2CthEPXxF7fhl_Cyyqg", + "id": "WOiJByoyxPM", + "url": "https://music.youtube.com/watch?v=WOiJByoyxPM" + }, + { + "title": "L\u1ea1c Trong Th\u01b0\u01a1ng Nh\u1edb", + "artist": "Lala Tr\u1ea7n, Nguy\u1ec5n H\u1ed3ng Thu\u1eadn", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/8jznrLXuzhA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l4rlRI-Ki9ji6ffz6VhzFCg8CcpQ", + "id": "8jznrLXuzhA", + "url": "https://music.youtube.com/watch?v=8jznrLXuzhA" + }, + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM | A.i Musik Box | TRAN LONG | DANCEFIT | DANCEWORKOUT", + "artist": "TranLong DanceFit", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/29ir0FHNN30/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1pxNxeS59kM-EEN7SQ5JeZrLxqQ", + "id": "29ir0FHNN30", + "url": "https://music.youtube.com/watch?v=29ir0FHNN30" + }, + { + "title": "M\u1ed9t L\u1ea7n Y\u00eau", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "M\u1ed9t L\u1ea7n Y\u00eau", + "duration": 208, + "cover_url": "https://lh3.googleusercontent.com/_QBkHcuW0AjpxyzS_ncbleKYQeg5TicJ6Ayx3DheHas5MC25pRRNz5ClTdw-08Q98HfQUhoY44MIzHo=w120-h120-l90-rj", + "id": "Jxr5WNJRGOw", + "url": "https://music.youtube.com/watch?v=Jxr5WNJRGOw" + }, + { + "title": "Y\u00eau L\u00e0 Ch\u1ebft Trong L\u00f2ng", + "artist": "Quang D\u0169ng", + "album": "T\u00ecnh B\u1ed7ng Ch\u1ed1c L\u00e0 Kh\u00f4ng", + "duration": 300, + "cover_url": "https://lh3.googleusercontent.com/oGzRRAywXOcsQvfDsrwguYgflaKCYETBh8orZeFzq9l4iVVZfYkXk_bbUn_RSXKeB6S6fczAKGXLBbszpA=w120-h120-l90-rj", + "id": "dvQAbF359N8", + "url": "https://music.youtube.com/watch?v=dvQAbF359N8" + }, + { + "title": "PH\u1ed0 NH\u1ece KH\u00d4NG EM - RYAN NGUYEN - AI MUSIC ( ... Bi\u1ebft em ch\u1eb3ng c\u00f2n \u0111\u00e2y )", + "artist": " AI MUSIC by RYAN NGUYEN", + "album": "Single", + "duration": 321, + "cover_url": "https://i.ytimg.com/vi/nTfgiVuPpbo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kGJE9_2SKd1eRmWA1TjNyMwIH5WQ", + "id": "nTfgiVuPpbo", + "url": "https://music.youtube.com/watch?v=nTfgiVuPpbo" + }, + { + "title": "T\u00ecnh N\u1ed3ng\ud83c\udfb8COVER REMIX\ud83c\udfb8Metal Rock\ud83c\udfb8\u0110\u1eebng bu\u1ed3n nh\u00e9 em h\u1ee1i, cu\u1ed9c t\u00ecnh n\u00e0o kh\u00f4ng lu\u00f4n x\u00f3t xa\ud83c\udfb8AiRock", + "artist": "AiRock", + "album": "Single", + "duration": 323, + "cover_url": "https://i.ytimg.com/vi/N0ascSQXUsk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lrx4Bg8z64tjfEMntDJSY6Pb4Lxg", + "id": "N0ascSQXUsk", + "url": "https://music.youtube.com/watch?v=N0ascSQXUsk" + }, + { + "title": "Ch\u1ea1m M\u1ed9t Ch\u00fat Nh\u1edb | A Touch of Memory \u2013 Official Lyric Video | BC Melody", + "artist": "BC Melody", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/LexOY61JXSQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_LFCLG01LbXP0CS_l44VKcvGgfg", + "id": "LexOY61JXSQ", + "url": "https://music.youtube.com/watch?v=LexOY61JXSQ" + }, + { + "title": "N\u1ed6I BU\u1ed2N T\u00d4I B\u00c1N AI MUA - JEE TR\u1ea6N X NGUY\u1ec4N \u0110\u00ccNH LONG X V2T MEDIA | OFFICIAL MUSIC VIDEO", + "artist": "Jee Tr\u1ea7n", + "album": "Single", + "duration": 300, + "cover_url": "https://i.ytimg.com/vi/qJYV2G4M56o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nTgAdEJnVjLlHxC9xub7LqYrsNSw", + "id": "qJYV2G4M56o", + "url": "https://music.youtube.com/watch?v=qJYV2G4M56o" + }, + { + "title": "\u0110\u00e0nh Th\u00f4i Xa C\u00e1ch", + "artist": "Ph\u01b0\u01a1ng Ph\u01b0\u01a1ng Th\u1ea3o", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/DKldT39UwnE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBNHv1PuTlzKtPGm2TYefZwJW0mQ", + "id": "DKldT39UwnE", + "url": "https://music.youtube.com/watch?v=DKldT39UwnE" + }, + { + "title": "GI\u1ea4C M\u01a0 KH\u00d4NG V\u1ec0 _ 1 b\u00e0i #rockviet #rockballad ho\u00e0i ni\u1ec7m c\u1ee7a #tromusic d\u00e0nh cho c.s. Nguy\u00ean Th\u1eafng", + "artist": "TRO - Music", + "album": "Single", + "duration": 422, + "cover_url": "https://i.ytimg.com/vi/OjTTVdJgwSI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kGaAXtw1zSBddDlZ4Xzt5HokoIvg", + "id": "OjTTVdJgwSI", + "url": "https://music.youtube.com/watch?v=OjTTVdJgwSI" + }, + { + "title": "T\u00ccNH NH\u01af L\u00c1 BAY XA - LALA TR\u1ea6N | Official MV | T\u00ecnh y\u00eau m\u1edbi h\u00f4m qua nay l\u1ea1nh l\u00f9ng b\u0103ng gi\u00e1", + "artist": "Lala Tr\u1ea7n", + "album": "Single", + "duration": 263, + "cover_url": "https://i.ytimg.com/vi/X0Adwm85PnE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lD6_h89iFPlAtrn-1mfb2abIVdew", + "id": "X0Adwm85PnE", + "url": "https://music.youtube.com/watch?v=X0Adwm85PnE" + }, + { + "title": "V\u1ea0N S\u1ea6U V\u1ea0N \u0110\u1eaeNG - Tuy\u1ec7t Ph\u1ea9m Blues Rock M\u1edbi | Album Nh\u1ea1c Suy | M\u1ed9t Ki\u1ebfp \u0110au, M\u1ed9t \u0110\u1eddi C\u00f4 \u0110\u1ed9c", + "artist": "AndyNghiem", + "album": "Single", + "duration": 283, + "cover_url": "https://i.ytimg.com/vi/F19sASvS2WI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3msn3rQlUZyMssc0AlZDXY4b8RskA", + "id": "F19sASvS2WI", + "url": "https://music.youtube.com/watch?v=F19sASvS2WI" + }, + { + "title": "ANH L\u1ea0I NH\u1eda EM R\u1ed2I - HU\u1ef2NH PH\u00daC COVER - TU\u1ec6 PH\u01af\u01a0NG - LYRIC VIDEO", + "artist": "Hu\u1ef3nh Ph\u00fac Music", + "album": "Single", + "duration": 229, + "cover_url": "https://i.ytimg.com/vi/nfq0dcUD3Hw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nk_0LKQaWMwV1K49zyHVVNW2SSPw", + "id": "nfq0dcUD3Hw", + "url": "https://music.youtube.com/watch?v=nfq0dcUD3Hw" + }, + { + "title": "Nguy\u1ec5n H\u1eefu Kha - N\u1eafng D\u01b0\u1edbi Ch\u00e2n M\u00e2y (Official Music Video)", + "artist": "Nguy\u1ec5n H\u1eefu Kha", + "album": "Single", + "duration": 254, + "cover_url": "https://i.ytimg.com/vi/fvBBwFhfMSY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD_gifImJb5ZCKyQu-d-r3KFfNYQ", + "id": "fvBBwFhfMSY", + "url": "https://music.youtube.com/watch?v=fvBBwFhfMSY" + }, + { + "title": "Y\u00eau \u0110\u1eebng Ch\u1edd | Nh\u1ea1c Slow Rock Ballad | Lyric Video", + "artist": "NhacCuaAI247", + "album": "Single", + "duration": 240, + "cover_url": "https://i.ytimg.com/vi/9uPUwtDle-c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lB-NfHaST38BZkQIXjBxZ2R_sLdw", + "id": "9uPUwtDle-c", + "url": "https://music.youtube.com/watch?v=9uPUwtDle-c" + }, + { + "title": "M\u1ed9t Ch\u00e9n Say", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/VK9sQu2zHEY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lQBvgbFhb5Omn7aZc9IOtyXXqsyQ", + "id": "VK9sQu2zHEY", + "url": "https://music.youtube.com/watch?v=VK9sQu2zHEY" + }, + { + "title": "S\u00e0i G\u00f2n \u01a0i Xin L\u1ed7i C\u1ea3m \u01a0n", + "artist": "Tuan Hung, Khac Viet", + "album": "Single", + "duration": 269, + "cover_url": "https://i.ytimg.com/vi/gJTcVlTfmGc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mqDyHN-Ow06RyrNAudr0paxoEgZw", + "id": "gJTcVlTfmGc", + "url": "https://music.youtube.com/watch?v=gJTcVlTfmGc" + }, + { + "title": "\u0110\u00eam \u0110\u1ecbnh M\u1ec7nh", + "artist": "H\u1ed3 L\u1ec7 Thu", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/a8IWXk02qxI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luZvCITza5QjgRhg_zXTRv1X5Ffw", + "id": "a8IWXk02qxI", + "url": "https://music.youtube.com/watch?v=a8IWXk02qxI" + }, + { + "title": "Say M\u1ed9t \u0110\u1eddi V\u00ec Em | Cover Hien Xu | Choreo An Le", + "artist": "Nh\u00e3 C\u00e1t Ti\u00ean Zumba Dance Fitness", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/97FO6F1G3bs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kKkV5my4R-ryAfX4tSuhOFjBFWRg", + "id": "97FO6F1G3bs", + "url": "https://music.youtube.com/watch?v=97FO6F1G3bs" + }, + { + "title": "Anh \u0110au T\u1eeb L\u00fac Em \u0110i - Tr\u1ea7n M\u1ea1nh C\u01b0\u1eddng | Ho\u00e0i L\u00e2m Cover", + "artist": "Ho\u00e0i L\u00e2m", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/fYC6RRQLhpc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_qrtKnGIBh2HEp1hKGynudk08YA", + "id": "fYC6RRQLhpc", + "url": "https://music.youtube.com/watch?v=fYC6RRQLhpc" + }, + { + "title": "Anh V\u1eabn \u1ede \u0110\u00e2y", + "artist": "Life is Melody", + "album": "Anh V\u1eabn \u1ede \u0110\u00e2y", + "duration": 235, + "cover_url": "https://lh3.googleusercontent.com/SYFJJSgp9SZLrJqbjvVmibFOKeH1zn_SqBlw_Urv8tNzhUCdjdDddPGi7tAdJdk9pso_JfkuijYBg7DW=w120-h120-l90-rj", + "id": "cRjkIEOKEAw", + "url": "https://music.youtube.com/watch?v=cRjkIEOKEAw" + }, + { + "title": "T\u00ecnh Si - Thu Kh\u00fac Minh - S\u00e1ng t\u00e1c: Thu Kh\u00fac Minh", + "artist": "Thukhucminh", + "album": "Single", + "duration": 336, + "cover_url": "https://i.ytimg.com/vi/EihDsNUtk1A/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3msWlEv9Tbp5iQakRfGwypUghLccQ", + "id": "EihDsNUtk1A", + "url": "https://music.youtube.com/watch?v=EihDsNUtk1A" + }, + { + "title": "Mong M\u1ed9t Ng\u00e0y Anh Nh\u1edb \u0110\u1ebfn Em - Tri\u1ec7u H\u1ed3ng Ng\u1ecdc (Liveband)", + "artist": "Tri\u1ec7u H\u1ed3ng Ng\u1ecdc", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/_dm10wPsBDA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kgTRAyr6ZAJRpV6tuQ6M8QswOBIg", + "id": "_dm10wPsBDA", + "url": "https://music.youtube.com/watch?v=_dm10wPsBDA" + }, + { + "title": "B\u00e0i T\u00ecnh Ca C\u1ee7a Em", + "artist": "Quang D\u0169ng", + "album": "T\u00ecnh Ca Di\u1ec7u H\u01b0\u01a1ng", + "duration": 311, + "cover_url": "https://lh3.googleusercontent.com/7jaMsMI-RSfKDHJIuFPfSAVJY7r-wwjvcsQTY9_kV6nOXYg4EXT9JhLkP2a8gbvvyG758I30rvh5ghlwRg=w120-h120-l90-rj", + "id": "XXtDU_aud7U", + "url": "https://music.youtube.com/watch?v=XXtDU_aud7U" + }, + { + "title": "Qu\u00ean \u0110i T\u00ecnh Y\u00eau C\u0169 (feat. Ph\u01b0\u01a1ng Ph\u01b0\u01a1ng Th\u1ea3o & Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng)", + "artist": "Host Nguy\u00ean Khang", + "album": "Single", + "duration": 248, + "cover_url": "https://i.ytimg.com/vi/tn-7qlGuR8E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mezJ3rU3Z5jsNE46ZofYDi6RIqYg", + "id": "tn-7qlGuR8E", + "url": "https://music.youtube.com/watch?v=tn-7qlGuR8E" + }, + { + "title": "Ng\u00f4i Nh\u00e0 H\u1ea1nh Ph\u00fac", + "artist": "Nh\u1eadt Ph\u00e1t", + "album": "Ng\u00f4i Nh\u00e0 H\u1ea1nh Ph\u00fac", + "duration": 208, + "cover_url": "https://lh3.googleusercontent.com/8uixIHL4e8wukj-agkMAV4pbArEuRDqnCDelmj2Rb6gQEETlAxi0OlmwLIymvyO7OEslgeL9CisP8Hqw=w120-h120-l90-rj", + "id": "ULGzFJgV6Dk", + "url": "https://music.youtube.com/watch?v=ULGzFJgV6Dk" + }, + { + "title": "\u00c1o Hoa Theo Ch\u1ed3ng", + "artist": "B\u00edch Ng\u1ecdc", + "album": "T\u00ecnh \u0110\u1eddi", + "duration": 220, + "cover_url": "https://lh3.googleusercontent.com/3RKo6MQowDkJepuRkCMNYS_QRmUwID8QI6hrmjlp-WZhpex29UBRIxJHnGNYhkdLJnpP_RuJH9BNO0fuOw=w120-h120-l90-rj", + "id": "2O3ioA5xRW4", + "url": "https://music.youtube.com/watch?v=2O3ioA5xRW4" + }, + { + "title": "Tr\u00f3t Tin V\u00e0o L\u1eddi H\u1ee9a", + "artist": "H\u1ea1 V\u0169", + "album": "Tr\u00f3t Tin V\u00e0o L\u1eddi H\u1ee9a", + "duration": 216, + "cover_url": "https://lh3.googleusercontent.com/LpE8uNoewObZo7dLzm86SApMKDBwkqUwGBG0rz9i9ebdi4KDhI3jme6BRypYgA38E8TTBwyFoPZuH2o2nA=w120-h120-l90-rj", + "id": "gxeAyZoueyI", + "url": "https://music.youtube.com/watch?v=gxeAyZoueyI" + }, + { + "title": "T\u00ecnh Y\u00eau Kh\u00f4ng Th\u1ec3 Ph\u00e1 V\u1ee1 (From \"Dickson Acoustic\")", + "artist": "DICKSON", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/tiLwJKRHfxI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWmOyj-BC2MIaZMu0nNCIQ0QGRrw", + "id": "tiLwJKRHfxI", + "url": "https://music.youtube.com/watch?v=tiLwJKRHfxI" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "C\u00d3 L\u1ebc V\u00cc", + "artist": "Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "album": "C\u00d3 L\u1ebc V\u00cc", + "duration": 283, + "cover_url": "https://lh3.googleusercontent.com/pJkEbbVR1P0gbz3BW3jDAno9_sDqkAVGNLvmCFSfe2qpEsqpn0v93iT0NQK-NZ3yfzIQ_yZIyk6ZsQ8=w120-h120-s-l90-rj", + "id": "sEHtYWbQtRw", + "url": "https://music.youtube.com/watch?v=sEHtYWbQtRw" + }, + { + "title": "V\u1eeba L\u00f2ng Nhau Ch\u01b0a", + "artist": "Ch\u00e2u D\u01b0\u01a1ng", + "album": "V\u1eeba L\u00f2ng Nhau Ch\u01b0a", + "duration": 294, + "cover_url": "https://lh3.googleusercontent.com/jYIAtRRvBxWKF0CW-I97ubuhIJuDxWzcSm8ceyGTEnPWOigvxYjHR3YTVnTgCkQkMgbc7vCRn5WqlCxM=w120-h120-l90-rj", + "id": "J-oE8iuBJ68", + "url": "https://music.youtube.com/watch?v=J-oE8iuBJ68" + }, + { + "title": "L\u1ec7 ngang tr\u1eddi | A Tu\u00e2n | D\u00ednh V\u00e0ng Cover | t\u00ecnh y\u00eau \u1ea5y em r\u1ea5t t\u00f4n th\u1edd th\u1ebf nh\u1eefng em kh\u00f4ng th\u00edch.....", + "artist": "A Tu\u00e2n", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/X9RFlWZqUE4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mA-N4wCD21TD0yAgj-3GvxL-G_Fg", + "id": "X9RFlWZqUE4", + "url": "https://music.youtube.com/watch?v=X9RFlWZqUE4" + }, + { + "title": "L\u1ea1i G\u1ea7n H\u00f4n Anh", + "artist": "Host Nguy\u00ean Khang", + "album": "Single", + "duration": 299, + "cover_url": "https://i.ytimg.com/vi/yFLVfWrjqdM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3koYaDSQhc5VmcQZTy8Vl8QQg3bQA", + "id": "yFLVfWrjqdM", + "url": "https://music.youtube.com/watch?v=yFLVfWrjqdM" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Ng\u00e0y X\u01b0a Em \u0110\u1ebfn", + "artist": "Anh Khang", + "album": "Single", + "duration": 315, + "cover_url": "https://i.ytimg.com/vi/3K4WC1vw8Is/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kd3VBdU7qg31M1pCGdCvsTcFgU1Q", + "id": "3K4WC1vw8Is", + "url": "https://music.youtube.com/watch?v=3K4WC1vw8Is" + }, + { + "title": "S\u1ea6U \u2013 MV OFFICIAL c\u00f3 L\u1eddi | Bolero Bu\u1ed3n Cu\u1ed9c \u0111\u1eddi S\u1ea7u mu\u1ed9n 2025 | Ch\u00fa M\u01b0\u1eddi Ba | Full Lyrics", + "artist": "Ch\u00fa M\u01b0\u1eddi Ba", + "album": "Single", + "duration": 420, + "cover_url": "https://i.ytimg.com/vi/RC8u9hFCzCA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nEy2YY-jNu2Im0rL69_NFYZ2BCAA", + "id": "RC8u9hFCzCA", + "url": "https://music.youtube.com/watch?v=RC8u9hFCzCA" + }, + { + "title": "M\u1ed9ng D\u1edf Dang", + "artist": "MyMy", + "album": "Single", + "duration": 322, + "cover_url": "https://i.ytimg.com/vi/f-eHBYpw_s0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mbalxPJ6YFDNnYfrWtZFAO_X1VtQ", + "id": "f-eHBYpw_s0", + "url": "https://music.youtube.com/watch?v=f-eHBYpw_s0" + }, + { + "title": "Cho \u0111\u1ebfn cu\u1ed1i cu\u1ed9c \u0111\u1eddi", + "artist": "H\u1ed3 Ho\u00e0ng Y\u1ebfn, Quoc Khanh", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/SXfxjgJaR58/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l3wBlAJXJoFhoSWzranrazp5ThkQ", + "id": "SXfxjgJaR58", + "url": "https://music.youtube.com/watch?v=SXfxjgJaR58" + }, + { + "title": "Gi\u1ecdt N\u1eafng B\u00ean Th\u1ec1m - Mai H\u01b0\u1eddng | T\u00ecnh Ca Acoustic Nh\u1eb9 Nh\u00e0ng Du D\u01b0\u01a1ng Ch\u1ea1m \u0110\u1ebfn T\u00e2m H\u1ed3n Ng\u01b0\u1eddi Nghe", + "artist": "Mai H\u01b0\u01a1ng", + "album": "Single", + "duration": 307, + "cover_url": "https://i.ytimg.com/vi/N-xCtXOq-jU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lJaeyBv1venSqS515MKA22wcOurg", + "id": "N-xCtXOq-jU", + "url": "https://music.youtube.com/watch?v=N-xCtXOq-jU" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa", + "artist": "Ph\u01b0\u01a1ng \u00dd", + "album": "Single", + "duration": 212, + "cover_url": "https://i.ytimg.com/vi/dQP6cjpNB_k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mN4GwW_Gtykt0Esx5YFwYM5gIj0A", + "id": "dQP6cjpNB_k", + "url": "https://music.youtube.com/watch?v=dQP6cjpNB_k" + }, + { + "title": "Tr\u0103m N\u0103m H\u1ea1nh Ph\u00fac", + "artist": "Hoang Chau, L\u00e2m H\u00f9ng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/_8DJRcLMdtY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m06dM5FAsY1bfqNaydIzjbhP3x_w", + "id": "_8DJRcLMdtY", + "url": "https://music.youtube.com/watch?v=_8DJRcLMdtY" + }, + { + "title": "V\u1ebft Th\u01b0\u01a1ng Cu\u1ed1i C\u00f9ng", + "artist": "H\u1ed3ng Ng\u1ecdc", + "album": "V\u1ebft Th\u01b0\u01a1ng Cu\u1ed1i C\u00f9ng", + "duration": 315, + "cover_url": "https://lh3.googleusercontent.com/pzqo5p95gvckyYn5G3D9TqH4JNp19SAtxi_PXGtmoUW0Fx_722t8aroMANqoBCLIIt1Edk-vEnR95_Gh=w120-h120-l90-rj", + "id": "Pw47wOwiQ9c", + "url": "https://music.youtube.com/watch?v=Pw47wOwiQ9c" + }, + { + "title": "M\u1ed9t Thu\u1edf Y\u00eau Ng\u01b0\u1eddi [Lofi] (feat. Long Rex)", + "artist": "Vicky Nhung", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/gIgI7ZO9yTw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mo2-V0HAQQgnRLPhbkei1z-OIEBA", + "id": "gIgI7ZO9yTw", + "url": "https://music.youtube.com/watch?v=gIgI7ZO9yTw" + }, + { + "title": "GA CHI\u1ec0U PH\u1ed0 NH\u1ece - NG\u00d4 TH\u00c1I B\u1ea2O | S\u00e1ng t\u00e1c: Nguy\u1ec5n V\u0169 | M\u00e8o \u00da Guitar | OFFICIAL MV", + "artist": "Ng\u00f4 Th\u00e1i B\u1ea3o", + "album": "Single", + "duration": 366, + "cover_url": "https://i.ytimg.com/vi/oGO0TKc-y3w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nshPOdLjFWFEqX8bkaobWdf0Dm-A", + "id": "oGO0TKc-y3w", + "url": "https://music.youtube.com/watch?v=oGO0TKc-y3w" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG -- HO\u00c0NG OANH -- N\u00f3i anh nghe \u0111\u1ecba \u0111\u00e0ng m\u1edf c\u1eeda l\u00e0 ch\u1edd b\u01b0\u1edbc ch\u00e2n em ph\u1ea3i kh\u00f4ng...???", + "artist": "Ho\u00e0ng Oanh", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/RbeLMPC0z9Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l2ESCzOwzdmMstZPuf4WyAw4AnKA", + "id": "RbeLMPC0z9Q", + "url": "https://music.youtube.com/watch?v=RbeLMPC0z9Q" + }, + { + "title": "\u0110\u00e1nh M\u1ea5t", + "artist": "A Tu\u00e2n", + "album": "\u0110\u00e1nh M\u1ea5t", + "duration": 355, + "cover_url": "https://lh3.googleusercontent.com/RIYM6ZCtJN0LiOSssD2Mt6g5UTkTXCDSRr22KZ6073KRozV4RslD0c6CU2At8S_wmbThq6pLwHpnrVnl=w120-h120-l90-rj", + "id": "qZEwSv6M8-k", + "url": "https://music.youtube.com/watch?v=qZEwSv6M8-k" + }, + { + "title": "Kh\u00f3i Thu\u1ed1c \u0110\u1ee3i Ch\u1edd", + "artist": "\u0110\u00e0o K\u1ef3 Anh", + "album": "Single", + "duration": 272, + "cover_url": "https://i.ytimg.com/vi/UBKehC4yrVY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mZ4EVJnQKh-4Lcw-Hjkq9_G_8rEw", + "id": "UBKehC4yrVY", + "url": "https://music.youtube.com/watch?v=UBKehC4yrVY" + }, + { + "title": "Ch\u1ec9 C\u00f2n Nh\u1eefng M\u00f9a Nh\u1edb", + "artist": "Th\u00e1i B\u1ea3o Tr\u00e2m", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/KC4anPmJKTc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nnjVGh03R1bbkTV8R0fFG6AsJ7iw", + "id": "KC4anPmJKTc", + "url": "https://music.youtube.com/watch?v=KC4anPmJKTc" + }, + { + "title": "Khi N\u00e0o Em M\u1edbi Bi\u1ebft", + "artist": "H\u1ed3 Quang Hi\u1ebfu ", + "album": "Single", + "duration": 255, + "cover_url": "https://i.ytimg.com/vi/E0XKOfvuPmk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lbDluky-ggd9HTjvHV9CVrSTlF4w", + "id": "E0XKOfvuPmk", + "url": "https://music.youtube.com/watch?v=E0XKOfvuPmk" + }, + { + "title": "M\u1eaft L\u1ec7 Cho Ng\u01b0\u1eddi", + "artist": "Quang D\u0169ng", + "album": "M\u1eaft L\u1ec7 Cho Ng\u01b0\u1eddi", + "duration": 406, + "cover_url": "https://lh3.googleusercontent.com/UsD0TceKSoWbKRNh9rVGWux-Sa_aqi7Z89ixX7oamB55HwQkCoNoxJSGvzHzZ1sG-kck2unqPV5MB1nioA=w120-h120-l90-rj", + "id": "WA5s0fe85ic", + "url": "https://music.youtube.com/watch?v=WA5s0fe85ic" + }, + { + "title": "S\u1ee3 Y\u00eau", + "artist": "Thanh H\u00e0", + "album": "Single", + "duration": 350, + "cover_url": "https://i.ytimg.com/vi/DHfRXl32c2E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nE49B074hH04s81NNsm9-y9TRQHA", + "id": "DHfRXl32c2E", + "url": "https://music.youtube.com/watch?v=DHfRXl32c2E" + }, + { + "title": "L\u1ea1nh", + "artist": "Tonny Vi\u1ec7t, B\u1ea3o Y\u1ebfn Rosie, Ch\u00e2u \u0110\u0103ng Khoa", + "album": "Single", + "duration": 245, + "cover_url": "https://i.ytimg.com/vi/D3mvfaczm-Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljTRPdUsWoudj543yR4IQr0Dbrzg", + "id": "D3mvfaczm-Q", + "url": "https://music.youtube.com/watch?v=D3mvfaczm-Q" + }, + { + "title": "Em Say R\u1ed3i", + "artist": "Myra Tr\u1ea7n", + "album": "Single", + "duration": 389, + "cover_url": "https://i.ytimg.com/vi/Xzj4MCe53xM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3llcSASK9ZIdNkLV45MkVCsMNiCpg", + "id": "Xzj4MCe53xM", + "url": "https://music.youtube.com/watch?v=Xzj4MCe53xM" + }, + { + "title": "B\u00e0i Kh\u00f4ng T\u00ean S\u1ed1 7", + "artist": "H\u1ed3 L\u1ec7 Thu", + "album": "B\u00e0i Kh\u00f4ng T\u00ean S\u1ed1 7", + "duration": 380, + "cover_url": "https://lh3.googleusercontent.com/QaL91kfdeaPI6AjInzXc4LSy9eWX6k2m4UDiqcfpJ7WDT3N2R-P3NXkJ6oAoj3d2HvHtDpPOZX3V_3s=w120-h120-l90-rj", + "id": "bR-4nXbUlqg", + "url": "https://music.youtube.com/watch?v=bR-4nXbUlqg" + }, + { + "title": "CASABLANCA-SAO KH\u00d4NG \u0110\u1ebeN B\u00caN EM- L\u1edcI VI\u1ec6T: KIM TU\u1ea4N- TH\u00c1I H\u1eb0NG NGA", + "artist": "Th\u00e1i H\u1eb1ng Nga_Singer", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/K-BqZLOJMyI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l1aXD5qQuPqxtpgsoI2eHRulMCdQ", + "id": "K-BqZLOJMyI", + "url": "https://music.youtube.com/watch?v=K-BqZLOJMyI" + }, + { + "title": "Mal", + "artist": "L\u1ec7 Thu Nguy\u1ec5n", + "album": "Single", + "duration": 323, + "cover_url": "https://i.ytimg.com/vi/kmfEYTD94dk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQ15-VD4SnTe3hTGFdv0qAlFLFpg", + "id": "kmfEYTD94dk", + "url": "https://music.youtube.com/watch?v=kmfEYTD94dk" + }, + { + "title": "\u01af\u1edbt L\u00f2ng", + "artist": "Van Mai Huong", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/Vnquf1rOoIc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBNC-_RbN8B6BTam3RwjmKjwKZSA", + "id": "Vnquf1rOoIc", + "url": "https://music.youtube.com/watch?v=Vnquf1rOoIc" + }, + { + "title": "Khi N\u00e0o Em M\u1edbi Bi\u1ebft - B\u1ea3o Tr\u00e2m | The Khang Show", + "artist": "THE KHANG SHOW", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/jwD_2DRQVlM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kYjaPLtLaULiOOGGG-dUViHATuxA", + "id": "jwD_2DRQVlM", + "url": "https://music.youtube.com/watch?v=jwD_2DRQVlM" + }, + { + "title": "V\u1ec1 \u0110\u00e2y Em", + "artist": "Tr\u1ecbnh Nam S\u01a1n", + "album": "\u1ea4n T\u01b0\u1ee3ng S\u00e0i G\u00f2n 6", + "duration": 285, + "cover_url": "https://lh3.googleusercontent.com/npCPYak8FkQGogcKAEaqq36ekPBYjJxyyx5vhz8HjxOKBT4GM4ZFoDxl5cjTEd3eyey3v6yWGUGsEovY=w120-h120-l90-rj", + "id": "lNffUVDhsUg", + "url": "https://music.youtube.com/watch?v=lNffUVDhsUg" + }, + { + "title": "E L\u00e0 Kh\u00f4ng Th\u1ec3", + "artist": "Anh Qu\u00e2n Idol", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/stvWuowo1dU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mEpGG45pMTTSRbtgXc6M-YyWOaAQ", + "id": "stvWuowo1dU", + "url": "https://music.youtube.com/watch?v=stvWuowo1dU" + }, + { + "title": "\u0110o\u1ea1n T\u00ecnh N\u00e0y Bi\u1ebft G\u1eedi Cho Ai (HM Remix) - Beat", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 295, + "cover_url": "https://i.ytimg.com/vi/3xqnzDThndg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nnfhMjLpRsmSfIcY7ubD2PIA_q_Q", + "id": "3xqnzDThndg", + "url": "https://music.youtube.com/watch?v=3xqnzDThndg" + }, + { + "title": "T\u00ecnh N\u1ed3ng Ch\u00e1y", + "artist": "Th\u00f9y Dung", + "album": "Single", + "duration": 241, + "cover_url": "https://i.ytimg.com/vi/R7D3LiY7HyQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nvyygAfu8MXmKomhos0XP0WeK3yQ", + "id": "R7D3LiY7HyQ", + "url": "https://music.youtube.com/watch?v=R7D3LiY7HyQ" + }, + { + "title": "Mong Manh T\u00ecnh V\u1ec1", + "artist": "Thanh H\u00e0", + "album": "Mong Manh T\u00ecnh V\u1ec1", + "duration": 302, + "cover_url": "https://lh3.googleusercontent.com/qbzovErPCV8ymk-udikGlQcm1h1B0KWMWLItBQpu9DcqO1cICVERTbF4g-y3iNVc-a-riISSk75XBM8=w120-h120-l90-rj", + "id": "wZ5M5SyG2V4", + "url": "https://music.youtube.com/watch?v=wZ5M5SyG2V4" + }, + { + "title": "L\u1eee KH\u00c1CH TA B\u00c0 - HO\u00c0NG Y NHUNG X V2T MEDIA | OFFICIAL MUSIC VIDEO", + "artist": "Ho\u00e0ng Y Nhung", + "album": "Single", + "duration": 313, + "cover_url": "https://i.ytimg.com/vi/rojRddAzpM8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKaJCcy34p0GjYEx-n8vEsU0m2Cg", + "id": "rojRddAzpM8", + "url": "https://music.youtube.com/watch?v=rojRddAzpM8" + }, + { + "title": "\u00d4i Tr\u00e1i Tim Ch\u1ec9 Bi\u1ebft Y\u00eau Ng\u01b0\u1eddi (Live)", + "artist": "Nguy\u1ec5n \u0110\u00ecnh Tu\u1ea5n D\u0169ng", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/yLBo1vp9OWQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n_yMiWmUbD-qx3t420RUY7oiuqlQ", + "id": "yLBo1vp9OWQ", + "url": "https://music.youtube.com/watch?v=yLBo1vp9OWQ" + }, + { + "title": "Ch\u1ec9 M\u00ecnh Anh Nh\u00ecn Th\u1ea5y", + "artist": "NamKun, Th\u00e1i \u0110inh", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/wchJCJGUwXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m1nA4UtQM45W4kmCJeVyIkBC0h7A", + "id": "wchJCJGUwXU", + "url": "https://music.youtube.com/watch?v=wchJCJGUwXU" + }, + { + "title": "Thanh H\u00e0 | C\u1ee9 Ng\u1ee1", + "artist": "Thanh H\u00e0", + "album": "Single", + "duration": 341, + "cover_url": "https://i.ytimg.com/vi/80WEmRPNBhw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8U5DWJ55cnHAd2iLEfSxOvK9NQQ", + "id": "80WEmRPNBhw", + "url": "https://music.youtube.com/watch?v=80WEmRPNBhw" + }, + { + "title": "D\u1eebng L\u1ea1i \u0110\u00fang L\u00fac - \u0110\u1eb7ng Thanh Tuy\u1ec1n | Nh\u1ea1c Hoa L\u1eddi Vi\u1ec7t Hot Tiktok 2025", + "artist": "\u0110\u1eb7ng Thanh Tuy\u1ec1n", + "album": "Single", + "duration": 206, + "cover_url": "https://i.ytimg.com/vi/HuyOToMIpTU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nFGIl5kQaT_CjDPMpbNdU43_ATwg", + "id": "HuyOToMIpTU", + "url": "https://music.youtube.com/watch?v=HuyOToMIpTU" + }, + { + "title": "SAY M\u1ed8T \u0110\u1edcI V\u00cc EM - NGUY\u00caN V\u0168 | Music Video || Ta say kh\u00f4ng ph\u1ea3i v\u00ec men m\u00e0 v\u00ec anh y\u00eau qu\u00e1 n\u00ean qu\u00ean", + "artist": "Nguyen Vu", + "album": "Single", + "duration": 280, + "cover_url": "https://i.ytimg.com/vi/q89fp2tgU_0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m5LWWicSsr6Abt2LDXPkFjK-zm3w", + "id": "q89fp2tgU_0", + "url": "https://music.youtube.com/watch?v=q89fp2tgU_0" + }, + { + "title": "Nh\u01b0 V\u1eabn C\u00f2n \u0110\u00e2y", + "artist": "Luu Anh Loan", + "album": "Single", + "duration": 224, + "cover_url": "https://i.ytimg.com/vi/mK7zem_iu9c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3miv3yHOaNn_28fJY9F5hiVKN1Q-Q", + "id": "mK7zem_iu9c", + "url": "https://music.youtube.com/watch?v=mK7zem_iu9c" + }, + { + "title": "NH\u01af V\u1ea0T N\u1eaeNG - THU H\u1eb0NG | Ng\u1ed3i qu\u00e1n u\u1ed1ng ly c\u00e0 ph\u00ea nghe n\u1eafng m\u01b0a \u0111i v\u1ec1, em nh\u1edb...", + "artist": "Thu Hang", + "album": "Single", + "duration": 210, + "cover_url": "https://i.ytimg.com/vi/RlaNs-8TP1s/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k45mOLl2RrDppKRRUoWFyADOYl5w", + "id": "RlaNs-8TP1s", + "url": "https://music.youtube.com/watch?v=RlaNs-8TP1s" + }, + { + "title": "L\u1eb7ng Im", + "artist": "Phan H\u1ea1 An Ng\u00e2n", + "album": "Single", + "duration": 481, + "cover_url": "https://i.ytimg.com/vi/aTO2eWW7ozM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mzYRD3ZvtXuzN2PuqPCflD_2Bkdw", + "id": "aTO2eWW7ozM", + "url": "https://music.youtube.com/watch?v=aTO2eWW7ozM" + }, + { + "title": "S\u00f4ng \u0110o\u1ea1 \u0110\u1ea7y | Qu\u00e1ch Tu\u1ea5n Du live band th\u1eadt da di\u1ebft t\u1ea1i Ph\u00f2ng Tr\u00e0 Kh\u00f4ng T\u00ean", + "artist": "Quach Tuan Du", + "album": "Single", + "duration": 312, + "cover_url": "https://i.ytimg.com/vi/tX-l9O0t5fw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mk_M-h3dDWv-fszRPUHVhsqzexAQ", + "id": "tX-l9O0t5fw", + "url": "https://music.youtube.com/watch?v=tX-l9O0t5fw" + }, + { + "title": "T\u00ecnh nh\u1ea1t phai", + "artist": "Lam Nhat Tien, Dan Nguyen", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/KBfpHFg8B94/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mybXT8wtkZh8K3ckfD7iuTlkuZ2Q", + "id": "KBfpHFg8B94", + "url": "https://music.youtube.com/watch?v=KBfpHFg8B94" + }, + { + "title": "Em C\u0169ng C\u1ea7n M\u1ed9t B\u1edd Vai", + "artist": "Lam Anh", + "album": "Ch\u1ee3t Nh\u1edb (Music Box 17)", + "duration": 276, + "cover_url": "https://lh3.googleusercontent.com/5-k_H_S-rU3dVJtOsnsPsqCT2j71gz9OOWTiUKMgQV11e-6Pg4PO7A3mfrKabQI-moGdMh6yj200Itg=w120-h120-l90-rj", + "id": "wwrfISjkz4Q", + "url": "https://music.youtube.com/watch?v=wwrfISjkz4Q" + }, + { + "title": "Nh\u00e3 Ka Mix A.I: Say M\u1ed9t \u0110\u1eddi V\u00ec Em ( Remix cover ) - Nh\u1ea1c hot Tiktok 2025 | AI Musik Box | Bass c\u0103ng", + "artist": "Nh\u00e3 Ka", + "album": "Single", + "duration": 363, + "cover_url": "https://i.ytimg.com/vi/xFW2wyfyAxU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqdBSdlseokOTUAW3RRyuFubFZwA", + "id": "xFW2wyfyAxU", + "url": "https://music.youtube.com/watch?v=xFW2wyfyAxU" + }, + { + "title": "M\u1ed9t Ch\u00fat Th\u01b0\u01a1ng Th\u00f4i !", + "artist": "AJ TEAM MIXER", + "album": "M\u1ed9t Ch\u00fat Th\u01b0\u01a1ng Th\u00f4i !", + "duration": 183, + "cover_url": "https://lh3.googleusercontent.com/oXweHJBm9Bx-M69hRFSu0skFanZD9Y6jS0m_OUY_odHKiJTpTMLM17GJKJY_oymXQ7oyA7QY6qyiNyhC=w120-h120-l90-rj", + "id": "sMp6ge9oliU", + "url": "https://music.youtube.com/watch?v=sMp6ge9oliU" + }, + { + "title": "Ph\u01b0\u01a1ng \u00dd | Ch\u00e9n T\u00ecnh Bu\u1ed3n", + "artist": "Ph\u01b0\u01a1ng \u00dd", + "album": "Single", + "duration": 213, + "cover_url": "https://i.ytimg.com/vi/iyt99YbLGXM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ljGPMzqpyYAW3b6g1KU0MeISMt8Q", + "id": "iyt99YbLGXM", + "url": "https://music.youtube.com/watch?v=iyt99YbLGXM" + }, + { + "title": "D\u01af\u1edcNG NH\u01af TA \u0110\u00c3 - M\u1ef8 T\u00c2M | PH\u01af\u01a0NG DI\u1ec4M HUY\u1ec0N COVER | M\u00e2y bu\u1ed3n tr\u00f4i m\u00e3i tr\u00f4i v\u1ec1 n\u01a1i xa...", + "artist": "Ph\u01b0\u01a1ng Di\u1ec5m Huy\u1ec1n", + "album": "Single", + "duration": 378, + "cover_url": "https://i.ytimg.com/vi/3YUSzgtdk9U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3km5jkONgXpyC2lNGbph-W4ObLDkQ", + "id": "3YUSzgtdk9U", + "url": "https://music.youtube.com/watch?v=3YUSzgtdk9U" + }, + { + "title": "Men N\u01b0\u1edbc M\u1eaft", + "artist": "\u00d4n V\u0129nh Quang", + "album": "Single", + "duration": 352, + "cover_url": "https://i.ytimg.com/vi/FAxsDkGMm0o/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l_4aIBYoSWdEl8yy63fcg31-OLKw", + "id": "FAxsDkGMm0o", + "url": "https://music.youtube.com/watch?v=FAxsDkGMm0o" + }, + { + "title": "H\u01b0\u01a1ng T\u00ecnh Phai", + "artist": "Dy Lady", + "album": "H\u01b0\u01a1ng T\u00ecnh Phai", + "duration": 345, + "cover_url": "https://lh3.googleusercontent.com/4FOvRV-s-mct24-hrjqJYFZhrkHMufhs3k6GF43GLiineQuibmzlf-VXWf9N8KelRhfVFtrDIEKl3RMp=w120-h120-l90-rj", + "id": "w0w-q1lhw4s", + "url": "https://music.youtube.com/watch?v=w0w-q1lhw4s" + }, + { + "title": "NG\u00d4I NH\u00c0 H\u1ea0NH PH\u00daC - LALA TR\u1ea6N | FULL HOUSE | Nh\u1ea1c Ngo\u1ea1i L\u1eddi Vi\u1ec7t", + "artist": "Lala Tr\u1ea7n", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/lBNUrQ90Uhc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mCNVeux4Pg636F3iNLydZd2Gh35A", + "id": "lBNUrQ90Uhc", + "url": "https://music.youtube.com/watch?v=lBNUrQ90Uhc" + }, + { + "title": "T\u00ccNH \u0110ANG FARM - \u0110\u1eb6NG V\u0128NH TH\u1ecaNH X \u0110\u1ea0T OZY (Prod. by Ho\u00e0ng Danh H\u01b0\u1edbng)", + "artist": "\u0110\u1eb7ng V\u0129nh Th\u1ecbnh", + "album": "Single", + "duration": 244, + "cover_url": "https://i.ytimg.com/vi/FftCZqfnKY4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nCirrRvslAoL7-gx7SeQiYD7srOg", + "id": "FftCZqfnKY4", + "url": "https://music.youtube.com/watch?v=FftCZqfnKY4" + }, + { + "title": "\u0110\u00e0m V\u0129nh H\u01b0ng | Ph\u01b0\u1ee3ng H\u1ed3ng", + "artist": "\u0110\u00e0m V\u0129nh H\u01b0ng", + "album": "B\u00e0i Ca Kh\u00f4ng Qu\u00ean", + "duration": 288, + "cover_url": "https://lh3.googleusercontent.com/phwa_NriJIT4xxh2A42HV2aw0auLjrhVG0N-JPAB0E__Zw7J24Xc-NoL36iWx4-QUMs_tAnAPqBOOQ0=w120-h120-l90-rj", + "id": "0Ew9QRFCMEE", + "url": "https://music.youtube.com/watch?v=0Ew9QRFCMEE" + } + ] + }, + { + "id": "PLAclbF-tdoSSY_gstpZdojGZgST7y4RNG", + "title": "Vietnamese Cover songs", + "description": "Best of YouTube Stars", + "cover_url": "https://i.ytimg.com/vi/PFv6A2kzvBU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mSDIZLZMzCRJ-eAwVBL4hZDK4U7A", + "tracks": [ + { + "title": "C\u00e0 Ph\u00ea m\u1ed9t m\u00ecnh ( Cover )", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 290, + "cover_url": "https://i.ytimg.com/vi/PFv6A2kzvBU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3leE1d-yVPKl0pXrUQNjEHSYDF3ew", + "id": "PFv6A2kzvBU", + "url": "https://music.youtube.com/watch?v=PFv6A2kzvBU" + }, + { + "title": "Xa r\u1ed3i m\u00f9a \u0111\u00f4ng ( Cover)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 306, + "cover_url": "https://i.ytimg.com/vi/gJ5kBPa7CIw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mT4z5eodzCDS7XNmHnG7h5gFM3Bw", + "id": "gJ5kBPa7CIw", + "url": "https://music.youtube.com/watch?v=gJ5kBPa7CIw" + }, + { + "title": "Ngay Chua Gi\u00f4ng B\u00e3o Cover", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/gv1zRP0GBkE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWGBZfx6VQi4oDPGMltlICgQTp9g", + "id": "gv1zRP0GBkE", + "url": "https://music.youtube.com/watch?v=gv1zRP0GBkE" + }, + { + "title": "M\u1ed8NG THU\u1ef6 TINH COVER", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 304, + "cover_url": "https://i.ytimg.com/vi/scNapDHBp30/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k9QolfpXwB_IWydKrul7atDa6N8g", + "id": "scNapDHBp30", + "url": "https://music.youtube.com/watch?v=scNapDHBp30" + }, + { + "title": "NG\u01af\u1edcI C\u00d4 \u0110\u01a0N COVER", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 246, + "cover_url": "https://i.ytimg.com/vi/ZQgs-FnJs6U/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lCosLTOjKRmjHqGNrhMHLkYUF_GQ", + "id": "ZQgs-FnJs6U", + "url": "https://music.youtube.com/watch?v=ZQgs-FnJs6U" + }, + { + "title": "Gi\u1eefa \u0110\u1ea1i L\u1ed9 \u0110\u00f4ng T\u00e2y (Cover)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 271, + "cover_url": "https://i.ytimg.com/vi/I6pT5aPcg9Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lWvq-gYE2eR8jJd04yWu3hssaxZA", + "id": "I6pT5aPcg9Y", + "url": "https://music.youtube.com/watch?v=I6pT5aPcg9Y" + }, + { + "title": "Pho Ngheo ( Jazz version - Cover )", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/ZE2irhOgryI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mh0qu1xuWAWnE8uXT96S3WcXADNg", + "id": "ZE2irhOgryI", + "url": "https://music.youtube.com/watch?v=ZE2irhOgryI" + }, + { + "title": "V\u00ec em qu\u00e1 y\u00eau anh", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/7aMO7hZpbkw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnvwFIojTv3Llw0cXUYrrHSWCSKw", + "id": "7aMO7hZpbkw", + "url": "https://music.youtube.com/watch?v=7aMO7hZpbkw" + }, + { + "title": "M\u00d9A THU C\u00c1NH N\u00c2U - Cover & remix", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 270, + "cover_url": "https://i.ytimg.com/vi/jiVz3k4QY44/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nX1fo9CD67E6_2eOQc5b1m9DjCPQ", + "id": "jiVz3k4QY44", + "url": "https://music.youtube.com/watch?v=jiVz3k4QY44" + }, + { + "title": "Ph\u1ed1 ngh\u00e8o _ Tr\u1ea7n Ti\u1ebfn - Cover & remix", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 297, + "cover_url": "https://i.ytimg.com/vi/hlKrtaWD5-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lhxaEdQYO20QoD6tODR8SrTM1A9g", + "id": "hlKrtaWD5-Y", + "url": "https://music.youtube.com/watch?v=hlKrtaWD5-Y" + }, + { + "title": "M\u00f9a Thu Ch\u1ebft \u2013 Cover", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 299, + "cover_url": "https://i.ytimg.com/vi/ut34vvSAdD0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfJmP2r1_jSaYJ_0GyAblzuG1Nxw", + "id": "ut34vvSAdD0", + "url": "https://music.youtube.com/watch?v=ut34vvSAdD0" + }, + { + "title": "Nh\u1eefng l\u1eddi bu\u1ed3n", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 298, + "cover_url": "https://i.ytimg.com/vi/KhKfTkFfWO4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nkkHUFzWIbWbooXjg2a9pSreHsRw", + "id": "KhKfTkFfWO4", + "url": "https://music.youtube.com/watch?v=KhKfTkFfWO4" + }, + { + "title": "C\u1ed1 X\u00f3a H\u1ebft ( Cover & Remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/Q6O87HMjr4I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nSuI2VyDkwIVVm_cZllXwDUYL6UA", + "id": "Q6O87HMjr4I", + "url": "https://music.youtube.com/watch?v=Q6O87HMjr4I" + }, + { + "title": "Thu C\u1ea1n B\u1ea3o Tr\u00e2m (cover & remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 278, + "cover_url": "https://i.ytimg.com/vi/BzuKmKOc5n0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkLgYeMnU9VJW5DOE88K-r-_9sCA", + "id": "BzuKmKOc5n0", + "url": "https://music.youtube.com/watch?v=BzuKmKOc5n0" + }, + { + "title": "V\u1ebft l\u0103n tr\u1ea7m (cover & remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 243, + "cover_url": "https://i.ytimg.com/vi/3pRtwV7fRV4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lBb8pNujNLNefpMS-3CRUmzl-PHw", + "id": "3pRtwV7fRV4", + "url": "https://music.youtube.com/watch?v=3pRtwV7fRV4" + }, + { + "title": "Tr\u1ea3 n\u1ee3 t\u00ecnh xa (cover & remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/QsrR4o2x3js/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQIuHg1JS3ODrRbXEwBz3rbyhxYg", + "id": "QsrR4o2x3js", + "url": "https://music.youtube.com/watch?v=QsrR4o2x3js" + }, + { + "title": "Gi\u1ecdt T\u00ecnh Tr\u1ea7n Hu\u00e2n cover & remix", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 249, + "cover_url": "https://i.ytimg.com/vi/OetEVC5rpQ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ka6QbhcVg4-hKlklp8fhL7U2MgZw", + "id": "OetEVC5rpQ4", + "url": "https://music.youtube.com/watch?v=OetEVC5rpQ4" + }, + { + "title": "Cho Em Qu\u00ean Tu\u1ed5i Ng\u1ecdc ( Cover & Remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 235, + "cover_url": "https://i.ytimg.com/vi/YwuMAo-TTj0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lBIxwQd7WwXiSIxaR2dxco7h7Vgw", + "id": "YwuMAo-TTj0", + "url": "https://music.youtube.com/watch?v=YwuMAo-TTj0" + }, + { + "title": "\u0110\u00f4ng V\u0169 C\u00e1t T\u01b0\u1eddng (Cover & Remix)", + "artist": "\u00c9LYEN", + "album": "Single", + "duration": 221, + "cover_url": "https://i.ytimg.com/vi/YI4lqVotqIE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m4a_RYvUDANLWw_GbypxL-Da41GA", + "id": "YI4lqVotqIE", + "url": "https://music.youtube.com/watch?v=YI4lqVotqIE" + } + ] + }, + { + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] + } + ] +} \ No newline at end of file diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..64e7c5a --- /dev/null +++ b/backend/main.py @@ -0,0 +1,59 @@ +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware +from backend.api import routes +import os + +app = FastAPI(title="Spotify Clone Backend") + +# CORS setup +origins = [ + "http://localhost:3000", + "http://127.0.0.1:3000", +] + +app.add_middleware( + CORSMiddleware, + allow_origins=origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +app.include_router(routes.router, prefix="/api") + +from fastapi.staticfiles import StaticFiles +from fastapi.responses import FileResponse + +# ... existing code ... + +app.include_router(routes.router, prefix="/api") + +# Serve Static Frontend (Production Mode) +STATIC_DIR = "static" +if os.path.exists(STATIC_DIR): + app.mount("/_next", StaticFiles(directory=os.path.join(STATIC_DIR, "_next")), name="next_assets") + + # Serve other static files (favicons etc) if they exist in root of static + # Or just fallback everything else to index.html for SPA + + @app.get("/{full_path:path}") + async def serve_spa(full_path: str): + # Check if file exists in static folder + file_path = os.path.join(STATIC_DIR, full_path) + if os.path.isfile(file_path): + return FileResponse(file_path) + + # Otherwise return index.html + index_path = os.path.join(STATIC_DIR, "index.html") + if os.path.exists(index_path): + return FileResponse(index_path) + + return {"error": "Frontend not found"} +else: + @app.get("/") + def read_root(): + return {"message": "Spotify Clone Backend Running (Frontend not built/mounted)"} + +@app.get("/health") +def health_check(): + return {"status": "ok"} diff --git a/backend/playlist_manager.py b/backend/playlist_manager.py new file mode 100644 index 0000000..b3ac6eb --- /dev/null +++ b/backend/playlist_manager.py @@ -0,0 +1,88 @@ +import json +import uuid +from pathlib import Path +from typing import List, Dict, Optional + +DATA_FILE = Path("backend/data/user_playlists.json") + +class PlaylistManager: + def __init__(self): + DATA_FILE.parent.mkdir(parents=True, exist_ok=True) + if not DATA_FILE.exists(): + self._save_data([]) + + def _load_data(self) -> List[Dict]: + try: + with open(DATA_FILE, "r") as f: + return json.load(f) + except (json.JSONDecodeError, OSError): + return [] + + def _save_data(self, data: List[Dict]): + with open(DATA_FILE, "w") as f: + json.dump(data, f, indent=4) + + def get_all(self) -> List[Dict]: + return self._load_data() + + def get_by_id(self, playlist_id: str) -> Optional[Dict]: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + return p + return None + + def create(self, name: str, description: str = "") -> Dict: + playlists = self._load_data() + new_playlist = { + "id": str(uuid.uuid4()), + "title": name, + "description": description, + "tracks": [], + "cover_url": "https://placehold.co/400?text=Playlist", # Default placeholder + "is_user_created": True + } + playlists.append(new_playlist) + self._save_data(playlists) + return new_playlist + + def update(self, playlist_id: str, name: str = None, description: str = None) -> Optional[Dict]: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + if name: p["title"] = name + if description: p["description"] = description + self._save_data(playlists) + return p + return None + + def delete(self, playlist_id: str) -> bool: + playlists = self._load_data() + initial_len = len(playlists) + playlists = [p for p in playlists if p["id"] != playlist_id] + if len(playlists) < initial_len: + self._save_data(playlists) + return True + return False + + def add_track(self, playlist_id: str, track: Dict) -> bool: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + # Check for duplicates? For now allow. + p["tracks"].append(track) + # Update cover if it's the first track + if len(p["tracks"]) == 1 and track.get("cover_url"): + p["cover_url"] = track["cover_url"] + self._save_data(playlists) + return True + return False + + def remove_track(self, playlist_id: str, track_id: str) -> bool: + playlists = self._load_data() + for p in playlists: + if p["id"] == playlist_id: + p["tracks"] = [t for t in p["tracks"] if t.get("id") != track_id] + self._save_data(playlists) + return True + return False diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..ac8b462 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,9 @@ +fastapi +uvicorn +spotdl +pydantic +python-multipart +requests +yt-dlp +ytmusicapi +syncedlyrics diff --git a/backend/scripts/fetch_content.py b/backend/scripts/fetch_content.py new file mode 100644 index 0000000..ab45e80 --- /dev/null +++ b/backend/scripts/fetch_content.py @@ -0,0 +1,60 @@ +from ytmusicapi import YTMusic +import json +from pathlib import Path + +def fetch_content(): + yt = YTMusic() + + # Categorized Queries + CATEGORIES = { + "Vietnam Top": ["Vietnam Top 50", "V-Pop Hot", "Rap Viet", "Indie Vietnam"], + "Global Top": ["Global Top 50", "US-UK Top Hits", "Pop Rising", "Viral 50 Global"], + "K-Pop": ["K-Pop Hits", "Best of K-Pop", "K-Pop Rising", "BLACKPINK Essentials"], + "Chill": ["Lofi Girl", "Coffee Shop Vibes", "Piano Relax", "Sleep Sounds"], + "Party": ["Party Hits", "EDM Best", "Workout Motivation", "Vinahouse Beat"] + } + + segmented_content = {} + seen_ids = set() + + print("Fetching Browse Content...") + + for category, queries in CATEGORIES.items(): + print(f"--- Processing Category: {category} ---") + category_playlists = [] + + for q in queries: + try: + print(f"Searching for: {q}") + # Fetch more results to ensure we get good matches + results = yt.search(q, filter="playlists", limit=4) + + for res in results: + pid = res.get("browseId") + if pid and pid not in seen_ids: + seen_ids.add(pid) + + # Store minimal info for the card + category_playlists.append({ + "id": pid, + "title": res.get("title"), + "description": f"Based on '{q}'", + "cover_url": res.get("thumbnails")[-1]["url"] if res.get("thumbnails") else "", + "author": res.get("author") or "YouTube Music" + }) + except Exception as e: + print(f"Error serving {q}: {e}") + + segmented_content[category] = category_playlists + + output_path = Path("backend/data/browse_playlists.json") + output_path.parent.mkdir(parents=True, exist_ok=True) + + with open(output_path, "w") as f: + json.dump(segmented_content, f, indent=4) + + total_playlists = sum(len(p) for p in segmented_content.values()) + print(f"Successfully saved {total_playlists} playlists across {len(segmented_content)} categories to {output_path}") + +if __name__ == "__main__": + fetch_content() diff --git a/backend/scripts/test_lyrics.py b/backend/scripts/test_lyrics.py new file mode 100644 index 0000000..7a14a64 --- /dev/null +++ b/backend/scripts/test_lyrics.py @@ -0,0 +1,21 @@ +from ytmusicapi import YTMusic +import json + +yt = YTMusic() + +# Example ID (Son Tung M-TP - Chung Ta Cua Hien Tai) +video_id = "lTdoH5uL6Ew" + +print(f"Fetching lyrics for {video_id}...") +try: + watch_playlist = yt.get_watch_playlist(videoId=video_id) + if 'lyrics' in watch_playlist: + lyrics_id = watch_playlist['lyrics'] + print(f"Found Lyrics ID: {lyrics_id}") + lyrics = yt.get_lyrics(lyrics_id) + print(json.dumps(lyrics, indent=2)) + else: + print("No lyrics found in watch playlist.") + +except Exception as e: + print(f"Error: {e}") diff --git a/data/browse_playlists.json b/data/browse_playlists.json new file mode 100644 index 0000000..19244e4 --- /dev/null +++ b/data/browse_playlists.json @@ -0,0 +1,2700 @@ +{ + "Vietnam Top": [ + { + "id": "VLPLm_fM7dlkg8FbRVCCosRFtDldS74OVSgi", + "title": "\ud83d\udcbf Vietnam \ud83c\udfa7 TOP 50 \ud83d\udcbf Music Chart \ud83c\udfa7 Full SPOTIFY Video Playlist \ud83d\udcbf Updated Weekly \ud83c\udfa7", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/eEjGg43BajytnnS5S0gBc_rhXXhFLBLU-e8QF4jNMxX4W2oqmBhdd5uBzuTu11X5bRqpcX2hHw4=s1200", + "author": "Miami Heat Legends * TOP 50 * Charts" + }, + { + "id": "VLPLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "author": "Redlist Charts" + }, + { + "id": "VLPLNXnv4KPzSF9GLB4EMTqOkhrvrgDNQeqS", + "title": "Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/BAZCttRpg_pjlG9tDzk9C0Sk6O2hr3BQEY9TiresXpRBpSbbp3GyZP4FQXboOjesNgoXiZ7Pjyk=s1200", + "author": "Spiritu\u00e1lis Tan\u00edt\u00e1sok" + }, + { + "id": "VLPLUs9csixxXpXpwuuguMrOwb2p4iDk30dc", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/2dlv0myfgeduocvFLU94Km0qmF50JRpmbcoFc7diGbi4YC3i2IBnHLt7hue3l__rkpts1V5w-Q=s1200", + "author": "ListOneList" + }, + { + "id": "VLPLVOJMmM3DqYkgTvkL30yMBilKsZHQNa5o", + "title": "Top Vietnam Songs 2023 Vpop Playlist/ Popular vietnamese song 2022-2023", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/jmDxVcPDl69WPxjZt29nkDzGSbBNysgSXAyJ6-QLH24qCzHTAy7qOX8BwILjtcf2Ic7FeyZZpjA=s1200", + "author": "Ann" + }, + { + "id": "VLPL1gfuz7ZYcaO95qsRXZQr80BO3cIVihhJ", + "title": "Spotify Vi\u1ec7t Nam - Nh\u1eefng B\u00e0i H\u00e1t Hay Tr\u00ean Spotify (Top 50 B\u00e0i H\u00e1t Hay Nh\u1ea5t Vi\u1ec7t Nam 2025-2026)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/yaLL8YOK37X0IeSHx3sw2OETHVtJprQy0e5TLZrH55CRIJCwPTeykKyx6fqHbjzf_EavAtZ7aQ=s1200", + "author": "\u043b\u0443\u0447\u0448\u0430\u044f \u043c\u0443\u0437\u044b\u043a\u0430" + }, + { + "id": "VLPLzZhd-jnrNGEscFWryaoYvCdrW-yJ2HQD", + "title": "New Vietnam Music Friday & Vietnam Top 50", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/tyazKPIUxHyw1XigBfuhlWDRH5b9mzM_C6pgaMV07SElwkjQ_si99KuEpKLX-3uklI7o_HWx0wNh=s1200", + "author": "ENFORCE RECORDS" + }, + { + "id": "VLPL9dppUWWRkOfdciwdVkEBioMRixdqgjPz", + "title": "Top 100 Nh\u1ea1c Tr\u1ebb Vi\u1ec7t Nam Nhi\u1ec1u L\u01b0\u1ee3t Xem Nh\u1ea5t - MV 100 Tri\u1ec7u View Tr\u00ean YouTube ||| Most Viewed V-Pop (Vietnamese Pop Music)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/oQM6TvbT3zwFsaksbbIi6PRumUAfIue6Kc67aXhNF5g8PwPTebsjd1j5NegQTB-7T9Y-dxODxw=s1200", + "author": "Top Music" + }, + { + "id": "VLPLDLxalKKeA6aMVTqOfqBaAV7iQpNTCVf_", + "title": "60s & 70s vietnam war songs", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/RNI-vyl3N92qtO2D2mS2ls6sj9_BNyo7Xe6y9DL8-zbOIMDaivSbKmo8t_fM7SGZkNy0TbT4UdU=s1200", + "author": "promo_rl" + }, + { + "id": "VLPLOHoVaTp8R7dqEEhhaOG7yfDoj_y2BrZ4", + "title": "Top 50 Spotify 2025 - Top 50 - Spotify Playlist 2025", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/VFLvb_BawC7eFSH24uIzlXGAw4Ob5CFE00LBprSS_-uVEJec6BNzsfwD1vkb8F2ErrCfQeZvGqDP=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLINjadeUkBn76_8F8tYj_EsUzPeTFXrCz", + "title": "EAGLE ULTRA CLASSIC JHANKAR)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://i.ytimg.com/vi/EMJzANg4DME/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lfEbKueDL5b0cmjGQjqsdz9vo4DQ", + "author": "Sultan" + }, + { + "id": "VLPLr6wWKFllBRshtGIt7Js6AJ1uqqi9VIij", + "title": "Kalpana old songs", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/509tx24P9C7B3-Be0G4v2bYjFLiZ0U2siXsUjJAcHWbF_EvA2_f2G-2g25YjcYbFzPpuqjNI8Q=s1200", + "author": "bhakti blass9" + }, + { + "id": "VLPLam08HY53ekvsLQlkFvyiGcMdsYYdqQct", + "title": "Top 100 Songs of 1974", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://i.ytimg.com/vi/-tPcc1ftj8E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kngQMs9mNiE7pgdtQ8V-v_s6cLag", + "author": "Top 100 Songs" + }, + { + "id": "VLPLHlSiA_Lj8dd9EDb3Lm6l7TFvj1xk5VRK", + "title": "BEST DOO-WOP AND OLDIES", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/-TxMaPvSX0zy9PIhrhglfISouK7P4hFpz8o2EtUtMt-Opq0wxzf2OvohbM3rsSmMqWNXP86W8ea9=s1200", + "author": "T-Bus" + }, + { + "id": "VLPL300C32DA374417AA", + "title": "CLASSIC ROCK, Hard Rock, Live Music Videos : 50's, 60's, 70's, 80's, 90's, 2000's \ud83c\udfb8", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/Q9tNLqo9WvR1gICBbKURNsOSYfXeCGfffm6RgxfSYFCnIWt3Zy9o45qh8YY5OhzRkYe19zEqQQ=s1200", + "author": "PATCASHPOKER" + }, + { + "id": "VLPLc5_jMkuohiu3kKWUHCiPXQp4DuOfY2ce", + "title": "Hot TikTok China Music 2025 - Famous Chinese TikTok Song 2025 December (Top TikTok Chinese Hit Songs 2025-2026)", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/LHI3MyNGOT9yoKfAZTT9NVpG2QrKMPcN5u87rmkotThvps4Too58KNx37IWI9LGedffs6kn2Cw=s1200", + "author": "#MomentMusic" + }, + { + "id": "VLPLs8Ubr-MXTtJKkVEK1iibkynBmwR9RSMi", + "title": "kpop [TOP 50] BEST K-POP BEATS (2017) K-POP MEGAMIX 2016 SOUNDCLOUD LINK:", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://i.ytimg.com/vi/U7mPqycQ0tQ/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3noDZz-FjizUC1slIdfM2g9WKUMow", + "author": "Jerry Thompson" + }, + { + "id": "VLPLIYtz0Xq3xfB7TLl1VevNQGlWmze03Z8X", + "title": "All Time Most viewed Best Nepali Hiphop songs collection | Nepali music playlist 2025", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/v_vAeVT566WmoXfUka4pZCDfJEqYiFFQSCXKomnXDauJpqoH3b5itQgVxda4GFTFhmM1Pue3FQ=s1200", + "author": "sXf. Records_" + }, + { + "id": "VLPLyDCl0BXR0qAdWWssjfpZeFwpbVxD1Upw", + "title": "Best Rock Songs U2 Greatest Hits - Best Songs of U2 - Top 20 Best Rock songs of U2 Top 10 Best Metal cover of popular songs of all time! #1:", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://i.ytimg.com/vi/5WICgADzDqw/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m4qEeHqdLb4qPi4iV3nwtxcF1ucw", + "author": "AhBoi Tay" + }, + { + "id": "VLPLBTanuC8SLeYNSKQzQc9BsgLbRNU0oFCl", + "title": "Sped Up Songs - Speed Up Songs 2025 - Speed Up Music Playlist", + "description": "Based on 'Vietnam Top 50'", + "cover_url": "https://yt3.googleusercontent.com/zOu9qh2cpkb2CN6ZK55k3NHlWoSe5uR4VMBnyTLqQOAdv532MUdQcDLkhBdpaUWBmEXFAiQRrQQl=s1200", + "author": "Hitsify" + }, + { + "id": "VLPLhdMPWnWVNJKjT6EnE-U8bLxO2C6S27rD", + "title": "Nh\u1ea1c Vpop (2015-2017)", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.ggpht.com/_kpZpdd0V99LLnzzvs014Hxc2DlF5YPnvU9GViMF5bSPF4mFUJ-tHYKD5jwgWF3EQ0069mNNNg=s1200", + "author": "Thi Nguy\u1ec5n" + }, + { + "id": "VLPLQN6FOKi1Caq7RqsEu77_Wcp4cttZgv01", + "title": "VPOP 2025 THE BEST SONGS AND MVS EVER", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/A8Hz1noswvbhp4M4zYQ4wB-2bJvG0MxtPLgBu8M3PiBmJstO8_gvNMAl5K5Z0a9r25aavkEHQgXN=s1200", + "author": "Hi\u1ebfu Nguy\u1ec5n " + }, + { + "id": "VLPLDLFvgYoofVHVOQLf6jrTJdhhdMiRKjLx", + "title": "Vpop 2018 playist", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.ggpht.com/NTi41L4CktSVR-y_pH8YXNh3-vs3eYDJVM5MZcyz5eqJ_BHMDy4D_08HaE0EJqucUV7JPNw9Q4XZ=s1200", + "author": "Ti\u1ec3u Long Tr\u01b0\u01a1ng" + }, + { + "id": "VLPLq3NY04aPCDKZYUjsx2F2fNfzY5r21PwE", + "title": "Vpop 2024", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/jbZciCBr4HcWlS_YoxqRo7gQV8Js1aSnU8Ke9LSWUVzRHdyhW_yQXiWDdcDZcLCSRy8efJ1Ewxk=s1200", + "author": "MCCM heart" + }, + { + "id": "VLPLmiNVJPLVOM_WChgvTkGboq0iqOQYmDnp", + "title": "Vpop 2016", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/j__Q13iAxNk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l8-7o6-kkI-yTPP1q-ly46nJ6T_Q", + "author": "Thao Nguyen" + }, + { + "id": "VLPLazm4V36OwLDEKIQkNxcSqBmrNUPFL6H_", + "title": "VPOP 2021 On Spotify - Vpop Top Hits - Top 150 Vi\u1ec7t Nam - Nh\u1ea1c Vi\u1ec7t Hay Nh\u1ea5t Tr\u00ean Spotify", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/57OTWGqvT6Eid_qab0nPF7XlHnBiUgnB3JjpVF-7WbFT3H6hgjLzjsN1ZNjxOHAykwkgLtEDAA=s1200", + "author": "Kae" + }, + { + "id": "VLPLk23ylbutOePqCIoim8BF-HXDI4liLMUX", + "title": "Hit Vpop 2016", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/e21Mzk7-EnL8pdiO5ZmjHM6iMLy_9-sA3nAQrQMH3Mx-HVclACsFr87cIXA-CI9h0G41SQLDfQ=s1200", + "author": "Zanis" + }, + { + "id": "VLPLoDMGNTTiYaOcIZAo7hBL_iKgSWHdT_y8", + "title": "NCT - Top 100 B\u00e0i H\u00e1t V-Pop 2014", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/p8A3ULXgV3E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nV0ec-M34oDyly9ZcB_t1kOU0eVw", + "author": "dception" + }, + { + "id": "VLPLMR8q2Iy0FstKsDcKZz0OMrWDekaEGcQH", + "title": "K\u00dd \u1ee8C C\u1ee6A T\u00d4I - NH\u1ea0C TR\u1eba 2012 - 2015", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/44UTxRPk31FO-EQzjLcFvFfuvpyegrF3tAhCPQZ2VhJEf129pe-CEL-yvPMWmXx-jEgHB4Nl5Zg=s1200", + "author": "Jin Thanh Tu\u1ea5n Official" + }, + { + "id": "VLPLPlXfT2x3p0TQrs0KN64NDDH7uSHoVcXb", + "title": "VPOP - Giai \u0110i\u1ec7u Vui T\u01b0\u01a1i", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/6t-MjBazs3o/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lSc0ntvMwnr_geW2_Xtre0j3oxbg", + "author": "Huy L\u00e2m" + }, + { + "id": "VLPLUX9sThtuggZNwrvTt-qQe-vtxXlyGNP7", + "title": "Top Hit Vpop Remix Hot TikTok 2025", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/TqP_tGQ9MwM/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUmKRTFbIOTwMyg8XJdYnS5wLhBQ", + "author": "Vi\u1ec7t Mix Night" + }, + { + "id": "VLPLq3NY04aPCDJPtHm4BPNFrKDlNHK98Ekg", + "title": "Vpop 2023", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/U3EMLJtwGodjY5w1cEZk_0z2uAy3lI9J9r9X6UhcRR4ROfLcATOZyhQZPTGUGgRgUn8aWmTwplE=s1200", + "author": "MCCM heart" + }, + { + "id": "VLPLTU8SltrByNn26Aj6AYGJ6bZN4IZV7QPc", + "title": "Top Vpop 2025", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/TCJ96OZCw5A-l2XjeEkIdaIgaFYLi0mafw0fRkQmHscEVJ7D6DXZMgGT-GcNYwNj845Tx9wAKsw=s1200", + "author": "Bang Bang" + }, + { + "id": "VLPLtMvKQUTF9U58eb3sCgvrP8J1gDb-a5XW", + "title": "2009 - 2015 VPOP", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.googleusercontent.com/VnxbOeM4j1F4hx1fsa-H9TJqkFblwOOSjk9WHKtPxzrro3F47g3S7QIiRpfOWU2qpsyFliTpkkQ=s1200", + "author": "Dat Tran" + }, + { + "id": "VLPLer4fgW61Dn3GrFNibb5jq9U0cTzNGOoe", + "title": "VPOP 2018", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://yt3.ggpht.com/8UQeJooqwn-rkmWjNh5I5Sk5q7aSTESNqxDiN8ypw_94aoRs9YvQAogKTNzHiNJ-aSKVc-PzZHu7=s1200", + "author": "MT myoozik" + }, + { + "id": "VLPLm2AS7iF84RRYybQj7Phhh6haoIkroiI9", + "title": "VPop Ballad 2012...", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/X8mhF6HgzVA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3khvp3JX_f0bFKrIHIf94eLy3qEeQ", + "author": "ph\u00fa b\u1ea3o h\u01b0ng tr\u1ea7n" + }, + { + "id": "VLPLSj2EahLGlZzMCDs5HKCdlPoXJEtREcb0", + "title": "vpop 2018", + "description": "Based on 'V-Pop Hot'", + "cover_url": "https://i.ytimg.com/vi/HXkh7EOqcQ4/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mMyJ8FqZyGiWq_LCrEi3PBZeuSNw", + "author": "Salem Lazycat" + }, + { + "id": "VLPLxKLMN7WdG5DocrGKzZNI2Ol6f-yMi0IH", + "title": "RAP VI\u1ec6T 2024", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/GlNW899RIcY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nYVlwKsLTglPkZNmLxNfr6D-hdiw", + "author": "Vie Channel " + }, + { + "id": "VLPLxKLMN7WdG5DceAqmLdM-tk57cGmWSCT9", + "title": "Rap Vi\u1ec7t 2024 [Live Stage]", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/s2UBSFakgJs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mtcUKjqQssJRGubUQv1CYMPwF_pw", + "author": "Vie Channel " + }, + { + "id": "VLPL0br2ZOewY7infRch8HJyCA4YIvkx34pw", + "title": "Rap Vi\u1ec7t 2024 Hay Nh\u1ea5t", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/z5m6QqGKe7U/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mCyGaPvPG7WnLtpl1cw110xoixjg", + "author": "Vie Channel - MUSIC" + }, + { + "id": "VLPL0br2ZOewY7jdUFowWriFSoHgTtOxYAAq", + "title": "RAP VI\u1ec6T 2024 [ PERFORMANCE ]", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/XMGcYBNpgrs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kXHtmfQnwTYLMb1pFl4zwK582qsg", + "author": "Vie Channel - MUSIC" + }, + { + "id": "VLPLEq5fYXyq9nXBkJIm83SM0XYGxkQvpeJe", + "title": "Best Vietnamese Rap Collection - Nh\u1ea1c rap Vi\u1ec7t hay nh\u1ea5t", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.googleusercontent.com/h7pdDUhh8JCpREPunPw8amWq6f4FEdOorZdzVaieHiSJPR5eq8dPa5Lz_sk9pPrfxy9WWp55Zg=s1200", + "author": "Alan Music" + }, + { + "id": "VLPLi2vthizkdHtyvqpqqrpMPG-ttZgKuv8h", + "title": "Nh\u1eefng b\u00e0i Rap Vi\u1ec7t hay nh\u1ea5t th\u1ebf h\u1ec7 8x, 9x", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/PTQSDHHDfRI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mdXXdnKLDpcLp2lYgz8sKJP3IP8w", + "author": "Ng\u00e0y X\u01b0a Ta B\u00e9" + }, + { + "id": "VLPL0br2ZOewY7jeXC90yA9BLDfel-wr_ujm", + "title": "[BEST COLLECTION] | Rap Vi\u1ec7t M\u00f9a 3 (2023)", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/vainx5HZjzg/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kUEj35kOr-uTFWTDCdRYMITez3Ow", + "author": "Vie Channel - MUSIC" + }, + { + "id": "VLPLxKLMN7WdG5BlaEY8jc44b64YaICN2-tu", + "title": "RAP VI\u1ec6T - M\u00f9a 2 [ MV Lyrics ]", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/dLaJRXiDU24/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lbFPoFPjCBHMn7NnC2TzrQjUvFbg", + "author": "Vie Channel " + }, + { + "id": "VLPL9sxx2W__N-UzQNZ-pRAAnv8BEX9OU-WM", + "title": "Rap Vi\u1ec7t 8x 9x :-))", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.ggpht.com/CNF577u0i4li_vR41HqSgWXz8l2hoyBAm_zII6ItD11SZR9eGFAMNHBvsZMo0GLfJqlItq6hVQ=s1200", + "author": "G\u00f3c nh\u00ecn Kinh t\u1ebf - T\u00e0i ch\u00ednh" + }, + { + "id": "VLPL24AcdIIOM_eOqIPEMo0Pyb8EmdV3ZwQL", + "title": "Rap Vi\u1ec7t M\u00f9a 2", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/A_G0W37BiEA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mayHP0_pqZcKxgXYrUC8nbDi9VnQ", + "author": "Phan T\u1ea5n Th\u1eafng" + }, + { + "id": "VLPLLZI0jR4YEPmSQoF2DTKi76Ad21YuzSw3", + "title": "Rap Vi\u1ec7t", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.ggpht.com/kvrkPQ6upxXlfpjPkMZ07LFLf18GV7ZB_a_cd-CLZoYQinBb45fROvJC6gJ2CPOebwtqNt1xXbw=s1200", + "author": "Nhat Nguyen" + }, + { + "id": "VLPLbY8H-rHvob6QvFuyaSVYNk3kknrcd8K5", + "title": "rap viet old school", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.googleusercontent.com/r7K_CpPpssaVKiKOJx0N4pzOzB8K0qfeZF1y_advdFpnD3qNzHIAedRP3NRa3qtiu4FikjKfchI=s1200", + "author": "H\u01b0\u1edfng \u0110\u1ed7" + }, + { + "id": "VLPL6gRpuG5oCsk8Xaj3AWQh4BzRfBSc7CLE", + "title": "ANH T\u00da - RAP VI\u1ec6T 2023", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/4f5TI1AHFJY/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nBA6CZFDVGNcNSUoUtyTffMjvgqw", + "author": "Anh T\u00fa Official" + }, + { + "id": "VLPL0br2ZOewY7jsZG36ZEKecE78fUNh80k-", + "title": "Rap Vi\u1ec7t All-star Concert (2023) | 21:00 Th\u1ee9 7 H\u00e0ng Tu\u1ea7n", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/nkGERXwUkSs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k2YmA_qfxdQJm4RKocqhvv6Y0iqA", + "author": "Vie Channel - MUSIC" + }, + { + "id": "VLPLfDMaua07if-a3tYnin6WoIJvBPZXAFRc", + "title": "Tuy\u1ec3n T\u1eadp Ca Kh\u00fac Rap Vi\u1ec7t Underground Hay Nh\u1ea5t", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/asstvAxLRbY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kUiegXE0fwWeobxwdYq9HJ5AnlzQ", + "author": "Music For You" + }, + { + "id": "VLPLCDtuwjOuPpWiS_ggJ1DYg0I7A1RSkdHS", + "title": "Rap Viet", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.googleusercontent.com/duIueE054RGNVA3yGhFIbc8YNps_7rYbi-SRMWxoU1h4Ao1onxLErPf4aTZRUsTFL78rzRdopfE=s1200", + "author": "S. Kim Phan" + }, + { + "id": "VLPLQLag-PxZZK89HEz3VbcYuxy622D-sgXY", + "title": "Rap Viet 2020", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/IfVpXJHYPvI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mXLG4Onzd68VBQZQMEVuIpjgNXog", + "author": "Ki\u00ean Nguy\u1ec5n V\u0103n" + }, + { + "id": "VLPLSCewVdB06UU91hlBo4Aic9uem25uckKV", + "title": "Rap Viet", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/9NfxOFHzYL0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ku-Q1M9O3hVXnX1Sg6Yj6sdaMjrQ", + "author": "Th\u00e0nh Nguy\u1ec5n" + }, + { + "id": "VLPLByGpNNJmXtlXOEIa4L83k7Np3KZGPZz4", + "title": "Tuy\u1ec3n T\u1eadp Nah - Rap Vi\u1ec7t 2024", + "description": "Based on 'Rap Viet'", + "cover_url": "https://yt3.googleusercontent.com/38HSI1CdmpKlcEb6wWIid_nDyK9xRia5Xuc29RsF3RTZbhoCNMxNb7EoqoSnD7TR5mDHFUgsDA=s1200", + "author": "deadnah" + }, + { + "id": "VLPLcU5IYD1ViPXfWBkejAd45yPu73Fi3Xsg", + "title": "rap viet", + "description": "Based on 'Rap Viet'", + "cover_url": "https://i.ytimg.com/vi/5bNpeT2silk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mt3J6g2sTIbWGPExZ2zqyo-SbMuQ", + "author": "H\u1ea1 B\u0103ng H\u1ea1o" + }, + { + "id": "VLPLvK306ROb6UY1RyXIKtjPLTAWg8CAVJho", + "title": "top 100 indie vi\u1ec7t", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/fFIGfxB_xalwp8oZTalRx-uTvYXlF-fJlDRWnPp-pVQv1VXWDG3pQbzZkJy0kSg2t-znez7dcQ=s1200", + "author": "Thanh Nguyen" + }, + { + "id": "VLPLvDJ_1YW8wmSCamh9vn5c4pNaDXlsH0Xq", + "title": "INDIE VIETNAM", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/o4UlmkyYwe4W0J2HtTkds4ooeX-184OG823lzkLR12Sea0MqbXjY-BgTtz5VCYGRll8q5W4Baw=s1200", + "author": "Th\u00e0nh T\u00e0i Tr\u1ea7n" + }, + { + "id": "VLPLSobVvoVMbzu0zESItQtX3jGfeD1Y_Gsh", + "title": "Indie Vietnam playlist", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/LmJXd-jDunTUH82miJnfN4ooInzy_NU6OvNOucIqvJDSkDg8QVBWCbRFeyXhs5xnKWdUB7rWTL8P=s1200", + "author": "Bolo Danh" + }, + { + "id": "VLPL0O6FkpAmUTRb-4ySj4tWQopmWfHjfJ35", + "title": "Indie Vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/iBVxd6-O51SdUXs4jfBToNhtMnfWLDRwzNm2tef5WUEJ-qgO5-fHLoDfFU2G8BLzZrKikx63kp8=s1200", + "author": "Chow Chow" + }, + { + "id": "VLPL2RfugSkh4qXqjGqyr64XlJaFsew1O7_U", + "title": "Indie Viet (or just good songs)", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/i9IYkycL2OYLeLK4sWQzHIUcl8vqnc5yPRN3oyjpgZrnRNHEpK7RtJVLMkci7Rd7odY3zCwv-dQ=s1200", + "author": "Khai Phan" + }, + { + "id": "VLPL3-TQ1V7Zvyjk10_vXXT0y9ACg5KCOBfL", + "title": "indie vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/iwboHwvCAOdEmU6suGPzHAlbJZI4PehQ3NRMTliwYELIXfQGYXFGBOEcy6C02N7wLtoot1C3Jtg=s1200", + "author": "yopee" + }, + { + "id": "VLPLTJ_0TN1M7KVtEg7Y7SlouxEC_Y5-xjpQ", + "title": "Nh\u1ea1c Indie Vi\u1ec7t Nam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://i.ytimg.com/vi/WwDQQ7ya8PM/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ng9bZ2CVU2qBnn5YdQ_kBp6EOxCQ", + "author": "Chang" + }, + { + "id": "VLPLAKUxUOpfF7tX5en3UnJSziKNAH_f0G_g", + "title": "Vietnamese Punk/Alternative/Indie Rock BANGERS | Nh\u1ea1c Rock Vi\u1ec7t Nam!", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/xWNlqttEjuKb1sujddNJTHuISABSBbamrhOGztejd5s8xb74oVIYJwc1V92n1BCAJPLg1qJX8A=s1200", + "author": "C Nguyen" + }, + { + "id": "VLPLTJ_0TN1M7KV8WJ4diDMjYWfhUk9LGLwP", + "title": "Indie vi\u1ec7t hay nh\u1ea5t", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://i.ytimg.com/vi/MCWULnMTZ5Y/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mZvlpZiZZjniYR6oxkYOBuZtKuog", + "author": "Chang" + }, + { + "id": "VLPL3XvlKDzxent6j-VtKDdQYmuGYftUZvIK", + "title": "Indie Vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/7Esorzgqv2soD0SyAtzlpWjC1HO-z4zypFZ7mk0JwfVdBJlIP4CH3aNSTd0nQ5y0kBSUNP-LmA=s1200", + "author": "\u0110\u1ed7 L\u1ec7 Thu\u1ef7" + }, + { + "id": "VLPLj2nNGUAzRwghT9lWpEPUVemvD-uHXlIA", + "title": "Indie VietNam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://i.ytimg.com/vi/58IkVCh3hWU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lJjLVUe5-1EBc74XbWN1F9qJXdYQ", + "author": "H\u1ea3i Y\u1ebfn" + }, + { + "id": "VLPLL46sDHnKxE5mzaQlcDEJ8QhzAKCMd60S", + "title": "Indie Vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/TDZ2oG74rjkA2pX_oWdPm0xsG6olLZD3vfuyEMf2dAiN_fEuo7DhaMEUwXInFXm4j6lLt9r6tA=s1200", + "author": "Tr\u01b0\u01a1ng Qu\u1ed1c Ank" + }, + { + "id": "VLPL1yzjvoMOdw6ugFCMWbI1FjarUiB45enf", + "title": "Indie Vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/6RaoZtrpJuiQ26Yra0Krr31KB2OdExExrtsDOOYHPylxnhgQv_6ozPsV4eWO3auaTOF0WuZOaA=s1200", + "author": "Vinh Nguyen" + }, + { + "id": "VLPLLJlx-eKOeCFlzywCBxh0_12L4T2mLMXH", + "title": "Love Song - indie vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/XzLED-JuiVaju2p6DEnyZZEOckupIdIjdWbCyC7rc_e25jbS-pcbF9Zgc12PBh3lnH4lJ5b2TwVK=s1200", + "author": "DatVo Videography" + }, + { + "id": "VLPLAhvRL5eJ_Q6xswTfhTM_VExLd0aqdcRi", + "title": "Indie/ Alternative/ Folk/ Pop (Made in Vietnam)", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/ii7skuyb0pjQ_ML_E-3NGXwTXc1Pn-2LlO_suh5jpoxzjZpIm5APxXHOz_Eg-ZDFhda_-EhhK6XG=s1200", + "author": "Vu Nguyen" + }, + { + "id": "VLPLJECGakzv6ttzqdKcOszc9h6P50eOYAhh", + "title": "Indie Vietnam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/p2psfJhMpgv6rbBEMpyZl46VBBDbcyRGZjwQK96mG5Nyd6hTJSAdhy0elrSFDzXmTl2Qme94srE=s1200", + "author": "Vy Yen" + }, + { + "id": "VLPLUN_co8EoapPLQfkZYfkJ-vueKJQAaQgM", + "title": "Vietnam indie", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://i.ytimg.com/vi/afp6CrtPnJo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kxahq886mv7Cs3hUk37L2mFAgGFA", + "author": "Nh\u1eadt Anh Tr\u1ea7n" + }, + { + "id": "VLPLWrA1uq43HaeU75lzgBTKEkiuPnc33NGL", + "title": "Indie/Aternative/Bedroom pop Viet Nam", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/wsMdAV3wh5UImu1XqifOaEVm9fAL7NFOvVfybiLsNZDH-5dI7C571JjvujVX_OhfPt-Bdt3t2wE=s1200", + "author": "Khoa Dinh" + }, + { + "id": "VLPLBOLogS9mvo7_0_rSiuy4liqMu90RC4QO", + "title": "vietnam indie", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.ggpht.com/KrnY9KvE24w5GPqm2573vYa8x27So05pGpfoSsrwtvFa3VgGnre3ngG_9WdkoMqDROYvU-Fz8w=s1200", + "author": "Huy CHY Model" + }, + { + "id": "VLPLzdiHW1HyJQAqytgvJZLpP_bQTfBXaBmg", + "title": "Vietnam Indie", + "description": "Based on 'Indie Vietnam'", + "cover_url": "https://yt3.googleusercontent.com/148oVJXYDeYZryAPIlv4fosS-Dqyi1F_8GI44RpiTi4C0jccYwvrODIc9pCOKdK3sC4FQdmnB4IL=s1200", + "author": "Ng\u1ecdc Anh \u0110\u1ed7" + } + ], + "Global Top": [ + { + "id": "VLPLgzTt0k8mXzEk586ze4BjvDXR7c-TUSnx", + "title": "Top 50 Global - Spotify Playlist 2025 - [Weekly Update]", + "description": "Based on 'Global Top 50'", + "cover_url": "https://i.ytimg.com/pl_c/PLgzTt0k8mXzEk586ze4BjvDXR7c-TUSnx/studio_square_thumbnail.jpg?sqp=CMvf_8kG-oaymwEKCMAWENQMIABIWqLzl_8DBgij2py_Bg&rs=AMzJL3kCG4ShKz7h6LtGaBTEoI4Ll-GRdw", + "author": "Gionatan Consiglio" + }, + { + "id": "VLPLuyP_yHLc4Gf0m_Fk9PtHnjRktniR2dfu", + "title": "Top 50 Global \u2022 Updated Daily #top50 #topmusic", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/AY33FA4svf-2_5zgY9DlsnpUsxJ2gCIaLloHziZIyZKtoa1hUcCFI3agz-jSvhdu8PYOjRlvyxo=s1200", + "author": "The Band That Saved The World" + }, + { + "id": "VLPL1tcROnjr_tyH-K7twmiA8aIv32dewK6u", + "title": "Global Top 50 (Non-Explicit)", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/LaKPbEaeyT1pXkcPNIIR9-aX3IlWKcvp0_z-0eA-zVbFcsv3q-nONMxSF2PQPUr8wZA9M-YsRQ=s1200", + "author": "Tristan Listanco" + }, + { + "id": "VLPL4fGSI1pDJn5kI81J1fYWK5eZRl1zJ5kM", + "title": "Top 100 Music Videos Global", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/9_DX8piqokD57A8W7xa9Uu2hU2b6lOmfLpiICXyca2vALb1nK1D6VNyNsA7nBdd0yqHcypjOGOs=s1200", + "author": "YouTube Music" + }, + { + "id": "VLPLXl9q53Jut6nT4VBv_fbd-HLiYmTkih8_", + "title": "TOP 50 GLOBAL SPOTIFY 2025 \ud83c\udf0e", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/bC7EOD6VPoRLn3NCpUHYy6x4qmio6XdhIWG4mhaohRiBlBQ2_CC9RgP6_f5LveqiMd48OSDRPeMh=s1200", + "author": "Top Playlists" + }, + { + "id": "VLPLOHoVaTp8R7d3L_pjuwIa6nRh4tH5nI4x", + "title": "Spotify Playlist 2025 - Spotify Top Hits 2025 - Playlist", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/fewpVaVm8niYmRu6az86_7kDOVgsEJ57vGnHpEjJIPt2HExC7ESwbSm4QCDUu7ncbhUgRgx9uWc=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLDIoUOhQQPlXr63I_vwF9GD8sAKh77dWU", + "title": "Top Songs 2025 - Playlist 2025 - Top Hits & Top 100 Songs 2025", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/DG-IXqYvExQFPjJkvbN-f3MlCT_r7Y8i-B-JnXMzbe_i3b9ADNcy7TMBl5pH7-3tq3NhrAxyVAc=s1200", + "author": "Chillax" + }, + { + "id": "VLPLtR6vGKL1K7yjy6VSzFlsYn-AUiOBjZA4", + "title": "Top 50 Global Spotify 2025 - Popular Songs on Spotify 2025", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/bL6uTYoAqrWi7rliUWgDRInTOKceIRaB47Q6GnOUiLMmgO9Jlu8tR8LF9P9L6rWpdJ42Klc8ano=s1200", + "author": "Andromeda" + }, + { + "id": "VLPLiy0XOfUv4hFH2HbflPOARBXA6qN90mHt", + "title": "VH1's Top 100 Songs of ALL TIME - Top 50 Music Videos", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/Zcw4eI_7x_dYZwkauS7Ear6wcyp6NbNdST5IFGQBSvTPLb8u6IrY07EAHAvtqJrjdArtvnzFaqg=s1200", + "author": "Pinoy Music" + }, + { + "id": "VLPLO7-VO1D0_6MlO4UxJWFBUq3U-7zoIBf7", + "title": "Today's Top Hits - Top Hits 2025 - Hot Hits 2025 (Top 100 Songs)", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/OX6bRnSzv6eddLasDY1IzMrTzFN8RG_yt281vrYYq9YbdNyS-H_m6KfXLKQmlmIBNlgPrpJQq7E=s1200", + "author": "Lit Trending Music" + }, + { + "id": "VLPLKQzGtYl0dRht_tcSwmTETL9rJ4FsIZJr", + "title": "\ud83d\udcbf Philippines \ud83c\udfa7 TOP 50 \ud83d\udcbf Music Chart \ud83c\udfa7 Full SPOTIFY Video Playlist \ud83d\udcbf Updated Weekly \ud83c\udfa7", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/IuFz9E66_Esv38oTnq2M-qFKJfnp4NTdjQCSMgmzX1YNn-FSdepy-rZjarG5YNndemXtVMIqm9w=s1200", + "author": "Rocket-Media * Trail Blazers Legends" + }, + { + "id": "VLPLhQlybgcFgo7izBvyerDviqd6WGqJW6ZG", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/0rhaallSv3wrfaXS1Govr2eapEotkOWtzmlI0TlXxVwsokdK6OSijpibdjgh1-TfK4aMI6TzFLE=s1200", + "author": "Zayd Balla" + }, + { + "id": "VLPLdBqlPVujD4b31CWgzvg6WmbF9Gflr6LY", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/Is7nZFE45B4fGhBXQtcYFBupLL4MB0gM97kGdq5eTTEJPRycrxA0tN2bujbTnEW2wRmsvIFGJ1cy=s1200", + "author": "Luiz Fernando" + }, + { + "id": "VLPLpprEgosP2zNBbQzcxUk9XDxdYUQhBK5J", + "title": "Best Of Global Top 50 Hits", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/8Ber9q1-1Gzhrlvpf8SOmkvDocpgDEYUK-FAAO-fgBpEF8LTiFu7irGJhakcX9tFdqBVi4LHzU4=s1200", + "author": "Daniel Matthew" + }, + { + "id": "VLPLY9j1hyVLV6aZwUX_AnsZms7zlvGEySbk", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.googleusercontent.com/T9QQ2You9H00ZBLIf7FCOF4F42_0IBpc3wYOxImbrZLO_vfB1rqll0oyNPsr3UnbTS8bctBMbqU=s1200", + "author": "cesar manuel Ortiz Alcantara" + }, + { + "id": "VLPL8CU6Sr_BNf27KtT8QGD1t7O8qYI6CE0O", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/xDLjAtSuqPP0BSsstG-udgnLJgmMIZELP7Oy-3su4tvXdL2WEeCK8HD2JIc2xdLG6xU8--uI92Q0=s1200", + "author": "Thanh Nguyen" + }, + { + "id": "VLPL_JB6xKZomUa3BcZS08HQ4Rc1hc7w-ina", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/V3tuw3mzndj2l72SOl9OSkXFJapn8sk1qKhKLDM8L6_U6fvVdYi2sLjgVy-9hxaM93FYWVc3gwI=s1200", + "author": "Jo\u00e3o Pedro" + }, + { + "id": "VLPLfV4A5TVN8wCCKtVGe7R4naeiM1ZEdYlE", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/LBBbt3gwdyQ0_Mn1NqHrLS3JIvQM_VA0hOna65b8eo3Zy3tMAdaNu4McpR51ylqFbYk2HyNKw54=s1200", + "author": "dondi doni" + }, + { + "id": "VLPLv3-qcR9GnEr5rW4ysDGlZykE9X38GyaX", + "title": "Global Top 50", + "description": "Based on 'Global Top 50'", + "cover_url": "https://yt3.ggpht.com/HQqqNo2MMjyPE3dIiz7If1MJAmua0H2tfCeIDJI9wkZszwuZjD9KNuUd-TSKeYxh6HL1uyjnTQ=s1200", + "author": "Katie McGrath" + }, + { + "id": "VLPLOHoVaTp8R7cvDSHDv8kEwmiFy7CfyBpj", + "title": "Charts 2025 - Top 10 Songs This Week - Top Charts & UK Charts 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/IFAgIR340To2C1l4H2fDZJjWkegA-waLdeeqVzMbH58bLUDcKoIqRBVfr7zNxr3cJc9tQhcS758=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLaLWNpJCbH_oonfxG9zMPF0m4N3_-PuLb", + "title": "UK Hits 2025 - UK Top 40 - UK Charts 2025 - Top 40 Songs This Week", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/GNIfx4oopb9HHdXWaXvMQy1lZHTi4hGB60PXTwWtLcTs4uX28CX3YAeQJ9GFbIafGLGj5V6J8Mky=s1200", + "author": "Wavey" + }, + { + "id": "VLPLPmdCGqzDq0Omc-BAk9lPEzhqeEdXfKVX", + "title": "Top 40 Songs This Week Clean - Top 40 Clean 2025 - UK Top 40 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/8CrYyTp0jONVLn49uuvYfh9DOKKx2apXqt27eRboTGMGD8_4raf7RosWWeKwMlx6pIOihdTz5A=s1200", + "author": "Hitsify New Music" + }, + { + "id": "VLPLSR9lWowvoE3pbKocaeuVGe0_YlZmXLDI", + "title": "Top 40 Songs This Week - UK Top 40 2025 - UK Top 40 This Week 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/wzSAiYRbT-RY_ev9mOOSwbuEJoGEDCCmR-qNLq2wlti6uNIVSf89gwKDHpuRatlY88d28wyfhg=s1200", + "author": "Trip Trap" + }, + { + "id": "VLPLssZy5BJs9Bd0ujguNbWWPsor7Jq-HtUV", + "title": "Top 40 Songs This Week 2025 Clean Version", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/MB1po4pQRwCg5o5kiQSfIrT0JpjLfkF_M0M3r-qwvScMA02S0x-nnTu8JraxoA0gBTzk799o-Uc=s1200", + "author": "Redlist - Worldwide Tops" + }, + { + "id": "VLPLRhunSKoxxzZjPu8cvOUCgd-I3pP1M8A9", + "title": "Nh\u1ea1c \u00c2u M\u1ef9 2025 - Top Nh\u1ea1c Ti\u1ebfng Anh 2025-2026 (B\u00e0i H\u00e1t \u00c2u M\u1ef9 Hay Nh\u1ea5t 2025 Mix)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/FXqy30Jobks8uwHfC7ibvvAl-Ved9S9IrTO7xGD55-yYXQy66fgI55OW0EC8ev0fod-6jZNAKEg=s1200", + "author": "Saturn" + }, + { + "id": "VLPLDIoUOhQQPlU2NpvlGKTsQRoCMHTUCLMf", + "title": "Top 40 Songs This Week - US Top 40 Songs 2025 - Today's Top Hits 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/olvFdaB1xGaZOrpbUFpUpn1JxhVdsMdGC2C-UqmF_oYGzOHw-yZ3r_CLd4vAixdEG8806MPHXdC6=s1200", + "author": "Chillax" + }, + { + "id": "VLPL3-sRm8xAzY-TEdl3LU8tdfh1rMt-m8OX", + "title": "Top 40 Songs This Week - UK Top 40 Songs This Week 2026 - Top 40 2026", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/KhIZuX1JarKlYH5wpckf7T_OApFvnEAsVn5gaPkH1SrD93HQGvKMgcRh-FjodypHAdt3M69f-0I=s1200", + "author": "AT Charts" + }, + { + "id": "VLPLswU-RbvKfJB5M5PJLyTVKyJpoZj8Yi18", + "title": "Nh\u1ea1c US - UK hay nh\u1ea5t 2026 (new and best eng songs 2026)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/CxjMDno0R_MLEdVtQuiUqubNW-PuIyLidnuzCd1MdtYA9_og3owqhyMAWhcOZ6AmiN6y3XhSsvc=s1200", + "author": "MUSIC TOP" + }, + { + "id": "VLPLywWGW4ILrvpqqkgKRV8jpZMaUPohQipP", + "title": "Official UK Top 100 Singles Chart (Top 40 Songs) Week Ending 18th December 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://i.ytimg.com/pl_c/PLywWGW4ILrvpqqkgKRV8jpZMaUPohQipP/studio_square_thumbnail.jpg?sqp=CMvf_8kG-oaymwEKCMAWENQMIABIWqLzl_8DBgjk5PHJBg&rs=AMzJL3nbBu9MyI6MzFe5xVXK6urHw5CCww", + "author": "LewisGTurner" + }, + { + "id": "VLPLOHoVaTp8R7e5H4JLitBylI4SYieiInfk", + "title": "Top 40 Songs This Week 2025 - Top 40 This Week - UK Top 40 2025", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/jN0AOyJWsSGOTBR9LwmeTXKXLn0Sb76_5Ar7FMyj51giC-OCEOd3DYoB4r7Ons-eYMai10UV3rQ=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLIInvBaUyS2wuiIgubIP2feWMdc_B0kC4", + "title": "UK Top 100 - Top 100 Singles Chart - 2018 2019", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.ggpht.com/JP2ZNK-Y_HarD9tJuu5Y361-YQp2cpW5CWc-XloGln5MvT3MgDEzN53b7pk9I6l9QuC5QnBF83LK=s1200", + "author": "Muzica Noua" + }, + { + "id": "VLPLg48S-qywklv3TOs5awTAiwcWHTbtvXPO", + "title": "US Top 40 Songs This Week 2026 \u2605 Top Hits Music Playlist", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/rlkgEJ6N5I7-P5t95TUta7l2qEPHHNRTNZEbvwrqBS7tw4yCUzKAXTZCSQG_nfEIqbZoASuKPw=s1200", + "author": "21Charts" + }, + { + "id": "VLPLplXQ2cg9B_qrCVd1J_iId5SvP8Kf_BfS", + "title": "Top Songs of the Decade Playlist (2010-2019)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/7IlcqqdU8t_8se8CyWh6luJ6Npuvrsd1SiYHtfjP2EOoxWNKp1wcWJwKVQ7miLi6UzOWwokgkqs=s1200", + "author": "F & T Reviews" + }, + { + "id": "VLPLGBuKfnErZlB3AThAEKz8_3kbYTocgfbB", + "title": "Greatest 2010s Hits - Best Pop Songs of the Decade Playlist (Top Pop Music 2010 to 2019)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/BLgTUSiz0EuDpK6OwJrREeyp-gfE-GiN57urZMOTVFWUBxkzuvxwPgz7lEPKe8cWMeMz-X3h7Q=s1200", + "author": "Redlist Decades" + }, + { + "id": "VLPLZjyOXTKuD2Q_VN-XXHK-HVhQl58-ZI_H", + "title": "Top Songs 2019 - Best Songs 2019 Playlist - Music 2019 (Updated Songs Playlist 2025)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/X_5gezmuImEhu9d44lPR1jfIRZjz1XWd-wdcXl1_3KVuAbJFqiaP3iful03XVJy8YByZ8_vl8os=s1200", + "author": "Cloudy Cloudy" + }, + { + "id": "VLPLSKsoW1K1XENlV29cgz419ERnzzBwq_br", + "title": "Top 40 Songs This Week 2026 - KISS FM Playlist 2026(KIS FM)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/cAPb3JLqqhlYIKGnrJ1PtJDCF2zdFN-i1owVCjphpn9FwwBDOOXh5RsRxMrdwhp8B0uTd3Ubylk=s1200", + "author": "Eloise Music" + }, + { + "id": "VLPLPs_WDlRBeuSp5UPDaMeFukgzDsaqnDGV", + "title": "UK New Music Hits Playlist UK: Top 40 Songs This Week 2017 (Official UK top 100 singles/songs chart)", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://i.ytimg.com/vi/K0ibBPhiaG0/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmUM82kcgxUIYo9IAQA9JoDbeA", + "author": "Ma V\u0103n Fu" + }, + { + "id": "VLPLO7-VO1D0_6No4YpDVJxBT5wMkbHX_MuG", + "title": "Top 40 Songs This Week - Top 40 2025 - US Top 40 Songs This Week", + "description": "Based on 'US-UK Top Hits'", + "cover_url": "https://yt3.googleusercontent.com/1KNrgw_jNLiYX81qOSQhU2-v0B4pBkvDIjZnuQru3IvwffAHwYBNKT9ax74JSEl3Hy638Q-EmA=s1200", + "author": "Lit Trending Music" + }, + { + "id": "VLPLyomPekqwsl-zIEUa8DEPuUEJ8c0tW5xO", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/xDRDDV2B27Ik8O7iIaLRNWxzvh8CMyOfvyNkdSq60u0DUSoI1J96aFS8vmlq1EZMiK3MmjPYjHPx=s1200", + "author": "Pedro Canada" + }, + { + "id": "VLPLDIoUOhQQPlXqz5QZ3dx-lh_p6RcPeKjv", + "title": "Pop 2025 - Pop Music Playlist - Pop Music 2025 Playlist", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/Q55k-gfCGESmOhNjPc5sczMSNuSxGuFQ4qzKcU71NSnNB_kcc_vaH8WVWUM4NGt5t9EAsfgmclM=s1200", + "author": "Chillax" + }, + { + "id": "VLPLaAEQLcWYGZrw_XYchJcv9jpds9WdXYZB", + "title": "Best Songs This Week Of Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://i.ytimg.com/vi/QGhcbfENOEE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lSlQtgVIDT6ZGMKt1jQhGlLdeJ1A", + "author": "Pop Rising " + }, + { + "id": "VLPLlDajC2iO78URtRywRYoaesYJlJvY-afT", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/h1UK9X9weM9dcNjIvxFmSRfZKXkheZQ9A2U0K70V5gU7b-JMEU4yYrzp98maHU0FOFmCmfM8OQ=s1200", + "author": "Vicente Rubio" + }, + { + "id": "VLPLk-AeJRCOn2puWyyvwNGKzd4ma_o_O8PZ", + "title": "Pop rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/eAylH9w6IJMqMyL-wm0yQrhPR7QT9qFIelH7B1nA3B9cw6kCTHxAdD5PMTwmjsYg_f42XhQYB4w=s1200", + "author": "Debasis saikia" + }, + { + "id": "VLPLvTkESWSpnC5uzOrdw90zXN5icHjAsV1Q", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://i.ytimg.com/vi/baW_KIfnEHY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l6CPpykIPufCiJ8avCWSaHZRX6Tw", + "author": "Mai Tran" + }, + { + "id": "VLPLA8TU2CrOWAPJQ9Vti9zO_98vrOm0IQ4m", + "title": "POP RISING", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/3gx2b-kbCa-EoTaY1gjffQjdKxA2eetk1NCpBwc-5HUIWjx4mKBpCrIaZ8Mn9xSSqJB2GC2mGg=s1200", + "author": "Maria Gross" + }, + { + "id": "VLPLIaWNzVqhsb6geFGHs-jpTUW03Ihp6ftO", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/fwyGHh3-DXWfVyMhjEoYpUToYlQs1E9zRZj-VcjeniWyAZqftgpjPTjF3D2MRLblTjJ8GbecMg8=s1200", + "author": "Tim" + }, + { + "id": "VLPL8BDMMS4_SBjpjp0WMMejGE0A71tFzfrK", + "title": "Pop rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/5u9uAw7n0V4hAR6_73LwB6ACSgSF6cjH9cMFNrIjNPxOLyNh92CtPydkR8ijV8iYdB49nQkHEmw=s1200", + "author": "namit pandey" + }, + { + "id": "VLPLnoOvL7CqJY7wbo-sZ7iM0Q8Bd6gxttfK", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/KwbVmCeLTr6KqkVnQJ3NYCe92aqlDbTScvXIssv9hhG0YPEgvWtek9LmfihJttCn9L4Jtzixet11=s1200", + "author": "Eduardo Oliveira" + }, + { + "id": "VLPLdaqdC-l9U6pY0ejoYn4_-iId7wP0kUHf", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/V5n_hYTjXwK_ME8jnjgPIQIepmXcK7rNUcurLr1Zcs77CC9-vogQ_OugG7VBBNHbEGJ_tpEi-U8=s1200", + "author": "Yiming Yan" + }, + { + "id": "VLPL7m8SDilnTJ-hWPgmrG6jHlTvw8tM5blt", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/5SgA5y6Uwuf7EK5MNnd9PloYC9w39oycTxH8MHLMJUIadg7mU6haMIFFIBOrN1r1bMTgztMPBOY=s1200", + "author": "joseph tan" + }, + { + "id": "VLPLUj1RRdcTpfXuFOWckamrnMDU3JWTlOx9", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://i.ytimg.com/vi/BqaoAQbkeXo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nk3Hvo7TOrWU1kT6mQyCwbkA_GFA", + "author": "Nina Baculinao" + }, + { + "id": "VLPLZ18Ujtp0hPaBL79lsX53LPktHeHPNNPf", + "title": "Pop rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/1xrv9plGhKZjmKgyWTyuaUcKaoQ7fmjbfZnJ6m3k2TV2ejs2BlYXUZAXqloWNr1Ku-n7-cMhPSxT=s1200", + "author": "KingEze 01" + }, + { + "id": "VLPLL0chzXO0Y2BGn8UymGUxtcYJnTYzIPeB", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/p63cI0IigRUeMZ-J2q9E-os0sPdEiHsTNO2Zizzqa2raq59wbs1SZLUA2bajW7ulDN5oN_WWAGA=s1200", + "author": "Random Think" + }, + { + "id": "VLPLgULt7AsoZ4Rr9hSNNYoQ0849iaJ0WUcY", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/HypH4XxR0GP06wykNs5Mhs9AcVSa9k-t04NWnA1xvV4ZkoxpKNGqe_kFlH46U7YEl2Muvzix9Vtr=s1200", + "author": "Brad B" + }, + { + "id": "VLPLIZa_kJGdgXz2EIpeufyvwV830i80PGd-", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/-qxQtBjyKiKDQ57PJdPgfnXCS48mklRVe2Qah2QzeKst3upWYMaO_h5N50W_eNzm2PH0MebJI5UX=s1200", + "author": "Ro Al" + }, + { + "id": "VLPL-aMNDJeg1bEG66nr1ec3ZIS6GWRbeDoW", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/nU27J3CUXAxwsgFgbD8mbUox7VIQI03mi9NlKs5S4_lLxKgH7_apzpZhN0qG4EDaLfh5kQSKng=s1200", + "author": "Shania De Armas" + }, + { + "id": "VLPLbjxai0MX3-fQLvjtZqZd67Eulekji3zs", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/m1O1g2BYdxNIFIRSKaY2U5QxJIM0okbZdnG-r9RU7m8m34nSeOmwjCmrn93QyQPkOTHs8liAFg=s1200", + "author": "mm nn" + }, + { + "id": "VLPLJwYOIc7DdgW02MFH2l2kok9B3PCg9gQz", + "title": "Pop Rising", + "description": "Based on 'Pop Rising'", + "cover_url": "https://yt3.ggpht.com/5Or-fmli27x4NmWYyvYJezP9xWpvuBWGCiZtiRBTrK3U22JbFjBpDgGn2KYJMnRLPhoU_nI5XAg=s1200", + "author": "momo juniore" + }, + { + "id": "VLPLJE7RTPonH8ySdebDIfj801UebKwHCfF_", + "title": "\ud83d\udcbf India \ud83c\udfa7 TOP 50 \ud83d\udcbf Music Chart \ud83c\udfa7 Full SPOTIFY Video Playlist \ud83d\udcbf Updated Weekly \ud83c\udfa7", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.googleusercontent.com/7nlLPuIaibSLSCm_HBJ2-cn1QheXrfUc4NMJEMO8bv9UVjUvvHiUaprjQrBzedC_NDrYzrbUPDw=s1200", + "author": "remixit" + }, + { + "id": "VLPLqvUPVTFwMxqyPv6MCR71TAm_9EYfOv-3", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/fS0R0l_EO7CbP8ADUtdyBs-nuHs4rBqEulc_WJiudABJKCUfBVbXrDnpOfJbmqdMIo6TrBq9j_tx=s1200", + "author": "\u5927\u5927\u5927\u745e\u514b" + }, + { + "id": "VLPLV8fDW82kOo_8D5jfRbNiNaDzI7QZUGF6", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://i.ytimg.com/vi/3tmd-ClpJxA/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRNIkZ1UD6wN32hRCwMDQKnR_2Tg", + "author": "Nacho P" + }, + { + "id": "VLPLV8fDW82kOo90n839dtA8Bb2F-lyk4fPg", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://i.ytimg.com/vi/3tmd-ClpJxA/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRNIkZ1UD6wN32hRCwMDQKnR_2Tg", + "author": "Nacho P" + }, + { + "id": "VLPL8CU6Sr_BNf2HFe8M7xSYw9uSVG0rNvPg", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.googleusercontent.com/zjNX5q2Og98YFboH83O-xxYvoT23hc6nC1ZywG-WAgnKG6HH3mEuncY_kZZn_tw1h_pd4ng4Rw=s1200", + "author": "Thanh Nguyen" + }, + { + "id": "VLPLs3VN3J_zql5H9KB-0xV-TPu9KqJQ4FWl", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.googleusercontent.com/rH-PFsiFz6FZK86kyi1AOQ-5UVXYcg59hVfDFJ8Ia1nO0jPv8DD8N5sd-8n2oDuQnTVBKZr6IwM=s1200", + "author": "tthanh92" + }, + { + "id": "VLPLqa8pUR54i7cOQExwAV47bzmW2qyZyqbE", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/5E4Tr54KH2LhMLuZg6lgv8elm-xRb1DMbwiWwwFCFUwULKcSZ_o-tu_krvNZWWd3CL2VAxleNA=s1200", + "author": "Ethan Morris" + }, + { + "id": "VLPLbY5qYZmsQLsLAW0tlmQjLAK9UlVZ5Bko", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/qgWE6dNcmWy9sW0wBvdZ7nNZ8Zf_rS48OPFBJNeytgIr69xRLZ1LcibL0kNF5taB1EyxQvYUNyk2=s1200", + "author": "Walter Munar" + }, + { + "id": "VLPLdJ-rOJYFARclFawRgnTrgR_hib69ZP2E", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/SAMRhAqwFM72K0Td0Nir_LUXWh6OPveGbo7M9c_ztaKebnQUm7p1ZQQQG790Wx_wvlrSMXCG2g=s1200", + "author": "JCTcuenta" + }, + { + "id": "VLPLi9xvSUtX6_boBFuLzq7FHzLkaeHHS06H", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.googleusercontent.com/1vLk5yJMRfND8EvMY_0AcOf5G_AxCywndMrhCJwTLoEV2vSUxhsG4KXyXicbVA9OwNu5k4bbZ_LP=s1200", + "author": "Dylan Mojo" + }, + { + "id": "VLPLT1RK1yTyxfjpT2Xcl-85T38VZZ1_MWNz", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://i.ytimg.com/vi/Q7mrtdkpWxc/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kajIWuvrhzxRM5QGSixznqGGDcFg", + "author": "Ferran Via Fern\u00e0ndez Fercatalavia" + }, + { + "id": "VLPLbzejCKcFKG_kjLWV3pDkpIN5YGCgHj0d", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/zhleRPT58_d-90uBiSydlze25Q7OgfOHe0n2aYG3N38KDuBGLnWunNdD9udoxTE3o3BDn2uxDu0=s1200", + "author": "Abdellatif" + }, + { + "id": "VLPLLm0BjyO8ZKN_gX1thGHIta3jjtiEFU3B", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/IUvWdUJC9B-NGqPLf_sBTYkPmqsE0YqdNpQVZhbPgLM5qaiUPA__e-If4HX-xWJ5t5SWA0kk_SKa=s1200", + "author": "Itai Kornberg" + }, + { + "id": "VLPL8dW_w2ejswE_TuAFuTdGPzWbOUa9UkdE", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/rv5qAIaq2V3gDAM80h8f3vfqwVEGjn1jhMraAxgeV9uVECTgFDUfSYSU68roruKoOUIyJ7WXf-d2=s1200", + "author": "buhtichka666" + }, + { + "id": "VLPLtcKFYfLw1NiOlsruZbvECh5CPr8ZJ6Zi", + "title": "Global Viral 50, a playlist by spotifycharts", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/mU3Sh57uOcNy3yKEw_aXC7cs_YsFWO0FLTTBTtYfs40l27Xec9FGapVXBUWCGRZFCBI7KWawYPX7=s1200", + "author": "simo0on" + }, + { + "id": "VLPL8dW_w2ejswH_JIDu4B91mk7D-JLtf0tx", + "title": "Global Viral 50", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/Ssd8LEa8RqpTWTUIIzbFjKxvFaaSywLs5Nfxu7TvNrkgI8uT4MzBWNPmW2-5ibACRk8_hxYUz9Y=s1200", + "author": "buhtichka666" + }, + { + "id": "VLPLJ5F0nou1Ci6DemnwtKmPVp7aK2TJw7UB", + "title": "Global Viral 50 | March 2019 #vlogram", + "description": "Based on 'Viral 50 Global'", + "cover_url": "https://yt3.ggpht.com/AZ8uVDcL8MiG_K9lKGZUTmKZjFkiVQayzHy4-nRuYSMzaetPFtrNoohGy-iNE4klDKAZYmLNHlc=s1200", + "author": "Vlogram Video/Music List" + } + ], + "K-Pop": [ + { + "id": "VLPLOHoVaTp8R7dfrJW5pumS0iD_dhlXKv17", + "title": "KPOP 2025 - K-POP Songs 2025 - KPop Playlist", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/alKxrq93Odrwj91VsxWJ6D0ix64DHT5KtoYcrdKd-ED2Jp-MvQGr2uvpoqKdgTmgXPmBpnA2C4jP=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLOHoVaTp8R7ccrQM3EpCTVDdwHhXrJhXS", + "title": "KPOP 2025 - K-POP Songs 2025 - KPop Playlist", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/TTBfZSQzAW-g5sWEbO9k0LflN_CmMOQMOj1UlqtDZgSZkec8CSCft4WvbwXkER9-CUkYEIfmjw=s1200", + "author": "#NewMusic Top Charts" + }, + { + "id": "VLPLbxr0tBuEEpF1PFiDIwUkdDR5dsfx1ZUr", + "title": "KPOP Best Songs 2013-2021", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.ggpht.com/qC122PLLwodBjIgAKurXqJL4wzDxSeW2rSoNImB-df9m6fgCFzfSCZQsFF3SDi0b3RmUYkrKMZGa=s1200", + "author": "Devi Patel" + }, + { + "id": "VLPL45_r-J4SdAHX0BGbH7bcwVSIcGVNFmXa", + "title": "K-Pop Hits 2024", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/2DiLc19B_gcTUum9d3ItI5cK4klO8EAPOppQJhjZ9lj3LIzkM5XFURFv3afPmBUp8wxzC61TSw=s1200", + "author": "Universal Music Group" + }, + { + "id": "VLPL4QNnZJr8sRNKjKzArmzTBAlNYBDN2h-J", + "title": "KPOP 2025 \u266b Korean Pop Songs 2025 (KPOP Playlist)", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/o_ttYpUp5XHNYh8rvmA8bEJtyTHC1sZMeZBZHr9cVNvIjm3m_Zu067KfSdIRJVfduN0tH_LjIqqF=s1200", + "author": "Redlist - Worldwide Songs" + }, + { + "id": "VLPL-DoBnlIPPVndYT0g9-E8cas3Ba2ib1dX", + "title": "KPOP HITS (ALL TIME) 2010-2025", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/0qNgwnEyNuA-seh-rlL3rb5S2GJqoFJrHu178X-0BbfEntoTVqIis16uS1wKV5nEw4nkEosCYQ=s1200", + "author": "Babi" + }, + { + "id": "VLPL_MgOSSiBhvEAZgp7DcD66h4BmhVk8_fc", + "title": "[PLAYLIST 18] Best k-pop Songs of All Time", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://i.ytimg.com/vi/U7mPqycQ0tQ/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3noDZz-FjizUC1slIdfM2g9WKUMow", + "author": "nm" + }, + { + "id": "VLPLgAWynvKDEDVaILn5viLCElGP0u0svWiS", + "title": "The best K-POP playlist \u266b - updated DECEMBER 2025", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/r5OS6CpJaFKJAnmqe2Step9n0jNSRDYpgCQSA8yT1yctC6J2ResBHGDaKxuAscdLw22mG0rgJ1DT=s1200", + "author": "eriye900" + }, + { + "id": "VLPLI3Sir1tUBbE0KYpmcuYxkPBDOCDaNbJ-", + "title": "2008-2016 K-pop Hits", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.ggpht.com/g_1jhJAxvjVNw_fKp1V9BHE5sRRYJn41ieEFGJuhXqAPfj15jDplbcBYXAmbOeHx_V7YTe3WXg=s1200", + "author": "knw" + }, + { + "id": "VLPLZ0ieMKiJUGcNOTUwDhAvheKmJhtxlfst", + "title": "Folcwine P. Pywackett's BEST J-Pop, K-Pop, A-Pop Hits", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/vgGvvCBVKjTODUnTF3SYtGwYaBaCKcZopzJ4WDzX_m9uoygsOENQ-re-tXzsRTRpY9pUHjXiRw=s1200", + "author": "Folcwine P. Pywackett" + }, + { + "id": "VLPLNSKpl7JCPswwj_fWkfixq5L7QeZJA4Ot", + "title": "\uac78\uadf8\ub8f9 (K-Pop Girl Group) 4K", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/cWjC-SWNknz_DBwDmRSYtr32HLKJm5i3pX-0al-78mMrQYipc7_S0u1z5c6w-yX0P2fnKufx9m4=s1200", + "author": "KD Seo" + }, + { + "id": "VLPL2HEDIx6Li8hDUxaa-0cLX2tNrx_brV7G", + "title": "Most Viewed K-pop MVs (All time)", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/VdMKLFoGDnjn5VZr2lDDoDRtNGjyi7-iUEDVy6gXHTm8DBavkMqw4-NMW1h8aIdnWoeiGq6eBQ=s1200", + "author": "unknown lonely butterfly " + }, + { + "id": "VLPLdRxH0r-nDcdWKXW1qCXyn2djaz1yhEcn", + "title": "K-POP HITS ALL TIME", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.ggpht.com/6MkKxIYZ9IboT-xvHlPQ011k0ipTirrMaNuBbcNzLuNAyGjcIL9kRL9S3-yEdNWw2OLn6Cmi8Ig=s1200", + "author": "ABC Channel" + }, + { + "id": "VLPLX2DNZKn1OMHiRt_RnZdwZHzizQHCGraj", + "title": "K-pop songs 2015-2023 \ud83d\udc9c", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/xX0njEAVYiH8i581wuEVoQQszIMKjsUqWiXhdAUGex3gLE2HmAkG5UdJoGye4mfzTLKLU_z9WLZg=s1200", + "author": "Lll" + }, + { + "id": "VLPL37A65FDB2C0123A7", + "title": "Korean Song 2015", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/HYGfwk6E2DDSbC1JWYyRLIdIRwop6J2YiZtTfdoVx9P3dJrt31qvHPJDv__CZhjKKedoYYvGDw=s1200", + "author": "\ub9c8\ud2f8\ub2e4Matilda" + }, + { + "id": "VLPLOfI_TSLVPm0rvPNKsbKqkl5nKYKm9MRI", + "title": "Kpop 2000-2012", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.ggpht.com/gLVg9J8veRvPbl4_bLL8gL79TSVusXC3kY4U7MW2KglekTHwbUyRWUfMQih3p-VRharT2V86ug=s1200", + "author": "Tanu Fairy" + }, + { + "id": "VLPLoIEYfEFzAMHZTOJtJPYSXMU66cVJVuPy", + "title": "K-Pop Ultimate Golden Era 2008~2010", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://i.ytimg.com/vi/MzCbEdtNbJ0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mFMPjglDdS3tswVMFgv3qfKMdOHQ", + "author": "Goerg" + }, + { + "id": "VLPLWFPUTOU2c_wrKWSYPhOwWE-ODHY9VHkT", + "title": "K-Pop Hits", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/lH_mHVzhruLdKV2zKfmjFurw5IvScTCAAI2HgfESWlK1R1mr1X9jvR5KIfEJlxjgAIVh_PJZQis=s1200", + "author": "Kimberly Bogan" + }, + { + "id": "VLPL5MvESkX_BZV0w7HlQ2h2nJORSp1e0r6C", + "title": "KPOP 2012 BEST SONGS EVER PLAYLIST", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/2WJRgnpz6Nbu2QN_RDK6aLUU-gCP4pFyJ6a9rx5ZeFSS9xR_mZRcPXd2LI7OVGKAYeyYsXQV0g=s1200", + "author": "Minh T\u00e2m T\u00f4" + }, + { + "id": "VLPLzaScnNHQbyrNo_uRfJszUh9M3HxrCVdH", + "title": "k pop hits", + "description": "Based on 'K-Pop Hits'", + "cover_url": "https://yt3.googleusercontent.com/Cne5HD7G6YXsCfXfMyW8UUmtLfX9Lru5xUkJeMdH9hA5Ta7q9mM4MlM4RrCn15sS2jE2c-YRO-MS=s1200", + "author": "Bannaaa bannaaaa" + }, + { + "id": "VLPLKAiKOhU07BCUHtrEkl2FyqY8gKkYMgYf", + "title": "Kpop Playlist 2025 with Lyrics - Best Kpop Songs Everyone Should Know 2025-2026 (Popular Kpop Lyrics 2025 Mixed Up)", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/vmrZwQtL7L51VSEr6WBq7v_Vi-Za-FE5HYXcI-P0IXCSv9lngwCXYPwUPSlC4-TLoBqdLcVZSw=s1200", + "author": "Redlist - Pop Artists" + }, + { + "id": "VLPL6xWsUSPh7d7m6S_NQrArkUQknoj5HM6E", + "title": "Top K-pop playlist 2020-2025", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/GYCLqISjBFMjgJVR9JWojTQs2kiJ2QxI1hL_RZiZ7yaUKDSGyI0z7YZBJarFjmomtzZKYP3G1_m5=s1200", + "author": "skzlover" + }, + { + "id": "VLPLuXZlvGGGQyf-b67pPeRXD0_v4l8rypDP", + "title": "Best of K-Pop Songs 2025", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/HA0ZgQJRxaXKYEpT01E2pqYqU7bbVpshIRB_J-Rc6j8_HDPIumLMd_1_W_1fFjMDMwt_enlKd3g=s1200", + "author": "7clouds K-pop" + }, + { + "id": "VLPLDNCZfnfrvbGqnNd38lQPesfeS44q7hVh", + "title": "Best kpop 2013", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.ggpht.com/eJCt4waL4caD8z7bGmqk1BZzudgOmZP1e51OlAT5mGYvReqSScu_-Zkwi7oMVjiMGuIuaA96odA=s1200", + "author": "k3y" + }, + { + "id": "VLPLpEeaBGqqbepkYkPMY2uemiI_6mGm7NSK", + "title": "Korean Song 2025 - Best Korean Music 2025 (Kpop Songs Playlist 2025-2026)", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/HaoKQqtZFXLOd-7FPfi3dqS36d7x6qUpk96Ge0Qjx0Ao-ofSPSPPEbuvqEk3hf9J5yqFoD-ypQ=s1200", + "author": "Himawari Music" + }, + { + "id": "VLPLnSTAmnSl6okN_wxGioIlQEbiV3Jkel1p", + "title": "Best Of Kpop Each Year (Kville Entertainment)", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://i.ytimg.com/vi/27nOLBiHnOc/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kOmL7J-ZOsfInbna8RWVMlLsZg2Q", + "author": "KpopYesin" + }, + { + "id": "VLPL5MvESkX_BZWD74M6ZnsQCXxE11YIvliF", + "title": "KPOP 2010 BEST SONGS EVER PLAYLIST", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://i.ytimg.com/vi/G6JppjQSTh8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kMtTm6XfOamVRwXi4vc8_GQ_fPAQ", + "author": "Minh T\u00e2m T\u00f4" + }, + { + "id": "VLPLOJ1nP1cWwjHIl1M1CX7gHxis7hdmg1Sf", + "title": "MOST VIEWED K-POP SONGS OF ALL TIME (CHARTS)", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://i.ytimg.com/vi/vHmC4SRQ-m8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mbgTbGEkK0Bwgnf9Ko-bKge92ulA", + "author": "K-Ville Entertainment" + }, + { + "id": "VLPLeR-qo1Gvd5QATI4ryzVxcUpkygETTWGp", + "title": "TOP 100 Best KPOP Songs of All Time", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.ggpht.com/3KDZwYzHKdQOftcX4SRx-xVL3_lumid3cPfN6xnOFD07lQb9GFCmkNkVK05d0yc9AwYojMMfBw=s1200", + "author": "\u3010Lang\u3011KPOP Ringtone" + }, + { + "id": "VLPLLR8myt0j8weawpjdkhz8jW6WZGJDEBjf", + "title": "best kpop mvs", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/DpsX55i-CDq9sXAhR3LocFFmRUG90DmXkIarmySTGez3Vtw8BbeFwcGgXC9OQA-P0yZ52b9eW8A=s1200", + "author": "cha0ryy" + }, + { + "id": "VLPLah3bFIsntzDEwiuEgzv6ELLVhABCAY5M", + "title": "KPOP Instrumental Playlist", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.googleusercontent.com/BmPDvEp0FeU9BV09lqOlzALiRD4zJ8lS-wGdjKiFZmQ0-cRuPLHJ9bPvbwrrKZTqunuyNoys9g=s1200", + "author": "Jason Dorotan" + }, + { + "id": "VLPLG_2_qXwkr-6NZ5zaaRTZHSaQWG2AvSvb", + "title": "oldie kpop songs (2009-2014)", + "description": "Based on 'Best of K-Pop'", + "cover_url": "https://yt3.ggpht.com/clAwZKZDM3zUeQf3SLOtLYRNIP7qFPrwdSKPjOVtvmTT93RK8caUvOXinI3xBNr6W1qQROdPxEhW=s1200", + "author": "bbeomryu" + }, + { + "id": "VLPL0m-fk7Zv9u3d0ffxR2QsGE6Sc_iAz-Rp", + "title": "Kpop Rising Spotify - Best New Kpop Songs (Spotify Kpop Playlist 2025-2026)", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/8bcqVRF6TCp-9iInAJrwvnq0W4UEQovLDIdwXUvm8sl3AsSRIxcjhpuBUJTPJNg7KI_G_TmYqj0=s1200", + "author": "VE Music Playlists" + }, + { + "id": "VLPL3A-zA0GZ5HouYtKjl4VgTkaNU3ViKD2z", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/PYdY7bLZYcL7rWubA0K54HEuHrMoA3EMh-Oif4A3gjNjMzbILmZoUSEOxMgp5C4ht7eTNdkQag=s1200", + "author": "Ahmed Alkhalid" + }, + { + "id": "VLPLFj5EpU9QH33WTw_62MXA8wZLfu5qMU3c", + "title": "K-pop rising ~", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/ihD5-hdfqBHrYkFa6iunmpKE5ZyZju9P_byRBk1Jd2DYK2NA8Nbl0XJvx1FbkAW9T1dra8DD4tU=s1200", + "author": "Angel" + }, + { + "id": "VLPLJ2Bkdr3nibS6yuA3zAPzjVz2CI3KcTyq", + "title": "K-Pop Rising Spotify", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/WfGTMwxDWAcVMBzSWNtaft7bQh3lWdAoJvg5o-BsIW17PUtPclChY1V0bD2FwmliRQyK8DLdGw=s1200", + "author": "sora ;" + }, + { + "id": "VLPLyiUyqJnTQys6UlRwq9VJ-V_uRNRTnWYM", + "title": "KPOP Rising!", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/c4esnBJopt-ux8UvuiZ4USEWBbJjDdOFQjDY7HD95w-AFUJKaHUhxfSiMEGB0IXGc4norpK385s=s1200", + "author": "Mega Sri Handayani" + }, + { + "id": "VLPLo5tdZLUB_nT-4KBrP7Z2WS3qnxfCVVQz", + "title": "Spotify K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/Oon0ZIDcm3HNTRn0qC5jTbBmjxHwTXrtLMbU1HBPwmzezP7tVRbCsGgNIYhpccyBz63xFSr5QYU=s1200", + "author": "Olivia Packer" + }, + { + "id": "VLPLLoexs4QSEHVVsO8KlrJsAujdrhmkIlIr", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/NlO1ct8hGQHXK6b47dt4k_AkUMGFwj6NSIPx-qJtnT-CNa2FZmXrLUvMI6A2_jeAxMHKoF2tRg=s1200", + "author": "Maya Brazales" + }, + { + "id": "VLPLU6Lfi_kkhm2pNV_bE9_2qsrdseUIMx3V", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/6jYaClTpSq87xT7RdxtN7wIwih6oqmMwGkjmuOjWckg-qomooW4PNDaaYhe4NiQNj9InslRxYDza=s1200", + "author": "Michael Barry" + }, + { + "id": "VLPLmrHcHYzEUtdH5ukj4bFzACpWJf20snId", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/emh3pwKptRRvRogn1Z1te65NHBBe5HlVUsE3JdJ-S3EzkhsuGHxlkw_IMH7hP5j-oBX9wIBbYw=s1200", + "author": "Ananya" + }, + { + "id": "VLPLMZ7RcI_c5QopztiDmS2ExOgfZgBmc8lA", + "title": "My KPop Rising MV", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/hEd_7dAdcJts9sKbW5Z7gWSkeyCwEWaO5mlPsdFyaA5yU8RoSq6oOD4vD4catMrH0EgDkEXpJDY=s1200", + "author": "Paul C." + }, + { + "id": "VLPLhqUXtkiIiNVEUZfqZqx4Q2e0Y7xMbeM5", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/8PFFS78EhP4Qhe9YyDhXzQRzNEU9IoR5-qvsFB3yIah0rmqmmi3SOhF2DHcV5iZQBKHBE2Wd2Mo=s1200", + "author": "good4u" + }, + { + "id": "VLPLqVNkJafaYKD9Len6cjlKcMKnpAsnldqG", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/R_Qu2yFuMQoYkYYOjecRCL12X6n3hYPUpHQSqQDwblGhvLOujF9qSaugij_BJMnv_WslmoTatp8=s1200", + "author": "Manda" + }, + { + "id": "VLPLnMoflgGRNGfp4MXE4KLXS-f5up0FELfi", + "title": "humor rising kpop", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/onlG5F0qJoQOd0sIOxhOISrU1JZIjnjJlLg3p9rXu1NEpSKJc5YuSAUvLvqWt7zc1GPhmn56y-M=s1200", + "author": "ar1V4ns3" + }, + { + "id": "VLPLuHIME4qSliYDdJk_zo5ONk0EkjwG7wOa", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/8feTNepA8JZMAK6xQdJ6yzrOlqTuuUIGRHSz2hvkSJvPhnxOp_N4Eq8WHIy_7KWH4wjc_OAxz02X=s1200", + "author": "Early Water" + }, + { + "id": "VLPLgMBET-oQ7WTH4oW_krckTi5FhewhXg9V", + "title": "K-Rising: Unknown & Becoming Well Known K Pop Artists", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/gUHeSDfI8vSbPg9fr9BuK_e7OtUwEzKBuytGe5QHGAg4VfLPsIQd4YTe1ZY5XqFYwMonTtTnIQ=s1200", + "author": "Gordana Fabbro" + }, + { + "id": "VLPLbpi6ZahtOH4eDIrX2LD2qJMtD83-UTLf", + "title": "Rising Stars: K-Pop", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/zuxwLmfYiIz4j9lb1gGC2twtbuKsx0GfQGD-h81JC7Yr98GdpjOzbUADA1Mv6G2nf7BzyXp91Bg=s1200", + "author": "YouTube" + }, + { + "id": "VLPLGLaDA6PjGwtL9eL-DTCTzspmxzuNRwvh", + "title": "rising kpop", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.googleusercontent.com/vJhSIezFThnE_YqR4SRxDeaHAF3V4K_2qcTiTO8QYr6yyqFdMeFOLDYIgRjGx7Z4XP3sR-xvmSg=s1200", + "author": "Nozipho Nozy" + }, + { + "id": "VLPLhQDzeuHLrTocyuEalZRw_lmOC-kG7D2c", + "title": "K-Pop Rising", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/BosL8mCVtpwDWlELj9Jcjdj2JwwvqAxCkVtT6xgWaOAYbd3DK1TwvOVQQi7QJAttmjuYQEpU78M=s1200", + "author": "JD Apolo" + }, + { + "id": "VLPL7MeeYbSfwi3tmg0LZ9-YPOG0RtohGrej", + "title": "Slow rising Kpop songs", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/STTv4tlW6oszpXzHwItOKF83WU3lpMihbzv7PIZVBEpt3FBjp0KhBlg9Iz-cdNyLI96gQZErhr2O=s1200", + "author": "squidward boogies" + }, + { + "id": "VLPLeuGOU9db4RGHAXXJfjNOCxw3A2uHFL9M", + "title": "10 Rising kpop groups, best underrated comebacks etc", + "description": "Based on 'K-Pop Rising'", + "cover_url": "https://yt3.ggpht.com/-AV1cmiwulv7HUVU26acSd596_uPahMYZkzxjZSr_e3IjvuU_r5Xb1Zekne568L6e3wUtXFBohAe=s1200", + "author": "4NEVER Studios" + }, + { + "id": "VLPLLAMwRZRuf96wOzSSR6enHNPJW0-IdJ-K", + "title": "BLACKPINK Playlist", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/1M6NFDOib483tkvH5mQaO42rnw8g4fQ3zsw5i12aSDskJc-zX25qFht1yYOEupaI5AqZcHLPHzzj=s1200", + "author": "Hikaru" + }, + { + "id": "VLPL2uMx2jnKFVMiI05FadQqpD8-eOuczW0h", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/Qnbn-kdDILEsUFonuXXr1LFz2PVgsm9gHN4oI3lOL0UkNba9J5MIgI4Nz7m1ZdZCdBqRFG97YQY=s1200", + "author": "Vasil Chipilov" + }, + { + "id": "VLPL3-GjfFXqhjNUwO4vWJXB4NkpB2ELdCdL", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/zhAlQw9-ULoUiTlltRDltwv-gml6u49gGCl2C4n2uk3EaRQGA_Dm2o7VRzTViYI-JIrM33JcWA=s1200", + "author": "Joshua Hatcher" + }, + { + "id": "VLPL9kfOIYi5DE4jyVfnjcxeGYEWinXZsZiK", + "title": "Blackpink Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/ofRkzDVBGYKmr5_s59A5ySp0W6jWiYu62zRSXmGEBY7CyQc82WvE0VbXHnnHmX-A8W5QocAwmHc=s1200", + "author": "Redorminx" + }, + { + "id": "VLPLSzwJZpQxrnd16W6DYZi8-OUSMsoVdSYT", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/97kpvxjPvVDQZevvg-_YLCjZ-SxhwZcMyodAdFZe-b_mniEQmhszaBDcfZZrFNPucBYGd0RdJw=s1200", + "author": "Tara Kulash" + }, + { + "id": "VLPLTfU4WKLJSJ8YJLY7XbJraMQtyr8bFnrS", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/KTFo-Nznq0h2ZDQXMIIlXhVFhsZ6OLpdCgLD44ZAJBVBcratWL1o6809g2N2vE4rwLzl4n65lyV0=s1200", + "author": "Stavinsky LEE" + }, + { + "id": "VLPLj49bcvSOmdXNYO37F8CvFxJdfS2Fsq6j", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/qjaDTDVdlhpTuyjchH845AC7zpiSaqeraJ9vATbWxuZdvpfrWbzaAWa1AJ9n9TydeNU012ZInKw=s1200", + "author": "Andrew Vu" + }, + { + "id": "VLPLeGdcZTVhxERQW01ag95cUoEPEAut4ixW", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/rTxAO0MsmlOi4d3V2b1j_eMAWSigGpicxHP46KRbGc49awV6ZOqNLZyLtDd72Lm8iVCY9mlO7A=s1200", + "author": "Archie" + }, + { + "id": "VLPLyAFNRHoL4zSxhKUxbWaEJaSR4rcFiTOr", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/ZclwPTQfNtjEedh30sJQe9IIuArmMDABMMWFtkp6GHNkigyI3UK6VjhGi868u-A5sZL3eMI0wIE=s1200", + "author": "Adams Li" + }, + { + "id": "VLPLmARnxFo7Cw2_c6e9PuoIuXce-g5BpWYz", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/iEQyU14VYB6_YXI8DPnnxTRY_yO2B9nH2P7PQdlrkG2vMcPGgN8F647rNk3kEdoZohjKewpTpIc=s1200", + "author": "Carrera JOO" + }, + { + "id": "VLPLgVOcOUyRTxiSC7MzskoqmUCLfUD9Hkme", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/edgD_NbQ9MD6SRL0atNAan_oG7nni8kXsOgFJYz_Uszg1_pVJEq-_DoKtMt1NhtBPJz6YIes0Q=s1200", + "author": "Eduardo Lugo (exeleby)" + }, + { + "id": "VLPLvs7jbzyONAnRzNwaYk6XMVmGJ6qPMpAa", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/88_e1e0mYt7zX9eLuDeyHA1tuT8mFgpk0bFZvaGE_hxPC5QsOimvmD6IeEWXqDG4_pkHVn6f8A=s1200", + "author": "\uc6b0\uad11 \ubc15" + }, + { + "id": "VLPLBEZ0YTIVpiZdR-wdj21N3IA5u4klHkpx", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/6DJEnb6lls3S33UEMBFcAaF-Y1skzCYZzdKa8gkMtvOVrX-RU9_zzIvPSPGS1AfoxWFzbig37BM=s1200", + "author": "K G" + }, + { + "id": "VLPL00KZPXJ2fnc69ksEhXA0bZIQnz7CBNTp", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/2abK_WaNK8VcKrUpXfrWjEnDZd_s765TZ52_aHLnO2dM0_poQ4JAstcLb08JrA22pE5N11axhQ=s1200", + "author": "LaZerGirL" + }, + { + "id": "VLPL3I38nzAiGMJ62hEYegdMdzFy055hXsHl", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/YU7_hPNfPa3eo9-T2g9fA57qNlnjDtv5ne_TKJR-X0ZLlsUDiyhZP0cYoJyC5ccrrz320mt2Vic=s1200", + "author": "Subhash Chander" + }, + { + "id": "VLPLprlxuGMCG3ejyWJq_BlCjq5HeoJeda0N", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/dMH171Fa2qFsMuJbisMojG-t9BIhTGqBNNrvIl0cW_M9-MexQmtfrNbp7FxvYj8e4_Xge6oHKjOe=s1200", + "author": "Kyu" + }, + { + "id": "VLPLbwSivoJ9Y8fqnN06Eoy-jSS4OwAgty41", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/gjg608tFveAGv3J2eTI05sOorEQYSCDE-ylmFKDAB6Xb_IP3b2wjJ2oS0lZw5pSWNqFNlM_N8g=s1200", + "author": "Natalie" + }, + { + "id": "VLPLyemuPep0viC6fmzpy0vvttr3svax8P3q", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/d-lesTr9dv65CgjUxes1bq7-HxjgqAXaVDyIJuSmx3iKHkJuW8sJEID4jN4B9uCQWFZAHl00Tw=s1200", + "author": "triple_gold" + }, + { + "id": "VLPLJKUUSrdYqoDVlpWzD1NpYdwGmblkTX4z", + "title": "BLACKPINK Essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.ggpht.com/fuDEs8DSYe8m_givovE6ln7Y7iN_nje1G6sBn_PukJAe1K0DadDsmCM_Pvj1nQQVcW6iW9uYf8U=s1200", + "author": "Brandon Santos" + }, + { + "id": "VLPLjT9DRCeNIr6kkPIf3OKxFZNsjxTb-u3G", + "title": "my blackpink essentials", + "description": "Based on 'BLACKPINK Essentials'", + "cover_url": "https://yt3.googleusercontent.com/hrdWVjPy-4pkGx0d-szrLdmn6zE7iYO6VUOmy8wfNu6ohs6EblvcFPQn4XppvwoOWCb0y-4oQR5k=s1200", + "author": "Trix Blakhart" + } + ], + "Chill": [ + { + "id": "VLPLaUNjVsOkdzeUzwwuaiYSSgjlLKi_lHrY", + "title": "Lofi Girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://yt3.googleusercontent.com/QtlrYv-O7w0ons5NotcE-MahAQvCkhUgiQ5WfrrdywxxzHsDXGEyAKHn7-KfVOsPYRRiQKY37cs=s1200", + "author": "MASHUP WEEK: MEGAMIX" + }, + { + "id": "MPSPPL6NdkXsPL07KN01gH2vucrHCEyyNmVEx4", + "title": "\ud83c\udfb6 Lofi Girl - Compilations", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/pl_c/PL6NdkXsPL07KN01gH2vucrHCEyyNmVEx4/studio_square_thumbnail.jpg?sqp=CM7f_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgjbt72xBg&rs=AMzJL3luBZ9T91tjue6w__cRcs8STk1R-w", + "author": "YouTube Music" + }, + { + "id": "VLPL5A4kOuOreGfrCdioduXGJ5ucUB2UTBjY", + "title": "Lofi Girl - Dark Ambient Albums \ud83c\udf03", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/tLDZHKo40MI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3myP5-6YyBEbsLosSPRevHNpZhAjQ", + "author": "Lofi Girl - Ambient" + }, + { + "id": "MPSPPLz6H3RqQFdcwFwQECBcZVYAmXVhc0gPR1", + "title": "Lofi Girl Studying | Lofi Hip Hop Chill Vibes", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/pl_c/PLz6H3RqQFdcwFwQECBcZVYAmXVhc0gPR1/studio_square_thumbnail.jpg?sqp=CM7f_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgib3dqiBg&rs=AMzJL3lqVId7AWkcdwQlUfjrIiHiiV1n3g", + "author": "YouTube Music" + }, + { + "id": "VLPLeWTukCRRF7Nxg7eI0VDK-O7z0NI5p-Ca", + "title": "Lofi Girl - Peaceful Piano Albums \ud83c\udfb9", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/Xf9p8u03SRs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n_IZNlEY_jsVwDDaAPQ0YahP2oyQ", + "author": "Lofi Girl - Piano" + }, + { + "id": "VLPLhm1fBn1zGIja4vXYGLAHlpx-B1TNtroq", + "title": "lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/mmKguZohAck/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m2xkCBSSycJPuHly46uJ4fG1yy9Q", + "author": "Ildik\u00f3 Wooning" + }, + { + "id": "VLPLOL_7GDEwrpfbvoKc7iK8NAsmqNfJcA40", + "title": "lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/Nyx6SBixRE8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kGq-4L0LXruojMneo2JRjT6z1jag", + "author": "Henry Miller" + }, + { + "id": "VLPLejm6Mq1RkJwmvMud9tYYuyLis_b3faTL", + "title": "Lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/CMNyHBx1gak/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mJKSO7igfyzMqZk8BCgrnf83ycQA", + "author": "Kristine T" + }, + { + "id": "VLPLUnOsu9srnW3g1G9CjyaD3RI8KzuNIS7s", + "title": "LoFi Girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://yt3.googleusercontent.com/dIBm5neBzTpW7O9IjXJjgtGu8uplKf5ma6kJOk53JvJ_8Mr-NasgSoVAV-LM0EEH9QfYM1LPGaUU=s1200", + "author": "Craig Wilson" + }, + { + "id": "VLPLxB4xF-TCHun_AetEbXODtNjFUlaZLI9c", + "title": "lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/1bvbsx-hpFc/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nAEIZ5o8HbI90JBu2gm939eNIdGg", + "author": "Bloodzik" + }, + { + "id": "VLPLAu9wmtsGbr_ZWu0xeV9QJOVAtLvT7AN4", + "title": "Lofi girl \ud83c\udf4a\ud83c\udf4b\ud83c\udf4e", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/i43tkaTXtwI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ld7pX5EgopFP2_AeSkGpXru_EGZg", + "author": "Anna Home" + }, + { + "id": "VLPLcWNNEKWPp_7gXP8FAJPOVGD3WenNgpCK", + "title": "Lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/mmKguZohAck/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m2xkCBSSycJPuHly46uJ4fG1yy9Q", + "author": "Sourfruit" + }, + { + "id": "VLPLBmIcvvlP7w9VFa-etZ3leoA3RhyK_nCZ", + "title": "Lofi Girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/EeRfSNx5RhE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ndHCPXyOk5r1GA8CrzMwhKgWIUxA", + "author": "Brian Magallanes" + }, + { + "id": "VLPLj_iyirUZOXGbIImS3Rrw9sZUdRr6mwrU", + "title": "Lofi Girl \ud83c\udfb5", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/_tV5LEBDs7w/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m1_yuw1E-vY8WEsKUl8BauVODkAw", + "author": "Soulful Beats" + }, + { + "id": "VLPL0FqbQ7NLeKmUlFujryT-L1rscf7uZV7Z", + "title": "Lofi girl\ud83d\udcd6", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/deRDilpdOnE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ktpSvDv9Y5CL-tUT-C_J5mgDFDtw", + "author": "Karen Isidro" + }, + { + "id": "VLPLnNl7L4Itlp6R0GqCedQb7B4effSsR-MU", + "title": "Lofi Girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://yt3.googleusercontent.com/IROCuKtmhQoSy5E-2gmC89dH-9XOeTh8xx_o5YgdLDVGsxHUpWAgBMXeED4hLcPu7aE4eekUXaZd=s1200", + "author": "Cristian" + }, + { + "id": "VLPLxxAmdhN1IDpjjShDeySiWMveqa1W51Oe", + "title": "Lofi-girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/rwLv6YPiGsE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ncMBvFe0QbkQyXGRpCNH3xFyWpIA", + "author": "lofi-boy" + }, + { + "id": "VLPL4gLUw4Q5rg-VAJvTMfcrl6iU91ENWcsQ", + "title": "lofi girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://yt3.googleusercontent.com/wd7ah1yvYijj4EdsRYOAS8lFabQdPBBLzewTJcrUy-Wry9mpwM6nbrSXSl9jXovZCNxoz8FbvFo=s1200", + "author": "Ugoezue Ochanya" + }, + { + "id": "VLPLMuTfuRiIVOYx6hWgerXt9gQhzNRqS-ZE", + "title": "Lofi GIrl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://yt3.googleusercontent.com/QaVA5x6lfbqYZ_JOzkCDuQVVuVi5-unqCYHRzzD_pW_s2eLgrgJ51BMnUewk8JOdZVM2RfYmepY=s1200", + "author": "Tribal" + }, + { + "id": "VLPLtr9mliTVu_VKygmaQ35hfOWEGF4dOuk9", + "title": "Lofi Girl", + "description": "Based on 'Lofi Girl'", + "cover_url": "https://i.ytimg.com/vi/1fueZCTYkpA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lCVOthmHOZkKqI3NAndSMB5Xjxbg", + "author": "alex hugunin" + }, + { + "id": "VLPL9H3FNYcxFAOBCD-oYkt1PyLcbnzpBy92", + "title": "Relaxing Coffee Shop Ambience Jazz Music", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/LaK7_vVHc1s/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m3U7f8o_L1c-z4-nHV7zGRTwc8Ew", + "author": "Coffee Shop Vibes" + }, + { + "id": "VLPLPxJzx2gifedq2TOIDOq_P7MmA1gbUWPI", + "title": "Lofi / Coffee shop vibes - lofi beats", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/kyvnngAEIpY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kpdMxFThPgrdnCKvCPCwvm-2HB1g", + "author": "Thomas G." + }, + { + "id": "VLPLuWgfzt5dvGOrIX-TLrLBaF7r5xtinGQJ", + "title": "Indie Folk Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/L8hPtjGb3R0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lVs6FxnkR_T34XZ1_3E2enyeRokA", + "author": "Rachel M. Gerlach" + }, + { + "id": "VLPLvqzI0MRSh8LCPDzUgWZcSZC0onEElNaN", + "title": "Hipster Coffee Shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.googleusercontent.com/qyWL8gUYHbLwhVGBveY26nhRtr57csW3u0Zj5koYL5ifFmHYuMRo10fx9cVQ-tSWbZ5yxgPUGjE=s1200", + "author": "Level Up Pictures" + }, + { + "id": "VLPLNy2TeQZF2j_kffwIH2mSPLf7QDJKWA2Q", + "title": "Cozy Coffee Shop Vibes with Relaxing Jazz", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/9qFzqJUHYbk/hq720.jpg", + "author": "Cafe Jazz Lounge" + }, + { + "id": "VLPL1BUkAn8K4ViAbLWYGJw5vW2rvFKfGhJ6", + "title": "Coffee Shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/kyvnngAEIpY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kpdMxFThPgrdnCKvCPCwvm-2HB1g", + "author": "Edward Dior" + }, + { + "id": "VLPLhj2AYhbinFRtUlvX6I_pKpkbIb9USiBa", + "title": "Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/4BQ5dXOdXBI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n1j0HOce355zCg426Y3FfJc0OUHg", + "author": "Ciera S" + }, + { + "id": "VLPLzCXiWjaXGVWCxrIOJgUmuKkWq-U6F9IE", + "title": "Cafe Lofi Ambience | Coffee Shop Vibes for Study, Sleep, Relax", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/NYo6XrQIaoA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n8FbbUASCRdPHD-xM7l8tYZQ_AbA", + "author": "Lofi Studio Lounge" + }, + { + "id": "VLPLCpDUpEAXsJHNuwFZAywBlq297qkjw7Ag", + "title": "Morning Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/ygFbOzLMjek/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lpRRKdqN0oSIGFBZGCI2Yp_9ePgA", + "author": "Ambiance Music Hub" + }, + { + "id": "VLPL6CuxFFk5liq7eugp5j1HiYwkC6zYbnuB", + "title": "Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.googleusercontent.com/0BxrbHf_SkCD5XciJhyihYtCHEhtG0kJ8YX5fQJmhftkj-cmiOR0Yj6oRHDsh1Y8R7jPjSlw13LK=s1200", + "author": "Furry Insanity" + }, + { + "id": "VLPL9QuSE4WXGYdY7uLgznEAnjbj7kpVPaqI", + "title": "Coffee shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.googleusercontent.com/0Jjh9qWHpCwxuk7f1sFSQKclMcUBmYiGaMo-ghlrudvtTOlCkrCR6zL5TkQWUJ-ngApKvCVIFtBY=s1200", + "author": "mickey" + }, + { + "id": "VLPL9NrRaVIqWthBhRH8jNFwl1bOLoKNUSza", + "title": "Coffeeshop vibes \u2615\u2728", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/VMAPTo7RVCo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k0FbNZrSaCKQ9lU7j6iwG_9tD0ow", + "author": "Casprina \ud80c\udc83 \ud83c\udf39" + }, + { + "id": "VLPLmwHJ_W7l5E74uiLRsuwAz2eZEhgUcM3h", + "title": "Coffee shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.googleusercontent.com/VerR8KDjnvU8C-ZGTnpT1uUIk4OQvzyQ0sYez6roalA0Du1Z_dHhzwK1NrEIo2AvD9oIlMETuDY=s1200", + "author": "Justanotherdude" + }, + { + "id": "VLPLZmm9_Kbf50cigTNgSR-i1G5KnfsgkQ7S", + "title": "\u2615\ufe0f\ud83e\udd50 Coffee Shop Vibes \ud83c\udf69\ud83e\uddcb", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/Qe9JcVsRQvY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kk9_GKnA4PKOuwkyh0LqXduwxdNA", + "author": "Whitney Weldon" + }, + { + "id": "VLPLC2IXrjvnZHYnpnS-FTj9igy0LWdpTB0J", + "title": "Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/EQu7YKgHtmI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nxRSA1urTPzuWmomq65WPcdHwsvA", + "author": "Heather B." + }, + { + "id": "VLPLlKqaPBciwMjoa3yQkHB7ZQGBcREvy9aC", + "title": "Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/kyvnngAEIpY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kpdMxFThPgrdnCKvCPCwvm-2HB1g", + "author": "Tokugawa Aizen" + }, + { + "id": "VLPLZtLlpiiUNPnUO_D_pKeAJJniXvdSNoM6", + "title": "coffee shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.googleusercontent.com/aSjU3EckxQVyp8jFIcivATNMy0hsDh6i9LMXuY5ovtiTDbehBpjXETt6vjrjhcemOpr9Mzmcg0Av=s1200", + "author": "Keith Coffey" + }, + { + "id": "VLPLkR4UVgASn7nCXWdjPZlNteQjm1xFy4Zm", + "title": "Coffee shop vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.ggpht.com/vZ8RO30MvTg4USlNPsHKYlliHIHG_bSj_zXFLLB3Kez1f11z03XnuWvv8q5Er07ZKRKLxeLyW_sf=s1200", + "author": "Kristin Hintz" + }, + { + "id": "VLPLVdwJ1vJcGoUHCUYTlxx7pD9Hqq6GpqMU", + "title": "Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://yt3.ggpht.com/MoKPLev-PBXzzo8OPFugsg6dcdrlmNDA53Dg_LW4n5FPYkjTYA8RCfgP983x_wpuGFyBY7gk-37e=s1200", + "author": "Niel Placido" + }, + { + "id": "VLPLLFqvJ-UDTk7vhFWBEFcSLOaQxrJqLbq-", + "title": "Urban Lo-Fi Playlist \ud83c\udf06 Cityscape Chill \u2615 Coffee Shop Vibes", + "description": "Based on 'Coffee Shop Vibes'", + "cover_url": "https://i.ytimg.com/vi/mYVqJprcTMo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mJRVDFtOFVigWGj7-anx-R8HJY6Q", + "author": "Lofi Echoes" + }, + { + "id": "VLPLQ_PIlf6OzqIbDAB-ErHx6LYIsseKs8Eg", + "title": "Relaxing Piano Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/DRkU9YkIPW4s5oXLQ_7PVa6HlD5NZywHSkdYxfsNLav6znAp_0fOjelwLBpqLv5FCNNBn36PVQ=s1200", + "author": "Soothing Relaxation" + }, + { + "id": "VLPLwEYgdplGK0Q2l1il24cnkekgvnsUhdlj", + "title": "Morning Relaxing Music - Piano Music for Stress", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/UiUJg0KZHXg/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lpi_ehtJ2GtqZbdpeFTDdjMblUmQ", + "author": "Beautiful Piano Relaxing" + }, + { + "id": "VLPLt_47Imx98wrucH_zNmGr8pFpCqzZYTad", + "title": "Relaxing Piano Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/1QqnDuN30dV-F09a5e_xZlxB2svbYNdkkVCa0hACVfLCbUofJ3tgEtPPeimLEGvBEvFSE7yAn6q6=s1200", + "author": "Kassia" + }, + { + "id": "VLPLwEYgdplGK0S9bpfHjxs_5TkmLicLCM9l", + "title": "Top 20 Romantic Piano Love Songs - Relaxing Piano Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/NNBGgEL6ZCA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m3BIanCFIwx3cq51OrzoFBRRLN9Q", + "author": "Beautiful Piano Relaxing" + }, + { + "id": "VLPLQ_PIlf6OzqLGy5J2EAb-tC30N_cBMsao", + "title": "Relaxing Music (Piano, Guitar, Cello, Harp, Violin, Flute)", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/yE97Yg9yJhI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nbimuJK7BJUnaRx50XmlFRFssZqA", + "author": "Soothing Relaxation" + }, + { + "id": "MPSPPLb7AVUymsNN_X_BPAvOlYA-l6doMvxHnM", + "title": "Relaxing Piano Music | Peaceful Piano Music, Studying and Working Music, Meditation Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/pl_c/PLb7AVUymsNN_X_BPAvOlYA-l6doMvxHnM/studio_square_thumbnail.jpg?sqp=CM_f_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgjj5omlBg&rs=AMzJL3m9ymEgegLBUa2qu1o0KPK3pA7cRg", + "author": "YouTube Music" + }, + { + "id": "VLPLQkQfzsIUwRZXxCYnB5Ug796Q5OjQZAXz", + "title": "Relaxing Piano Music, Soothing Music, Relax, Meditation Music, Instrumental Music to Relax P010", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.ggpht.com/CaY9Qf0iT70Ltnhb9UXC27J8xCxULb6uaqYNorlRH1gsxmU1eiXhxcyO4yxFUqRGOvO5EeXafbCr=s1200", + "author": "Yellow Brick Cinema - Relaxing Music" + }, + { + "id": "MPSPPLGBB3X2F7VH_GUJeKFm6d358LrKodCE5i", + "title": "The Best Relaxing Classical Piano Music, Beethoven, Chopin, Mozart, Debussy, J. S. Bach, Johann Pachelbel", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/pl_c/PLGBB3X2F7VH_GUJeKFm6d358LrKodCE5i/studio_square_thumbnail.jpg?sqp=CM_f_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgiR1ZihBg&rs=AMzJL3mNWaW3-Ff2X7j_X3STLWy3ip5bug", + "author": "YouTube Music" + }, + { + "id": "VLPLQ_PIlf6OzqLbSL3cnhVYsp4XZ-B4ieVD", + "title": "Water Sounds & Relaxing Piano Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/77ZozI0rw7w/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l5XmWlio_qH-KuN1M6RalZvTAYTA", + "author": "Soothing Relaxation" + }, + { + "id": "VLPLyy_m8lBJSpnyP6hEUKktplQP4OwnYm2Q", + "title": "Relax Piano and Piano Instrumental - Soothing Soft Piano Music to Start a Peaceful Day", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/eAXNd6j10iQ/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nV8vzBZ5lIx-5fifkrwL1nvCjRrw", + "author": "Sea Relax Piano" + }, + { + "id": "VLPLe533PvpOWlhka_hvlB5hvjHIEEVlmCh2", + "title": "Relaxing Music & Anime Music - Beautiful Piano Music & Meditation for Stress Relief, Study, Sleep Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/U-XBmTHBkmY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k294O3LwKwi2rZzAw33nl1CIcq_Q", + "author": "The Soul of Wind" + }, + { + "id": "VLPLGONzkGLVOWjiPRtsoXMfclN2PTn0LiAP", + "title": "8 Hours of Beautiful Piano Music \u2022 Sleep Music, Fall Asleep, Relaxing Sleeping Music", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/hsGOT_0L16U/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3moIHHPDZ2q7NU1uXyK9CthbHdzSg", + "author": "Relaxing Piano Music" + }, + { + "id": "VLPLRZ8JWrxXGYoXcOTQeCnl0UqW87SuwPwv", + "title": "Anime Piano Music for Studying, Sleeping and Relaxation", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/VVjzu02VTjpQq0ZbaOEkaiQoiKGsmJFOaHsB2vvpWi-qVzFbafIRmFeGbogFxBU42IIDgkdTNg=s1200", + "author": "PianoDeuss" + }, + { + "id": "VLPL9tY0BWXOZFvjy91akxuB96bR14q5H1ZV", + "title": "Relaxing Piano | Vevo Playlist", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/at9xQfvLhPUyNZIqEpMehohjTJ9PERuHvcLY2UqOZjE6QDMsZCyTMPusl8XI1sYqUuPCiNy8afg=s1200", + "author": "Vevo" + }, + { + "id": "VLPLinlcSoZhu57CDyWhnUfQRy-jF_QHU5R8", + "title": "Piano Relax", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/rAhwkPDYnUA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kAAvdWkE79MiSIRmYVNmqXf80CLg", + "author": "Val Raven" + }, + { + "id": "VLPLB0wdVcU2r6IHg_CERgWORD-3eokN-D1x", + "title": "piano relax", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/Ti20iuR_yss/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nz9UHXTCdFmRa50egGOMQpfhI7hg", + "author": "suni rodriguez" + }, + { + "id": "VLPLQVH0jUPzsbT9f2nGCNa395k-xgK6Essu", + "title": "Relaxing Piano Covers of Popular Songs", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/CHkMr3zSY9n447fW2M0JtHtkx2cM96p_HND2EP4haJqdMB7nIRewKoJGv7fIyOq0BsTcNxwvvA=s1200", + "author": "Relaxing Piano Covers" + }, + { + "id": "VLPLQkQfzsIUwRbLrLqMCR-c5GRHflIo7Gwf", + "title": "Relaxing Instrumental Guitar, Flute and Piano Music Playlist", + "description": "Based on 'Piano Relax'", + "cover_url": "https://i.ytimg.com/vi/ss7EJ-PW2Uk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mOoNCt8qiuQYqRGWLPpezMCP7fuw", + "author": "Yellow Brick Cinema - Relaxing Music" + }, + { + "id": "VLPLNOWNsqYA7dDQ_4N8d9s_j9Bsqx3ErFn4", + "title": "Piano relax", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/Rex-9Nwmkb9qT0HAmyBGnc2Z93BfO1esO0azhnKQ-SWBo0CEa80_fFX5NKR6J0p5B1fVBzt3zEI=s1200", + "author": "Chris L." + }, + { + "id": "VLPLFk-oxJ8lRYpkvluWPBY6w-b0UTfGZ4QL", + "title": "Piano Relax & Study EXO", + "description": "Based on 'Piano Relax'", + "cover_url": "https://yt3.googleusercontent.com/eNsqVgDkp1fLppDrkUktxSR2OKQj9EaJkUU8N9Mt6GuNt1PphfhiG4MP-MpDzCGHJRrKujH91Q=s1200", + "author": "Osamu Shinju" + }, + { + "id": "VLPLQ_PIlf6OzqLTUTLKb9AFVIYFE0_CzTvd", + "title": "Relaxing Sleep Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/L6VBHflOeuY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nNH9ZHll-zfliirUNM5SHYFZym2g", + "author": "Soothing Relaxation" + }, + { + "id": "VLPLQkQfzsIUwRago1OuImTfvAYtwyeKIMby", + "title": "8 Hour Deep Sleep Music, Peaceful Music, Relaxing, Meditation Music, Sleep Meditation Music P009", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/838Wn6bxMRs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mqdd2ltrRNKgExVQmP5F4wlGKP0g", + "author": "Yellow Brick Cinema - Relaxing Music" + }, + { + "id": "VLPLqqKlqZEDJgZWiLJphAcXPVSTvTPVekVT", + "title": "Box Fan Sleep Sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.ggpht.com/R5qfkl3HBJfvRGjj-gPum2avDXzrn8LzT6fEIWd8JocM2SUryhEtHq5cjYKWoVo5XaOzAnOWP3E=s1200", + "author": "Fejiro Okiomah" + }, + { + "id": "VLPLwRp13WDIrMMvD8inDTyAYxcn91M_VBlL", + "title": "Deep Sleep Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.ggpht.com/NieMQToiVRcILsg65rd-cJMb-oyPnsVy5_3FGO7W7kIHKKOMi-a95U80vxD2P8mCeQ_7iKu1lik=s1200", + "author": "Jason Stephenson - Guided Sleep Meditation " + }, + { + "id": "VLPL9ThuhCi4pOlQyvsTwhNsjnADy8x3JF17", + "title": "Sleep Music No Ads (Ambient Space)", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/Nkzn3i6qi10/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3noGhb1dWxA24kT8o1XIKsun9DXqg", + "author": "Weightless Healing Music" + }, + { + "id": "VLPLW8o3_GFoCBO7CfVk2lWqunKVl0vnFMlU", + "title": "Get Some Sleep (Music, Meditations, and Sleepcasts)", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/-A6NnjoTq0Q/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ledhuiNwPdpnqRABkTqeWzyv2Zqg", + "author": "Headspace" + }, + { + "id": "VLPL_K60glVRm4qCZ3KL2VPKtphDtitcJJUe", + "title": "NO ADS - Completely Ad-free Sleep Music with Black Screen", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/KGp-RsCwZYU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nBweWRpyxS7Ku-9Lavv6hvNTWALQ", + "author": "Soothing Night" + }, + { + "id": "VLPLaYo7AIF98VGuqR55l0Y3PgiRraSThMx_", + "title": "Arabic Instrumental Music \u2013 Relaxing, Meditation & Sleep Sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/_VDUHzYBUM0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lOicGtis3irZoTdgbKiwNzJ1nBAw", + "author": "Mystic Strings" + }, + { + "id": "VLPLe533PvpOWli4DLNuphP-Cg0IXEuJ193l", + "title": "Relaxing Sleep Music + Rain Sounds | Peaceful Piano Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/Mewy0n-mKQ4/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k7tbpz0ya5ZI3lHSamWPXIWGGdwQ", + "author": "The Soul of Wind" + }, + { + "id": "VLPLbws_nIMJf1vA8jHGz1KeXbt2DfRuWmKj", + "title": "Sleep Sounds Apple Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.ggpht.com/bJSh0xCk-Cvlgpg9byqxtRDS7Y9OeSTpiFIwUDRm9VvXrahh6KEe8FmjjODhyKnvXHDdXhjnJo8=s1200", + "author": "Tyler" + }, + { + "id": "VLPLpKG71rFYoqaySTSaOO3iY-pslc1LIT2p", + "title": "Soothing/ASMR/Sleep Sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/TorD3wV2rgM/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kJ0o7fXlgmUjuT-4Q0e5L5QccyWw", + "author": "Meepers" + }, + { + "id": "VLPLRhCfbUsjdYfxE3PZY3v5KRLl_dHztOp_", + "title": "Sleep sounds rain tin roof", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.ggpht.com/mpMSpW1WAaG6vLmeGHEsq43slQ_pFy1u_rFuILKASMi9BfGENIfU7X4WeDw0DHWLoVMXCw9B-gA=s1200", + "author": "Nadine Sturgill" + }, + { + "id": "VLPLp8A7Q_mZ7sXw2Xqlf-pY_-opLTiAhMlt", + "title": "Delta & Theta Waves Sleep Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/PV4ETE-QbJU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kxELGHIQXs6wVXRzsbz868REj1UA", + "author": "Personal Power - Sleep Serenity & Meditation" + }, + { + "id": "VLPL1QEUTZOBoBmaJii8jN3T3ieCn9IqTEpy", + "title": "Sleep sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.googleusercontent.com/9wrcM1A5ZMegzHFJkpxKfXYpQfN-F14NBhhWhshKfUXlZtZeOfN8lNTgNtPnVP0VUCVS3Wv3eWo=s1200", + "author": "LA Bow" + }, + { + "id": "VLPLEPeqEKl-FBgjaeZky_wpPucjCys6t2pc", + "title": "Sleep Sounds Waves", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/pl_c/PLEPeqEKl-FBgjaeZky_wpPucjCys6t2pc/studio_square_thumbnail.jpg?sqp=CNDf_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgjhz5fJBg&rs=AMzJL3ll_67zafcO3kFPbYXrl6c8KOS8LA", + "author": "Little Symphony" + }, + { + "id": "VLPLqO3n4yzd_-jRZTI52UBhN_O4uZRbkFsD", + "title": "Sleep sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.googleusercontent.com/0jTNwetbN0m2fcBP1CpgAbP3vT9LhAqsUhhxVoEAQwJRYLg3TCDrkfUkEG6TRC7xRpCdsCja=s1200", + "author": "Kelsey" + }, + { + "id": "VLPLsPYVvB15sW0-0GS8M7SfpEbXVwjjPuDD", + "title": "Sleep Sounds, Cricket Sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.ggpht.com/kcRWQ_5anMA3SjaAPrPgy_ALChUVBdQV6PYDpun_oWWCGXc8a58KRe3HqGlWki072Vr9qgP5OxC2=s1200", + "author": "Robert Winter" + }, + { + "id": "VLPL20cFgc5AsEW77rcOrbUpXWmHjJtaTXUH", + "title": "Sleep sounds", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://yt3.googleusercontent.com/ctH95NyYcX56_MIqVgACMSipbkRbdiL1qgmEJkHVeAMIPRhQnfD7HUBfr2poukJjeZlkvoWAqnEX=s1200", + "author": "PATRICK FR\u00c9BY" + }, + { + "id": "VLPLBwnS6TXUneIDdT4JszyZx4ufmj5cIFJ_", + "title": "celtic sleep music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/vi/Ern8qUpJzVk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m8HCEO5ARppwdR05gz8Bha8PzphA", + "author": "Tumutumu" + }, + { + "id": "MPSPPLh0lX2a2VZyY7O0d8bw3P3WvGw2BMA144", + "title": "Baby Sleep Music", + "description": "Based on 'Sleep Sounds'", + "cover_url": "https://i.ytimg.com/pl_c/PLh0lX2a2VZyY7O0d8bw3P3WvGw2BMA144/studio_square_thumbnail.jpg?sqp=CNDf_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgiylIenBg&rs=AMzJL3lFh6udMpH8Nk8U609-KQtYFXFNFQ", + "author": "YouTube Music" + } + ], + "Party": [ + { + "id": "VLPL10BZg10BCDQxKXg0qN_-Y6RwvfdDvJdy", + "title": "The Top 100 Best Party Songs of All Time", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.ggpht.com/qXz2P6C2iFdvg9VsSECYVJrjpmnKLjJjigkddaykn-ZHmvYadKsmAQ2zi6Y7A-g9iAUjJjkYjUo=s1200", + "author": "C Sebastian" + }, + { + "id": "VLPLDEoYTx7cT4dC7dkTTYi1exK5iYVtBw0B", + "title": "PARTY 2000 2010 \ud83d\udd25 Nostalgia Pop Top Hits Dance Radio Summer Music Classic Friday Mix", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/apaRycFzYMhSbfyg4CsTgJwjQmEVLfOV936Gj9cGG2rkg0q1YeR7c9KziBUgMybAkgVZJJMYzRBf=s1200", + "author": "Samuel Vasconcelos" + }, + { + "id": "VLPL9bw4S5ePsEF-J_tIORZ6xE_OXkGuKjjY", + "title": "Super- Hit Latest \u22c6Party Songs\u22c6: Bollywood \u22c6Super 100\u22c6 Party Songs 2019", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/9mClWQLwL0SZRmrzx9ggSF9oTzh9Ptj7HSXCsM-t_7VZ0L1hCz6hQkIJflXZHXFqNSne1o_0-zTm=s1200", + "author": "T-Series" + }, + { + "id": "VLPL39z-AAkkats9VE4V8gdQyIjqp21nao9p", + "title": "2000's Party Music Hits - Best 00's Party Songs (Playlist Updated Weekly 2025)", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/xu0F2ELmtqOkI0UoFaO4JyX9qBeEOyqCaa3dPGbl6637owczOFBwt8_63JahulWlTO-zV52h7A=s1200", + "author": "Redlist - Hit Lists" + }, + { + "id": "VLPL64E6BD94546734D8", + "title": "Best of Dance Music, Club Music, Dance songs #dancemusic #clubmusic #dancesongs", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/g0FhPUPn7v4_oef1gBj02H2OsYwKowgtslc1Xw-1-PaWK8uXCpR_cqtB5hvrrIxEMLjs0P6Jttc=s1200", + "author": "ebcrworld" + }, + { + "id": "VLPLHuHXHyLu7BHdV9kfWgHYPxwj57C_hSWw", + "title": "Top 100 Party Songs", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/bLVX80RPGtE8hCgY5KG5Ro7k3ti7FDlEXayKjvcoJEboQ8eGjNHdgN6jA4kjq8S_vv0AhcJoaHE=s1200", + "author": "Sony Music India" + }, + { + "id": "VLPLGBuKfnErZlCZed3VIG70mQBHPH7tKJ6D", + "title": "80s & 90s Dance Music Hits Playlist - Greatest 1980's & 1990's Dance Songs", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/9doPCUIlt9rMjlHFGMxYkXkAfBY0G0rdO3BQB03uy5fO8sduFVxtRKqxQYpS62LJhKTlvnRcgg=s1200", + "author": "Redlist Decades" + }, + { + "id": "VLPLC1og_v3eb4jS6H0tMVnV-tzy2207Bcnp", + "title": "\ud83c\udf89 Party Music Hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://i.ytimg.com/vi/1RGW6jcqm3E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lkDo1jXzLHjjIYyv-gBeXqvh91QQ", + "author": "Trap Nation" + }, + { + "id": "VLPLw4l3Rx9MOUBZUzdO8O2EksbaqfqKcEt_", + "title": "Party Hits zum mitsingen", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.ggpht.com/iBDZ1DZJV-Q49j7wTK1COqp03leMkUkLsbni3b67XWqTJ_ZCSiqeZEBkf9xn2yPwo3Y2ZLeTQA=s1200", + "author": "MPro_ 89" + }, + { + "id": "VLPLILCJF6YwPP-Uk6R539eCrqIUKaJOCyZ-", + "title": "90er party hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/GxAvrJWBJEBHT9X_7P4tC-5LdPdgsK-Vpv4O56lwT_yXwyqoJ236ta9qwJ2sGlc78CsrCp-xpZs=s1200", + "author": "So" + }, + { + "id": "VLPLXgCDRlC_GeTL4RrqItsmy7vqMlr9qirB", + "title": "My Best of 90er Party Hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/fL0ko0NBVK3huF1m1GrZ6h-LVcGHlfl2c2fIhn47wh-_lfEEo5oTd-ffF3L8MaPRFWphn1IsfiUo=s1200", + "author": "Fortitude111" + }, + { + "id": "VLPLBA45B830027E7ADE", + "title": "100 Greatest Dance Hits of the 90's", + "description": "Based on 'Party Hits'", + "cover_url": "https://i.ytimg.com/vi/otCpCn0l4Wo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ljO_0X48AvMcHKGngbuugPY_Qwcg", + "author": "OTMAN BEN ALI" + }, + { + "id": "VLPLEPQby6_o7m1S4DslnGam71gNt4bgPqCE", + "title": "Clean Pop Music Playlist 2024 \u2013 Fresh Hits & Party Anthems", + "description": "Based on 'Party Hits'", + "cover_url": "https://i.ytimg.com/pl_c/PLEPQby6_o7m1S4DslnGam71gNt4bgPqCE/studio_square_thumbnail.jpg?sqp=CNDf_8kG-oaymwEKCMAWENQMIABIWqLzl_8DBgiX_vK2Bg&rs=AMzJL3koQUN8-Vq0lP1DP0Mj1nfjEJljJw", + "author": "Purrfect Playlist" + }, + { + "id": "VLPLX61uQcj2nVEaxLPO0X1uUfxtUsHAZzX_", + "title": "Best Arabic Party Songs \ud83c\udf89 \u0627\u063a\u0627\u0646\u064a \u0627\u0644\u062d\u0641\u0644\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 - By Arabsounds", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/fHz-rts8w4nVknc1sfjQF-UXzVeRXXdF9hiX4bCCyCWVbgYdTB15cNd6EtExWJZ7cBmdnRRX6g=s1200", + "author": "Arabsounds" + }, + { + "id": "VLPLTDm6nyaHbP5WJSVSSv3dOJYd57D6Qmpt", + "title": "Mundart Party Hits 2025 neue Schweizer Party Songs & Klassiker | DJ F\u00e4schtmusig Schwiizer Mundart", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/lRYGyBqYGyw7egPQHekFhqq5teDiP3q8tYrSik5gmDs_WwnwrVT6GP8CviOlP55tHxmNgWeg7A=s1200", + "author": "profimusic \"It's all about the Artist.\"" + }, + { + "id": "VLPLcCl5wu09aGoyAzVMb5171GxY4nZ6iNiF", + "title": "Puerto Rican Party Hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/H8xPNbMs03sloNGDOkCK8h-M8cTFP998hhfX3S9a4_ezfO8cT-Z6kTxyzdQxKHrVe6xFdoSufw=s1200", + "author": "Frank Cavaliero" + }, + { + "id": "VLPLlQxbZHLzrBMwd2ycFf4peVMNKFcWMEGi", + "title": "Vlaamse Feestmuziek & Party Hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/OB5B1tWjBhfHpmDLsyZ4Dzabg_gtvWdP82lw_0sSoLEksaFDy_Pao7ycya6vWNDyuK-pRuPTuQ=s1200", + "author": "Bart Van daele" + }, + { + "id": "VLPLpbd3bW7rN4oC9qUWHeEYXWf-KMmBz5hC", + "title": "Russian Party Hits", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.ggpht.com/gkk9npRSdMmn6vZqIbJl-GxndOHVc0uvWuUw6ORilKiFueOP3gEUmMd9FdptQwbshShxtzfFKrI=s1200", + "author": "Dennis" + }, + { + "id": "VLPLrG1vIAZL-APqYf-mj1TtYxSZucJ6FOhq", + "title": "Best Party Songs 2000 to 2020 - Most Popular Dance Party Music 2000 to 2020", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.ggpht.com/iVvFGoDNZ2og_orV6Jo_KlfH-W4GdMd7Gp0GPvFY8g2QOUA88TWudV2Gh2NylxYAsqIOxHgbvrtX=s1200", + "author": "Music Nation" + }, + { + "id": "VLPLVHnsyYLyRJbrw6W9sPEWoCRZFmkeOy_7", + "title": "PARTY HITS MIX 2024 \ud83c\udf89 FEIERN \ud83e\udd73 DIE BESTEN PARTYHITS \ud83c\udf7a PARTY MEGAMIX 2024\ud83c\udf7b PARTY PLAYLIST 2024", + "description": "Based on 'Party Hits'", + "cover_url": "https://yt3.googleusercontent.com/JS_x5C8uT8y6ESdft5Utl6zLX3JW8pCUxveFNNLYQA4Gt4WCRldS5q0NhnEt7O-W6SBUizc8MZA=s1200", + "author": "Carsten Rechtien" + }, + { + "id": "VLPLRkof_jJmKXO9Tj11tJuzt6MWWKuhjHYB", + "title": "BEST EDM 2012-2015", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/ffy4VDKJTG8WxWsUOFZF7bJPP3ceJd2MoXJfpNkyIripLuFjE4j4SdkcROevmVbwhAsrXzkzhpA=s1200", + "author": "KRG" + }, + { + "id": "VLPLGBuKfnErZlCMxdgoYkxiQgq88uWrEj2W", + "title": "Best EDM Music 2010s Playlist - Top 50 EDM Songs of the Decade 2010 to 2019", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/iYN185ZglgBDsdi4vULKGfC1ttcJ4w1ZHnn8fm6g7MIQxyrFsE5VvK3jLS5FXdAJNqg8QrFoHAk=s1200", + "author": "Redlist Decades" + }, + { + "id": "VLPLW-i5kdcv6JIM7__P7ERnqwu3aKj34Z0-", + "title": "Best Happy EDM Songs of All Time - Most Popular Happy EDM Music Playlist (Updated in 2025)", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/LN_6JPjKMJQLMGy1M3PGHSPoDVBMBy_GZX581InqPyWxx6SxakCMi_SjTrcBjZFkmdDFymG8HEY=s1200", + "author": "Redlist - Global Playlists" + }, + { + "id": "VLPLCwAHfhr-Gc81Slme946mIZNX0I3tvYFx", + "title": "TOP EDM 2025 Popular Songs: Best EDM Playlist 2025", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/Oi4S8azjYhrA_WOg0Gdddh6Bf_oX_loMP7eloX7TWbCgkSzicvPqPjgQaF0sVx4ocl6lG8fnLFfq=s1200", + "author": "M\u00fasicas Mais Tocadas - Lan\u00e7amentos 2025" + }, + { + "id": "VLPLq5pFwo56edMzoS9mWqgpnb0vlHIR-3we", + "title": "EDM PLAYLIST 2018 - Best Electro House Dance Mix 2018", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/kNK28S4KtUzrwXrnWeItDUiC6iod2eAr07w0yZ_SnQpZ7Nx7wILQwujXRHNIxoBBsPdOz_Ge4-o=s1200", + "author": "Top Music KKBOX" + }, + { + "id": "VLPLo73V4uKVPf_leMLAaDw1ElEjgNAk-Pzf", + "title": "Best EDM Songs of All Time - Most Popular EDM Music Playlist 2022", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/ZxxKQZKIEmGaN35bLxPzsytb8byPINFvz-LQq7HZDtw-FWNYMVRsJqPBX5Bvh9Hz7xMW4UcNQ5w=s1200", + "author": "FULLJOS TV" + }, + { + "id": "VLPLtdSrlX5SDje32KBVU9gZ074yUwVtzwHJ", + "title": "Best kpop Edm songs", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/yf0l5rfvZ1FYKQROQuk5E67Qno4ubBzCSSH8_yYSV6Pt4cq651G_J5uNTm626E7uyCFl2SELHp0=s1200", + "author": "Colline 07" + }, + { + "id": "VLPLPqHbpPVyy5dQmoAdC_8taXMkbJTPT1AS", + "title": "Best Dance / EDM Songs HITS Of All Time", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/bgHi6XgNchcz1RRGWCK7opz8O7p9HWEB1RQedcoWtb-K18Er8XeWrtQecIiMwlIt_b4wjOkNtvcU=s1200", + "author": " World Dance Music Chart" + }, + { + "id": "VLPLPCKfY18hiG1MG1gjUEvJUOgMH3FuURfQ", + "title": "Top VietNam EDM", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/ErED_rvPPTJm9PsyTC8g7MuHRK2tKfQgihZRzekPKLwSlm2ZSIQKzhV_pKuvlyvtkApHFA3d0WA=s1200", + "author": "SONZ" + }, + { + "id": "VLPLb7oycdWTlXG9I_6NHoz0pzMBrC1yVMSp", + "title": "best of EDM party Electro & House Music new year mix 2018", + "description": "Based on 'EDM Best'", + "cover_url": "https://i.ytimg.com/vi/2ZC3rM2Y8jQ/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l1JRJ9Pq2Pfem6MT7aDzyIDVFjgg", + "author": "michael jackson" + }, + { + "id": "VLPLiLcaAagMnGln-uHand_EjBhUM45Kd42j", + "title": "Top 200 EDM Songs of All-Time", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/x1xoQFYru3STvwhKYpVWUPQEHny3M5dU_VhNMVqQwbk5JbBQuBJ_uxcHAoXal-MfGRMIOt6ixhE=s1200", + "author": "Aggressive House Soldier" + }, + { + "id": "VLPLCi72zTwMOuRbZgDwdKfbrYnWUODQ4pbs", + "title": "\ud83d\udd08BASS BOOSTED 2019 \ud83d\udd08 CAR MUSIC MIX 2019 \ud83d\udd25 BEST OF EDM, BOUNCE, TRAP, ELECTRO HOUSE 2019", + "description": "Based on 'EDM Best'", + "cover_url": "https://i.ytimg.com/vi/tliJePo6vYs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kStCEdtamexGGuDtOpKxioP7HaxQ", + "author": "DJ MOVE" + }, + { + "id": "VLPLRA_JYz6YO86sTy0uIJUk4B_uXGS96ekc", + "title": "Best EDM - One Click Collection", + "description": "Based on 'EDM Best'", + "cover_url": "https://i.ytimg.com/vi/sTmgaP2gYsk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nomJOWoT-8Ui2k041xJPofgNUkIw", + "author": "Infinity EDM" + }, + { + "id": "VLPLyEeuQ-a8E4Loc4zE57A6ARMS_cW8AukT", + "title": "Best Remixes of All Time", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/u8yWHGW3ZNdQbiUzkJ7KBa2hxQjPxcYV8kcIVZq39OFB6VreySoNvkoPk7dkLFaogmiFe_3HtcFj=s1200", + "author": "Leo JJ" + }, + { + "id": "VLPLyYwlYISt46ZY5B6oVYg_uL9m7mE1aFpd", + "title": "2013-2015 EDM Hits", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/M_dQoGYC2F-jxrnFPsf8YzJmKfQiKvqKkFKDLMVkUqhCsCZ0ykSsY6yQTDNTIBCSpuw0Ekc4ecUN=s1200", + "author": "Brian O" + }, + { + "id": "VLPLU_bQfSFrM2PemIeyVUSjZjJhm6G7auOY", + "title": "\ud83c\udfc6 | Best of Trap City", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.ggpht.com/jDFG4MlkVuwqwgqa71rI6XC_Km87sEmAEQw3kZ8LGNDtrMuGYfMmEw1aqrjxcPjSJUMNzpKRGw=s1200", + "author": "Trap City" + }, + { + "id": "VLPL_B5BvprrFVUTubeiBNU4c6etZ4MeNohY", + "title": "DJ Soda Remix 2023 | Best of EDM Party Club Music Mix", + "description": "Based on 'EDM Best'", + "cover_url": "https://i.ytimg.com/vi/BAqBWhphCTY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lq9Bf5xwccI88D9WbsdSjFucmo6Q", + "author": "SKYMUSIC" + }, + { + "id": "VLPLKsiRyayPqRJ3mJzTpJQLP0kUoblWwsPZ", + "title": "Best EDM Love Songs of All Time - Most Popular EDM Love Music Playlist (Updated in 2025)", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/x22c1o7J7q7n5Ia8rUV-1V4pIbQGxnYp3LWJf7BOmmS1d_T_GioWIpYlD5lGBXZTLq8ngnc2ew=s1200", + "author": "Redlist - International Charts" + }, + { + "id": "VLPLnmE2cV5wBZFH_engQ4QPjPn_ljboqvqh", + "title": "Festival Music Mixes | EDM, Electro, House", + "description": "Based on 'EDM Best'", + "cover_url": "https://i.ytimg.com/pl_c/PLnmE2cV5wBZFH_engQ4QPjPn_ljboqvqh/studio_square_thumbnail.jpg?sqp=CNDf_8kG-oaymwEKCMAWENQMIABIWqLzl_8DBgiypJ7ABg&rs=AMzJL3nFbhs5x4bJ8nKppzf8MVVDq02OcQ", + "author": "ElectroDanceMixes" + }, + { + "id": "VLPLT7-N9uBlU2k2ewy7OFqFSWsStFJmVCgm", + "title": "BEST PHONK MIX PLAYLIST - Phonk Music 2025", + "description": "Based on 'EDM Best'", + "cover_url": "https://yt3.googleusercontent.com/zPPBFHbXSExjtkzg0FZL2TQOr-S6wkTY7JGKX3NWNE7bI3Bl263dNAEKFOaQIiZzjSipR7SqVA=s1200", + "author": "Phonk Time" + }, + { + "id": "VLPLiVzZOjqMa2pD10BtiCMMtUc7cJm2yfCK", + "title": "Mix - *Street WORKOUT Music MOTIVATION 2020*", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/o-HWjpTuXzo/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3ny06Rc_U5vNGspn2mB_9TVr4QVnw", + "author": "Gym WorkoutMusic" + }, + { + "id": "VLPLGCs9FNpMtn-Tj3z8XnfdMibx-Wj3-fBJ", + "title": "Ultimate Girl Power Workout", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.ggpht.com/CiHUqvkHPbercjVo-oGZVCANkDzvDZwkFr3cJ1aglL0yyYYlZnztCq3VMoXqfmtcq8_ZPOwGPg=s1200", + "author": "Elizabeth Dunbar" + }, + { + "id": "VLPLGBKsNyGY-aepsnQIdlM7aaxdXvKEljE6", + "title": "GYM PHONK 2025 \u203b AGGRESSIVE WORKOUT PHONK MUSIC/SONGS MOTIVATION", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/D0b19ble9ApmIf2vnw7zYSs2ZUa8O2co86rOy48-jAC448jwnt2h4-s0feHfbdLyDNGg6Io8kmk=s1200", + "author": "Zombr3x" + }, + { + "id": "VLPLlvqmsYqDoJcXHSh1fLQltX3tW3DzvWAb", + "title": "Hip Hop & Rap Workout Music", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/EDD-MnHrBAI/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lVw2v93VpAJwCMb6lRV9rV2d2LSw", + "author": "The Beast Movement" + }, + { + "id": "VLPLAJFXpYL9w_CwGNT02MQaeoHDA3Ezy_cU", + "title": "Ultimate Rage Workout ~ \ud83d\udca3", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/RRk8c6RY-spLTE21uDm5VZmNhVltfyuwxOKtVNIFrSXI88BOFrhJKX7cOSLtbZv-TxzrYLKCaQ=s1200", + "author": "MADSTARS" + }, + { + "id": "VLPLKcVe6rnqWKYSom93HXRI43qiyuYIzbWH", + "title": "Arrow workout mixes", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/mSlBpKieRxY/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lcZuBvhxDyweeEqxMOox8het9v5g", + "author": "Gaurav Wahi" + }, + { + "id": "VLPLszh2f_iulDjTkm13gInSaiXUxEZoKfWw", + "title": "rob bailey playlist workout motivation", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.ggpht.com/sHPrgY9jHB0l_yZ8iLDaNKpeFVZ3W3lAoQm8jtZ2ewi6Af9p_cDxSO6O69o3Bcph5qx1x8Z7p1Y=s1200", + "author": "Alex T" + }, + { + "id": "VLPLlMs8pAszg0DszvqxNWEUpBcsImbfV9Xq", + "title": "Tamil Gym motivation songs", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/tenc8w9JKZ8/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfSLyQHHt9UbaBZpdMaL7luEL3pg", + "author": "HummerGB" + }, + { + "id": "VLPL_yXl8vVSZC64tVrDkLTQqLTQQmTPt75K", + "title": "Kattar Hindu Gym Playlist || hindi gym workout songs || indian motivational song || jai shree ram!", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/ZKHob0BqKntQ2t9mTCBwdIZWVWFN8_GfoE1gI9GKuso7nRfSXGk28Y_DWuJoPktB9xDbT_ObExg=s1200", + "author": "Rahul Rajendran" + }, + { + "id": "VLPLrJeYmJImv3nkzY6Ccx4VM5c4gEVls7Du", + "title": "Anime speech motivation", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/Vv1ZxdNqDdo/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kUso8QXqIKI7J6zJ4XOLcsPaub_A", + "author": "Athol Duck" + }, + { + "id": "VLPLbVrL0jQWkeoScL4FxTW5wxFIDn9y87gN", + "title": "Russian workout hip-hop", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/cDO2Hajoxng/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lceRntavxlthrUUKMx4Ge43lRFyw", + "author": "Dainis Avotins" + }, + { + "id": "VLPLRBp0Fe2GpgklJUWqAx_Yq2-yVjEfDVae", + "title": "NCS - Best Workout Music \ud83c\udfcb\ufe0f\u200d\u2640\ufe0f", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/PKtpKpH7nA58OdPqLIfeuE75fC90Ll81zV_LoEjXY86yz_x9QM4Yho3j-bXZM4QswtgqKpGw070=s1200", + "author": "NoCopyrightSounds" + }, + { + "id": "VLPLpYjtf_UHn92QINDsVC56MDzYx5XtpBCz", + "title": "Kontra K Workout Motivation Youtube-Playlist", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.ggpht.com/2xzFBk5vruBkSdDFqFYzQBKcal74d3OVqJdlbv2isaDubp5Cef8XUfe_O_uNyGcyDf6OuLGfp4c=s1200", + "author": "Meddo" + }, + { + "id": "VLPLdOiXyrU478XwokNOTpdK720QKtQGDpa4", + "title": "DBZ RAGE MOTIVATION", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/kogxLjP0d1k/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nxKJq9Rf_X89u_iKaTLxv5wfIzEA", + "author": "Eddison Vang" + }, + { + "id": "VLPLGcc2ezTrRYw9XPQ9SSMyX9ujLnTloEia", + "title": "Nasheed For Muslim Warriors \u2694\ufe0f", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/WyH9XqNvJ_o/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mCQxbV5OIo_GPVKMtA51tdz59V8g", + "author": "NASHEED" + }, + { + "id": "VLPLo-9ebpbVn-dCMqW9cxZXVZbANUsMnphh", + "title": "powerlifting motivation", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/gl2h0xfYMDA/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nJn7_Hw-CNcw-muq4nvDD9mbmUrw", + "author": "Tuan Hoang Bui" + }, + { + "id": "VLPLNCA1T91UH33dlbWR1RiexRq_DOkoJohH", + "title": "Best Bollywood Workout Songs - Motivational Bollywood Music Playlist (Updated in 2025)", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/Pij-YPAB6BlJyf0EqXotBhRC9FoYBO4_IqjVa3hil1f9znZA-EFXaOmbNXl9-J1KHQoktHe4Qp6d=s1200", + "author": "Redlist - Indian Charts" + }, + { + "id": "VLPLkdvqKINZV3OGxcLN6XFXo6Q6IJI0r3_r", + "title": "Broken heart gym", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.googleusercontent.com/4-R5QZL4I1aPFo-mieMJ9kTdpSBggymizr-zbmzY_y5PBBeAaT0F-gTlVvhgF1K9uBcZRHhX0Rk=s1200", + "author": "Mustafa Baris T\u00fcrkoglu" + }, + { + "id": "VLPLnXS0NgbJcRqg5WCYNalvx6R5r9qtp9oe", + "title": "Dragonball GYM Motivation", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://i.ytimg.com/vi/DPJjrArxwgc/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n-XBKw6vLkohR9Z2Ky1vu3bnrOhg", + "author": "Chriz" + }, + { + "id": "VLPL6Y6az3uyYAZJailKdu-zkc9JnvCyvgoN", + "title": "RAGE \ud83d\udcaa EDM WORKOUT MOTIVATION", + "description": "Based on 'Workout Motivation'", + "cover_url": "https://yt3.ggpht.com/mGcpNgAkwzCPm3-5IcnGh4Hdmb0lCxKgKeYVu4fAZyiw6h4R9h-1DPffhxeoipgObs0JxY-wMh8=s1200", + "author": "Fabio Amorelli" + }, + { + "id": "VLPL19czHULZF4FibtpxLsCDzAoTM8UC1ygc", + "title": "AlifatiQ - Sound EP", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/Qpj8xl94wAjbz6vIYCke2wCzb3T9BRwwoHviL80s7rQkucIubIJIjBmrfpohMAkIIKLPuaNoXUXl=s1200", + "author": "AlifatiQ" + }, + { + "id": "VLPLhbjGYENgW6nton4YCFgZwlxBRCORY8o8", + "title": "Vinahouse,adm,track,beat,piano", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/ualSK9XsZ4o/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lkrYnpyXHcIFwF6aK5i4HMiQLs3g", + "author": "Cuong Nhat" + }, + { + "id": "VLPLviIokP5rDRbGw87MFlLbmha2Rh5B5Eb-", + "title": "Vinahouse Remixes", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/pl_c/PLviIokP5rDRbGw87MFlLbmha2Rh5B5Eb-/studio_square_thumbnail.jpg?sqp=CNHf_8kG-oaymwEKCKAEEKAEIABIWqLzl_8DBgi54djABg&rs=AMzJL3kmqB29D5n3FBA9JVn-dAd5zxO-9Q", + "author": "Emil Balitaan" + }, + { + "id": "VLPLfaBJU_EdiVDWGP_8p0JZidCWRFKf4bqY", + "title": "vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/rLL8yCbnkQXPQsae2K7h0pxulUr_RU50zq7BSOa_P-azAT89Q5pXuZ36isOhw8w3HHzgAvTdXQ=s1200", + "author": "Ani Mu" + }, + { + "id": "VLPLzerDTUznzLZB2MKCCDp_QnwzfEFJZbT4", + "title": "H\u01af\u1edaNG D\u1eaaN ORG MOBILE", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/0sY-RbZqjJw/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kC-HCvJESDYa2LDEwfaaDCCuLjSQ", + "author": "ThanhDN TV" + }, + { + "id": "VLPL-xKsyftdMdzioE2z72srjgQbV4sdojob", + "title": "Nh\u1ea1c alan walker | Nh\u1ea1c alan walker ko l\u1eddi | Nh\u1eefng Ca Kh\u00fac Nh\u1ea1c Alan Walker Hay Nh\u1ea5t 2018", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/EUJM3YR56wU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3keVJYGKB5_LC7pgsfwlDbgQ_O1hA", + "author": "Giang Ph\u1ea1m S\u1ef9" + }, + { + "id": "VLPL01k7hYqQe8jDDgNYPjWH_1rbNSGnka3V", + "title": "VINAHOUSE 2023/2024", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/7N0RsIHqZQU/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lDsvW2D_md2cc0Nkf-123ieH5BOQ", + "author": "Wroar2020s" + }, + { + "id": "VLPLjpgyhqqahYPQIQyhpozR8y-6F6klbxE7", + "title": "Kim Vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.ggpht.com/lF7A6nzl9_ZlvSUejM736h1e_2Akt7w7_tlnbvTbPiVp1fx4v6O9jOpqBng4qS7mF9wYnfJ46Oli=s1200", + "author": "V\u0169 L\u01b0u Music Channel" + }, + { + "id": "VLPL6moDDVi_oz7R5eUkQAkpQXWzKhHxwiI_", + "title": "Vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/fSbmjfaav9T2X6CZXg0mzHNZj5ay6nIh2RcOdSp5lmhFIiTc26naAKM98gIvvAYbOwUisXTx2eE=s1200", + "author": "Christopher Cooper" + }, + { + "id": "VLPLn0WczDqIHmRudVXeFjQpnZHr0NdkOFyO", + "title": "Bill VINAHOUSE \ud83d\ude0e", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/sHCDBX94FAkNUWQnvIpYqqVYq_MWavndYAUXJcmjWrtuk6RqcK8BQ5vNyxVgByOxHLmhM4yMTYw_=s1200", + "author": "Chivalry" + }, + { + "id": "VLPLi-pTPgzkXnzaU0ctE262SS0vn6GHVfXO", + "title": "Vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/4_f48IM8mT8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n8p02DxiiRmlleLtVPlCyS9cQCUA", + "author": "Th\u1eafng Nonstop" + }, + { + "id": "VLPL0o82aad8KEsIUN0D9bTSipKvwyX_SPpm", + "title": "Vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/moz-V1CF3pUR4kDQgYTeKjJmqzhB-JbBt1IRd6uqefSxWhP9UC-8t_hXFBgmoIJMG-2M-UYnCg=s1200", + "author": "Vuong Nguyen" + }, + { + "id": "VLPLpS7ShJiJGKTM5iYKyckBGmUh5R-WEkQa", + "title": "Vinahouse 2020", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/85VTVgMQGfs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3njomOVV2GQRg3qhT-AFMsfSnsz0A", + "author": "V\u00e0ng Tr\u1ea7n V\u0103n Ki\u1ec7t" + }, + { + "id": "VLPL9r2Gs_rA7T3U1Cxvp9AImfc79FZ68M1_", + "title": "Tuy\u1ec3n t\u1eadp vinahouse remix \ud83e\udd18", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/pl_c/PL9r2Gs_rA7T3U1Cxvp9AImfc79FZ68M1_/studio_square_thumbnail.jpg?sqp=CNHf_8kG-oaymwEKCMAWENQMIABIWqLzl_8DBgiD2e28Bg&rs=AMzJL3kl1Bkm52d7wYS3p7qwxax9g6ESNw", + "author": "My M\u00f4" + }, + { + "id": "VLPLOUcLGS6LE9eZLKt59PTTG-b42_ifaPup", + "title": "Karaoke Nh\u1ea1c \u0110\u01b0\u1ee3c H\u00e1t Nhi\u1ec1u Nh\u1ea5t", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/c6H5wTwyk34/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kdIEEY8qLWIdi7lWpV2p1v6T5Ojw", + "author": "Sen Karaoke" + }, + { + "id": "VLPLNSRe2oSrSg6V52ps5SECL74jDxpIXNE4", + "title": "VINAHOUSE USA MIXTAPE 2024", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/SWU579HXQdE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kZfOxJY9cPs0UeTEIxxVmkLlVI8w", + "author": "VINAHOUSE" + }, + { + "id": "VLPLlyjYvgegnv19Yipvle82T1VOKWnYBG1Z", + "title": "Karaoke vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://yt3.googleusercontent.com/t8zWar73o3nZppsDNVB-xVeM2WBtJCu-MxyghlnF-Kq2Mk2Y2hnuG7ZD1IBKNKUlfA1d-kcLsw=s1200", + "author": "Khanh Cao L\u00e3nh" + }, + { + "id": "VLPLTjX6VAHYhRW_hEtcxEesPG9tfH0ccX9q", + "title": "Vinahouse \ud83d\ude01", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/RlEuLaN6ZO4/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3khesY8GV_Myp6jbp0TsOthpUDQGA", + "author": "B\u00f9i Nh\u1eadt Long" + }, + { + "id": "VLPLaZpe8usujCmMTy7b4S80OZtMb1_4NhqX", + "title": "Vinahouse", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/BipMF8hE32I/hqdefault.jpg?sqp=-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg&rs=AMzJL3my-_kpTJom5rDoTy_komsDva59EA", + "author": "TaeNy Locksmith (Locksmith's)" + }, + { + "id": "VLPLVlv7zR_sq_xY7Wd1oqWK6fIh_Hj34GL1", + "title": "2025\u6162\u6416\u300a\u8d85\u597d\u807d\u300b", + "description": "Based on 'Vinahouse Beat'", + "cover_url": "https://i.ytimg.com/vi/9ObumbgYJBQ/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mYoMcXacER8F0gQjyS50OQlAPVRQ", + "author": "92CCDJ" + } + ] +} \ No newline at end of file diff --git a/data/user_playlists.json b/data/user_playlists.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/data/user_playlists.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/deploy.bat b/deploy.bat new file mode 100644 index 0000000..fc10e5d --- /dev/null +++ b/deploy.bat @@ -0,0 +1,41 @@ +@echo off +echo ========================================== +echo Spotify Clone Deployment Script +echo ========================================== + +echo [1/3] Checking Docker status... +docker info >nul 2>&1 +if %errorlevel% neq 0 ( + echo [ERROR] Docker is NOT running! + echo. + echo Please start Docker Desktop from your Start Menu. + echo Once Docker is running ^(green icon^), run this script again. + echo. + pause + exit /b 1 +) + +echo [2/3] Docker is active. Building Image... +echo This may take a few minutes... +docker build -t vndangkhoa/spotify-clone:latest . +if %errorlevel% neq 0 ( + echo [ERROR] Docker build failed. + pause + exit /b 1 +) + +echo [3/3] Pushing to Docker Hub... +docker push vndangkhoa/spotify-clone:latest +if %errorlevel% neq 0 ( + echo [ERROR] Docker push failed. + echo You may need to run 'docker login' first. + pause + exit /b 1 +) + +echo. +echo ========================================== +echo [SUCCESS] Deployment Complete! +echo Image: vndangkhoa/spotify-clone:latest +echo ========================================== +pause diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1b6ef1b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + spotify-clone: + image: vndangkhoa/spotify-clone:latest + container_name: spotify-clone + restart: always + network_mode: bridge # Synology often prefers explicit bridge or host + ports: + - "3110:3000" # Web UI + + volumes: + - ./data:/app/backend/data diff --git a/fetch_data.py b/fetch_data.py new file mode 100644 index 0000000..328a37d --- /dev/null +++ b/fetch_data.py @@ -0,0 +1,95 @@ +from ytmusicapi import YTMusic +import json +import os +from pathlib import Path + +yt = YTMusic() + +CATEGORIES = { + "Trending Vietnam": "Top 50 Vietnam", + "Vietnamese Artists": "Vietnamese Pop Hits", + "Ballad Singers": "Vietnamese Ballad", + "DJ & Remix": "Vinahouse Remix Vietnam", + "YouTube Stars": "Vietnamese Cover Songs" +} + +browse_data = {} + +print("Starting data fetch...") + +for category, query in CATEGORIES.items(): + print(f"\n--- Fetching Category: {category} (Query: '{query}') ---") + try: + results = yt.search(query, filter="playlists", limit=5) + + category_playlists = [] + + for p_result in results[:4]: # Limit to 4 playlists per category + playlist_id = p_result['browseId'] + print(f" > Processing: {p_result['title']}") + + try: + # Fetch full playlist details + playlist_data = yt.get_playlist(playlist_id, limit=50) + + # Process Tracks + output_tracks = [] + for track in playlist_data.get('tracks', []): + artists_list = track.get('artists') or [] + if isinstance(artists_list, list): + artists = ", ".join([a.get('name', 'Unknown') for a in artists_list]) + else: + artists = "Unknown Artist" + + thumbnails = track.get('thumbnails', []) + cover_url = thumbnails[-1]['url'] if thumbnails else "https://placehold.co/300x300" + + album_info = track.get('album') + album_name = album_info.get('name', 'Single') if album_info else "Single" + + output_tracks.append({ + "title": track.get('title', 'Unknown Title'), + "artist": artists, + "album": album_name, + "duration": track.get('duration_seconds', 0), + "cover_url": cover_url, + "id": track.get('videoId', 'unknown'), + "url": f"https://music.youtube.com/watch?v={track.get('videoId', '')}" + }) + + # Process Playlist Info + p_thumbnails = playlist_data.get('thumbnails', []) + p_cover = p_thumbnails[-1]['url'] if p_thumbnails else "https://placehold.co/300x300" + + category_playlists.append({ + "id": playlist_data.get('id'), + "title": playlist_data.get('title'), + "description": playlist_data.get('description', '') or f"Best of {category}", + "cover_url": p_cover, + "tracks": output_tracks + }) + + except Exception as e: + print(f" Error processing playlist {playlist_id}: {e}") + continue + + if category_playlists: + browse_data[category] = category_playlists + + except Exception as e: + print(f"Error searching category {category}: {e}") + +# Save to backend/data/browse_playlists.json +output_path = Path("backend/data/browse_playlists.json") +output_path.parent.mkdir(parents=True, exist_ok=True) + +with open(output_path, "w", encoding='utf-8') as f: + json.dump(browse_data, f, indent=2) + +# Also save a flat list for Trending (backward compatibility) +if "Trending Vietnam" in browse_data and browse_data["Trending Vietnam"]: + flat_trending = browse_data["Trending Vietnam"][0] + with open("backend/data.json", "w", encoding='utf-8') as f: + json.dump(flat_trending, f, indent=2) + +print("\nAll Done! Saved to backend/data/browse_playlists.json") diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..e215bc4 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/frontend/app/collection/tracks/page.tsx b/frontend/app/collection/tracks/page.tsx new file mode 100644 index 0000000..e137c9e --- /dev/null +++ b/frontend/app/collection/tracks/page.tsx @@ -0,0 +1,89 @@ +"use client"; + +import { usePlayer } from "@/context/PlayerContext"; +import { Play, Pause, Clock, Heart } from "lucide-react"; + +export default function LikedSongsPage() { + const { likedTracksData, playTrack, currentTrack, isPlaying } = usePlayer(); + + const handlePlay = (track: any) => { + playTrack(track, likedTracksData); + }; + + const formatDuration = (seconds: number) => { + if (!seconds) return "-:--"; + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins}:${secs.toString().padStart(2, '0')}`; + }; + + return ( +
+ {/* Header */} +
+
+ +
+
+ Playlist +

Liked Songs

+
+
K
+ Khoa Vo + β€’ + {likedTracksData.length} songs +
+
+
+ + {/* Controls */} +
+
+ +
+
+ + {/* List */} +
+ {/* Header Row */} +
+ # + Title + Album +
+
+ + {likedTracksData.length > 0 ? ( + likedTracksData.map((track, i) => { + const isCurrent = currentTrack?.id === track.id; + return ( +
handlePlay(track)} + className={`grid grid-cols-[16px_4fr_3fr_minmax(120px,1fr)] gap-4 px-4 py-2 rounded-md hover:bg-[#ffffff1a] group cursor-pointer transition items-center text-sm text-spotify-text-muted hover:text-white ${isCurrent ? 'bg-[#ffffff1a]' : ''}`} + > + {i + 1} + + +
+ +
+ {track.title} + {track.artist} +
+
+ {track.album} + {formatDuration(0)} +
+ ); + }) + ) : ( +
+

No liked songs yet.

+

Go search for some music and tap the heart icon!

+
+ )} +
+
+ ); +} diff --git a/frontend/app/favicon.ico b/frontend/app/favicon.ico new file mode 100644 index 0000000..718d6fe Binary files /dev/null and b/frontend/app/favicon.ico differ diff --git a/frontend/app/globals.css b/frontend/app/globals.css new file mode 100644 index 0000000..802427f --- /dev/null +++ b/frontend/app/globals.css @@ -0,0 +1,37 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --background: #121212; + --foreground: #FFFFFF; + + /* Spotify Colors */ + --spotify-base: #121212; + --spotify-sidebar: #000000; + --spotify-player: #000000; + --spotify-highlight: #1DB954; + --spotify-hover: #282828; + --spotify-text-main: #FFFFFF; + --spotify-text-muted: #B3B3B3; + --spotify-text-subdued: #A7A7A7; +} + +@layer utilities { + .no-scrollbar::-webkit-scrollbar { + display: none; + } + + .no-scrollbar { + -ms-overflow-style: none; + /* IE and Edge */ + scrollbar-width: none; + /* Firefox */ + } +} + +body { + background: var(--spotify-base); + color: var(--spotify-text-main); + /* font-family set in layout via className */ +} \ No newline at end of file diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx new file mode 100644 index 0000000..736e0c3 --- /dev/null +++ b/frontend/app/layout.tsx @@ -0,0 +1,57 @@ +import type { Metadata } from "next"; +import { Outfit } from "next/font/google"; +import "./globals.css"; +import Sidebar from "@/components/Sidebar"; +import PlayerBar from "@/components/PlayerBar"; +import MobileNav from "@/components/MobileNav"; +import { PlayerProvider } from "@/context/PlayerContext"; +import { LibraryProvider } from "@/context/LibraryContext"; + +const outfit = Outfit({ + subsets: ["latin"], + variable: "--font-outfit", + weight: ["300", "400", "500", "600", "700"], +}); + +export const metadata: Metadata = { + title: "Audiophile Web Player", + description: "High-Fidelity Local-First Music Player", + manifest: "/manifest.json", + referrer: "no-referrer", + appleWebApp: { + capable: true, + statusBarStyle: "black-translucent", + title: "Audiophile Web Player", + }, + icons: { + icon: "/icons/icon-192x192.png", + apple: "/icons/icon-512x512.png", + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + + +
+ +
+ {children} +
+
+ + +
+
+ + + ); +} diff --git a/frontend/app/library/page.tsx b/frontend/app/library/page.tsx new file mode 100644 index 0000000..c410c90 --- /dev/null +++ b/frontend/app/library/page.tsx @@ -0,0 +1,177 @@ +"use client"; + +import { useState } from "react"; +import { dbService } from "@/services/db"; +import { useLibrary } from "@/context/LibraryContext"; +import Link from "next/link"; +import { Plus } from "lucide-react"; +import CreatePlaylistModal from "@/components/CreatePlaylistModal"; + +export default function LibraryPage() { + const { userPlaylists: playlists, libraryItems, refreshLibrary: refresh, activeFilter: activeTab, setActiveFilter: setActiveTab } = useLibrary(); + const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); + + const handleCreatePlaylist = async (name: string) => { + await dbService.createPlaylist(name); + refresh(); + }; + + const showPlaylists = activeTab === 'all' || activeTab === 'playlists'; + const showAlbums = activeTab === 'all' || activeTab === 'albums'; + const showArtists = activeTab === 'all' || activeTab === 'artists'; + + // Filter items based on type + const albums = libraryItems.filter(item => item.type === 'Album'); + const artists = libraryItems.filter(item => item.type === 'Artist'); + const browsePlaylists = libraryItems.filter(item => item.type === 'Playlist'); + + return ( +
+
+

Your Library

+ +
+ +
+ + + + +
+ +
+ {/* Playlists & Liked Songs */} + {showPlaylists && ( + <> + +
+

Liked Songs

+

Auto-generated

+
+ + + {playlists.map((playlist) => ( + +
+
+ {playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( + {playlist.title} + ) : ( +
+ 🎡 +
+ )} +
+

{playlist.title}

+

Playlist β€’ You

+
+ + ))} + + {browsePlaylists.map((playlist) => ( + +
+
+ {playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( + {playlist.title} + ) : ( +
+ 🎡 +
+ )} +
+

{playlist.title}

+

Playlist β€’ Made for you

+
+ + ))} + + )} + + {/* Artists Content (Circular Images) */} + {showArtists && artists.map((artist) => ( + +
+
+ {artist.cover_url ? ( + {artist.title} { + e.currentTarget.onerror = null; // Prevent infinite loop + e.currentTarget.style.display = 'none'; + e.currentTarget.parentElement?.classList.add('bg-[#333]'); + }} + /> + ) : null} +
+ 🎀 +
+
+

{artist.title}

+

Artist

+
+ + ))} + + {/* Albums Content */} + {showAlbums && albums.map((album) => ( + +
+
+ {album.cover_url ? ( + {album.title} { + e.currentTarget.onerror = null; // Prevent infinite loop + e.currentTarget.style.display = 'none'; // Hide broken image + e.currentTarget.parentElement?.classList.add('bg-[#333]'); // add background + // Show fallback icon sibling if possible, distinct from React state + }} + /> + ) : null} + {/* Fallback overlay (shown if image missing or hidden via CSS logic would need state, but simpler: just render icon behind it or use state) */} +
+ πŸ’Ώ +
+
+

{album.title}

+

Album β€’ {album.creator || 'Spotify'}

+
+ + ))} +
+ + setIsCreateModalOpen(false)} + onCreate={handleCreatePlaylist} + /> +
+ ); +} diff --git a/frontend/app/page.tsx b/frontend/app/page.tsx new file mode 100644 index 0000000..6d06786 --- /dev/null +++ b/frontend/app/page.tsx @@ -0,0 +1,190 @@ +"use client"; + +import { Play, Pause } from "lucide-react"; +import { useEffect, useState } from "react"; +import { usePlayer } from "@/context/PlayerContext"; +import Link from "next/link"; +import { libraryService } from "@/services/library"; + +export default function Home() { + const [timeOfDay, setTimeOfDay] = useState("Good evening"); + const [browseData, setBrowseData] = useState>({}); + + useEffect(() => { + const hour = new Date().getHours(); + if (hour < 12) setTimeOfDay("Good morning"); + else if (hour < 18) setTimeOfDay("Good afternoon"); + else setTimeOfDay("Good evening"); + + // Fetch Browse Content + libraryService.getBrowseContent() + .then(data => setBrowseData(data)) + .catch(err => console.error("Error fetching browse:", err)); + }, []); + + // Use first item of first category as Hero + const firstCategory = Object.keys(browseData)[0]; + const heroPlaylist = firstCategory && browseData[firstCategory].length > 0 ? browseData[firstCategory][0] : null; + + return ( +
+ + {/* Header / Greetings */} +
+

{timeOfDay}

+
+ + {/* Hero Section (First Playlist) */} + {heroPlaylist && ( + +
+ {heroPlaylist.title} +
+

Playlist

+

{heroPlaylist.title}

+

{heroPlaylist.description}

+
+
+ +
+
+
+
+ + )} + + {/* Made For You (Recommendations) */} + + + {/* Recommended Albums */} + + + {/* Render Categories */} + {Object.entries(browseData).map(([category, playlists]) => ( +
+

{category}

+
+ {playlists.slice(0, 5).map((playlist) => ( + +
+
+ {playlist.title} +
+
+ +
+
+
+

{playlist.title}

+

{playlist.description}

+
+ + ))} +
+
+ ))} +
+ ); +} + +function MadeForYouSection() { + const { playHistory, playTrack } = usePlayer(); + const [recommendations, setRecommendations] = useState([]); + + useEffect(() => { + if (playHistory.length > 0) { + const seed = playHistory[0]; // Last played + libraryService.getRecommendations(seed.id) + .then(tracks => setRecommendations(tracks)) + .catch(err => console.error("Rec error:", err)); + } + }, [playHistory.length > 0 ? playHistory[0].id : null]); + + if (playHistory.length === 0 || recommendations.length === 0) return null; + + return ( +
+

Made For You

+

Based on your listening of {playHistory[0].title}

+
+ {recommendations.slice(0, 5).map((track, i) => ( +
playTrack(track, recommendations)} className="bg-[#181818] p-4 rounded-md hover:bg-[#282828] transition duration-300 group cursor-pointer relative h-full flex flex-col"> +
+ {track.title} +
+
+ +
+
+
+

{track.title}

+

{track.artist}

+
+ ))} +
+
+ ); +} + +function RecommendedAlbumsSection() { + const { playHistory } = usePlayer(); + const [albums, setAlbums] = useState([]); + + useEffect(() => { + if (playHistory.length > 0) { + const seedArtist = playHistory[0].artist; // Last played artist + if (!seedArtist) return; + + // Clean artist name (remove delimiters like commas if multiple) + const primaryArtist = seedArtist.split(',')[0].trim(); + + libraryService.getRecommendedAlbums(primaryArtist) + .then(data => { + if (Array.isArray(data)) setAlbums(data); + }) + .catch(err => console.error("Album Rec error:", err)); + } + }, [playHistory.length > 0 ? playHistory[0].artist : null]); + + if (playHistory.length === 0 || albums.length === 0) return null; + + return ( +
+

Recommended Albums

+
+ {albums.slice(0, 5).map((album, i) => ( + +
+
+ {album.title} +
+
+ +
+
+
+

{album.title}

+

{album.description}

+
+ + ))} +
+
+ ); +} diff --git a/frontend/app/playlist/page.tsx b/frontend/app/playlist/page.tsx new file mode 100644 index 0000000..18958e7 --- /dev/null +++ b/frontend/app/playlist/page.tsx @@ -0,0 +1,246 @@ +"use client"; + +import { usePlayer } from "@/context/PlayerContext"; +import { Play, Pause, Clock, Heart, MoreHorizontal, Plus } from "lucide-react"; +import { useEffect, useState, Suspense } from "react"; +import { useSearchParams } from "next/navigation"; +import AddToPlaylistModal from "@/components/AddToPlaylistModal"; +import { dbService } from "@/services/db"; +import { libraryService } from "@/services/library"; + +interface Track { + title: string; + artist: string; + album: string; + cover_url: string; + id: string; + url?: string; + duration?: number; +} + +interface PlaylistData { + title: string; + description: string; + author: string; + cover_url: string; + tracks: Track[]; +} + +function PlaylistContent() { + const searchParams = useSearchParams(); + const id = searchParams.get('id'); + + const [playlist, setPlaylist] = useState(null); + const [isLoading, setIsLoading] = useState(true); + const { playTrack, currentTrack, isPlaying, likedTracks, toggleLike } = usePlayer(); + + // Modal State + const [isAddToPlaylistOpen, setIsAddToPlaylistOpen] = useState(false); + const [trackToAdd, setTrackToAdd] = useState(null); + const [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false); + + useEffect(() => { + const fetchPlaylist = async () => { + setIsLoading(true); + try { + if (!id) return; + + if (id === 'trending') { + const browse = await libraryService.getBrowseContent(); + // Assumption: Trending exists or use first available + const trending = browse['Trending']?.[0] || browse['Top Lists']?.[0]; + if (trending) { + setPlaylist({ + ...trending, + author: "Audiophile", + }); + } + } else { + // Try DB (User Playlist) + const dbPlaylist = await dbService.getPlaylist(id); + if (dbPlaylist) { + setPlaylist({ + title: dbPlaylist.title, + description: `Created on ${new Date(dbPlaylist.createdAt).toLocaleDateString()}`, + author: "You", + cover_url: dbPlaylist.cover_url || "https://placehold.co/300?text=Playlist", + tracks: dbPlaylist.tracks + }); + setIsLoading(false); + return; + } + + // Try Library (Static Playlist) + const libPlaylist = await libraryService.getPlaylist(id); + if (libPlaylist) { + setPlaylist({ + ...libPlaylist, + author: "System" + }); + setIsLoading(false); + return; + } + + throw new Error("Playlist not found"); + } + } catch (error) { + console.error("Failed to fetch playlist:", error); + } finally { + setIsLoading(false); + } + }; + + if (id) fetchPlaylist(); + }, [id]); + + const handlePlay = (track: Track) => { + if (playlist) { + playTrack(track, playlist.tracks); + } else { + playTrack(track); + } + }; + + const handlePlayAll = () => { + if (playlist && playlist.tracks.length > 0) { + playTrack(playlist.tracks[0], playlist.tracks); + } + }; + + const formatDuration = (seconds?: number) => { + if (!seconds) return "-:--"; + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins}:${secs.toString().padStart(2, '0')}`; + }; + + const openAddToPlaylist = (e: React.MouseEvent, track: Track) => { + e.stopPropagation(); + setTrackToAdd(track); + setIsAddToPlaylistOpen(true); + }; + + if (isLoading) return
Loading playlist...
; + if (!playlist) return
Playlist not found.
; + + return ( +
+ {/* Header */} +
+ {playlist.title} +
+ Playlist +

{playlist.title}

+ + {/* Expandable Description */} +
+

setIsDescriptionExpanded(!isDescriptionExpanded)} + > + {playlist.description} +

+ {playlist.description && playlist.description.length > 100 && ( + + )} +
+ +
+ {playlist.author || "User"} + β€’ + {playlist.tracks.length} songs +
+
+
+ + {/* Controls */} +
+ {/* ... (controls remain similar) ... */} +
+ +
+ + +
+ + {/* List */} +
+ {/* Header Row */} +
+ # + Title + Album +
+
+ +
+ {playlist.tracks.map((track, i) => { + const isCurrent = currentTrack?.id === track.id; + const isLiked = likedTracks.has(track.id); + return ( +
handlePlay(track)} + className={`grid grid-cols-[auto_1fr_auto] md:grid-cols-[16px_4fr_3fr_minmax(120px,1fr)] gap-4 px-2 md:px-4 py-3 rounded-md hover:bg-[#ffffff1a] group cursor-pointer transition items-center text-sm text-spotify-text-muted hover:text-white ${isCurrent ? 'bg-[#ffffff1a]' : ''}`} + > + + {isCurrent && isPlaying ? ( + playing + ) : ( + {i + 1} + )} + + +
+ +
+ {/* Changed from truncate to line-clamp-2 for readability */} + {track.title} + {track.artist} +
+
+ {track.album} +
+ + {formatDuration(track.duration)} + +
+
+ ); + })} +
+
+ + setIsAddToPlaylistOpen(false)} + /> +
+ ); +} + +export default function PlaylistPage() { + return ( + Loading...}> + + + ); +} diff --git a/frontend/app/search/page.tsx b/frontend/app/search/page.tsx new file mode 100644 index 0000000..3d460bd --- /dev/null +++ b/frontend/app/search/page.tsx @@ -0,0 +1,134 @@ +"use client"; + +import { useState } from "react"; +import { Search as SearchIcon, Play, Pause, X } from "lucide-react"; +import { usePlayer } from "@/context/PlayerContext"; + +interface Track { + title: string; + artist: string; + album: string; + cover_url: string; + id: string; +} + +import AddToPlaylistModal from "@/components/AddToPlaylistModal"; +import { Plus } from "lucide-react"; + +export default function SearchPage() { + const [query, setQuery] = useState(""); + const [results, setResults] = useState([]); + const [isSearching, setIsSearching] = useState(false); + const { playTrack, currentTrack, isPlaying } = usePlayer(); + + // Modal State + const [isAddToPlaylistOpen, setIsAddToPlaylistOpen] = useState(false); + const [trackToAdd, setTrackToAdd] = useState(null); + + const handleSearch = async (e: React.FormEvent) => { + e.preventDefault(); + if (!query.trim()) return; + + setIsSearching(true); + try { + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + const res = await fetch(`${apiUrl}/api/search?query=${encodeURIComponent(query)}`); + const data = await res.json(); + setResults(data.tracks || []); + } catch (error) { + console.error("Search failed:", error); + } finally { + setIsSearching(false); + } + }; + + const handlePlay = (track: Track) => { + // Create a temporary queue from the search results + playTrack(track, results); + }; + + const openAddToPlaylist = (e: React.MouseEvent, track: Track) => { + e.stopPropagation(); + setTrackToAdd(track); + setIsAddToPlaylistOpen(true); + }; + + return ( +
+ {/* Search Input */} +
+
+ + setQuery(e.target.value)} + placeholder="What do you want to play?" + className="w-full h-12 rounded-full pl-10 pr-4 bg-white text-black font-medium focus:outline-none focus:ring-2 focus:ring-white placeholder-gray-500" + /> + {query && ( + + )} + +
+ + {/* Results */} +
+ {isSearching ? ( +
Searching...
+ ) : results.length > 0 ? ( + <> +

Top Results

+
+ {results.map((track, i) => { + const isCurrent = currentTrack?.id === track.id; + return ( +
handlePlay(track)} className="bg-[#181818] p-4 rounded-md hover:bg-[#282828] transition cursor-pointer group relative"> +
+ {track.title} +
+ {isCurrent && isPlaying ? ( + + ) : ( + + )} +
+
+

{track.title}

+

{track.artist}

+ + {/* Add to Playlist Button (Absolute Top Right of Card) */} + +
+ ); + })} +
+ + ) : ( +
+

Play what you love

+

Search for artists, songs, podcasts, and more.

+
+ )} +
+ + setIsAddToPlaylistOpen(false)} + /> +
+ ); +} diff --git a/frontend/build_log.txt b/frontend/build_log.txt new file mode 100644 index 0000000..be2b24e --- /dev/null +++ b/frontend/build_log.txt @@ -0,0 +1,23 @@ + +> frontend@0.1.0 build +> next build + + β–² Next.js 14.2.0 + + Creating an optimized production build ... + βœ“ Compiled successfully + Skipping validation of types + Skipping linting + Collecting page data ... + +> Build error occurred +Error: Page "/playlist/[id]" is missing "generateStaticParams()" so it cannot be used with "output: export" config. + at /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1294:59 + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async Promise.all (index 8) + at async /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1172:17 + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1095:124 + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async build (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:366:9) diff --git a/frontend/build_log_2.txt b/frontend/build_log_2.txt new file mode 100644 index 0000000..7f75155 --- /dev/null +++ b/frontend/build_log_2.txt @@ -0,0 +1,23 @@ + +> frontend@0.1.0 build +> next build + + β–² Next.js 14.2.0 + + Creating an optimized production build ... + βœ“ Compiled successfully + Skipping validation of types + Skipping linting + Collecting page data ... + +> Build error occurred +Error: Page "/api/auth/[...nextauth]" is missing "generateStaticParams()" so it cannot be used with "output: export" config. + at /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1294:59 + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async Promise.all (index 4) + at async /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1172:17 + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async /Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:1095:124 + at async Span.traceAsyncFn (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/trace/trace.js:154:20) + at async build (/Users/khoa.vo/Desktop/khoavo-spotify/frontend/node_modules/next/dist/build/index.js:366:9) diff --git a/frontend/components/AddToPlaylistModal.tsx b/frontend/components/AddToPlaylistModal.tsx new file mode 100644 index 0000000..8009d17 --- /dev/null +++ b/frontend/components/AddToPlaylistModal.tsx @@ -0,0 +1,102 @@ +"use client"; + +import { useEffect, useState } from "react"; +import { Plus, X } from "lucide-react"; + +interface AddToPlaylistModalProps { + track: any; + isOpen: boolean; + onClose: () => void; +} + +export default function AddToPlaylistModal({ track, isOpen, onClose }: AddToPlaylistModalProps) { + const [playlists, setPlaylists] = useState([]); + + useEffect(() => { + if (isOpen) { + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + fetch(`${apiUrl}/api/playlists`) + .then(res => res.json()) + .then(data => setPlaylists(data)) + .catch(err => console.error(err)); + } + }, [isOpen]); + + const handleAddToPlaylist = async (playlistId: string) => { + try { + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + await fetch(`${apiUrl}/api/playlists/${playlistId}/tracks`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(track) + }); + alert(`Added to playlist!`); + onClose(); + } catch (error) { + console.error("Failed to add track:", error); + } + }; + + if (!isOpen) return null; + + return ( +
+
+
+

Add to Playlist

+ +
+ +
+ {playlists.length === 0 ? ( +
No playlists found. Create one first!
+ ) : ( + playlists.map((playlist) => ( +
handleAddToPlaylist(playlist.id)} + className="flex items-center gap-3 p-3 hover:bg-[#3e3e3e] rounded-md cursor-pointer transition text-white" + > +
+ {playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( + + ) : ( + 🎡 + )} +
+ {playlist.title} +
+ )) + )} +
+ +
+ +
+
+
+ ); +} diff --git a/frontend/components/CreatePlaylistModal.tsx b/frontend/components/CreatePlaylistModal.tsx new file mode 100644 index 0000000..cf48643 --- /dev/null +++ b/frontend/components/CreatePlaylistModal.tsx @@ -0,0 +1,59 @@ +"use client"; + +import { useState } from "react"; +import { X, Plus } from "lucide-react"; + +interface CreatePlaylistModalProps { + isOpen: boolean; + onClose: () => void; + onCreate: (name: string) => void; +} + +export default function CreatePlaylistModal({ isOpen, onClose, onCreate }: CreatePlaylistModalProps) { + const [name, setName] = useState(""); + + if (!isOpen) return null; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (name.trim()) { + onCreate(name); + setName(""); + onClose(); + } + }; + + return ( +
+
+
+

Create Playlist

+ +
+ +
+
+ setName(e.target.value)} + className="w-full bg-[#3e3e3e] text-white p-3 rounded-md border border-transparent focus:border-green-500 focus:outline-none transition" + autoFocus + /> +
+ + +
+
+
+ ); +} diff --git a/frontend/components/LyricsDetail.tsx b/frontend/components/LyricsDetail.tsx new file mode 100644 index 0000000..a98a69c --- /dev/null +++ b/frontend/components/LyricsDetail.tsx @@ -0,0 +1,147 @@ +import React, { useEffect, useState, useRef } from 'react'; + +interface Metric { + time: number; + text: string; +} + +interface LyricsDetailProps { + track: any; + currentTime: number; + onClose: () => void; + onSeek?: (time: number) => void; +} + +const LyricsDetail: React.FC = ({ track, currentTime, onClose, onSeek }) => { + const [lyrics, setLyrics] = useState([]); + const [isLoading, setIsLoading] = useState(false); + const scrollContainerRef = useRef(null); + const activeLineRef = useRef(null); + + // Fetch Lyrics on Track Change + useEffect(() => { + const fetchLyrics = async () => { + if (!track) return; + + setIsLoading(true); + try { + // Pass title and artist for LRCLIB fallback + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + const url = `${apiUrl}/api/lyrics?id=${track.id}&title=${encodeURIComponent(track.title)}&artist=${encodeURIComponent(track.artist)}`; + const res = await fetch(url); + const data = await res.json(); + setLyrics(data || []); + } catch (error) { + console.error("Error fetching lyrics:", error); + setLyrics([]); + } finally { + setIsLoading(false); + } + }; + + fetchLyrics(); + }, [track?.id]); + + // Find active line index + const activeIndex = lyrics.findIndex((line, index) => { + const nextLine = lyrics[index + 1]; + // Removing large offset to match music exactly. + // using small buffer (0.05) just for rounding safety + const timeWithOffset = currentTime + 0.05; + return timeWithOffset >= line.time && (!nextLine || timeWithOffset < nextLine.time); + }); + + // Auto-scroll to active line + // Auto-scroll to active line + useEffect(() => { + if (activeLineRef.current && scrollContainerRef.current) { + const container = scrollContainerRef.current; + const activeLine = activeLineRef.current; + + // Calculate position to center (or offset) the active line + // Reverted to center (50%) as requested + const containerHeight = container.clientHeight; + const lineTop = activeLine.offsetTop; + const lineHeight = activeLine.offsetHeight; + + // Target scroll position: + // Line Top - (Screen Height * 0.50) + (Half Line Height) + const targetScrollTop = lineTop - (containerHeight * 0.50) + (lineHeight / 2); + + container.scrollTo({ + top: targetScrollTop, + behavior: 'smooth' + }); + } + }, [activeIndex]); + + if (!track) return null; + + return ( +
+ {/* Header */} +
+
+

Lyrics

+

+ {track.artist} +

+
+ +
+ + {/* Lyrics Container */} +
+ {isLoading ? ( +
+
+
+ ) : lyrics.length === 0 ? ( +
+

Looks like we don't have lyrics for this song.

+

Enjoy the vibe!

+
+ ) : ( +
{/* Reverted to center padding, added max-width */} + {lyrics.map((line, index) => { + const isActive = index === activeIndex; + const isPast = index < activeIndex; + + return ( +
{ + if (onSeek) onSeek(line.time); + }} + > + {line.text} +
+ ); + })} +
+ )} +
+
+ ); +}; + +export default LyricsDetail; diff --git a/frontend/components/MobileNav.tsx b/frontend/components/MobileNav.tsx new file mode 100644 index 0000000..242db2a --- /dev/null +++ b/frontend/components/MobileNav.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { Home, Search, Library } from "lucide-react"; +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +export default function MobileNav() { + const pathname = usePathname(); + + const isActive = (path: string) => pathname === path; + + return ( +
+ + + Home + + + + + Search + + + + + Library + +
+ ); +} diff --git a/frontend/components/PlayerBar.tsx b/frontend/components/PlayerBar.tsx new file mode 100644 index 0000000..2b05993 --- /dev/null +++ b/frontend/components/PlayerBar.tsx @@ -0,0 +1,437 @@ +"use client"; + +import { Play, Pause, SkipBack, SkipForward, Repeat, Shuffle, Volume2, VolumeX, Download, Disc, PlusCircle, Mic2, Heart, Loader2, ListMusic, MonitorSpeaker, Maximize2 } from 'lucide-react'; +import { usePlayer } from "@/context/PlayerContext"; +import { useEffect, useRef, useState } from "react"; + +import TechSpecs from './TechSpecs'; +import AddToPlaylistModal from "@/components/AddToPlaylistModal"; +import LyricsDetail from './LyricsDetail'; + +export default function PlayerBar() { + const { currentTrack, isPlaying, isBuffering, togglePlay, setBuffering, likedTracks, toggleLike, nextTrack, prevTrack, shuffle, toggleShuffle, repeatMode, toggleRepeat, audioQuality } = usePlayer(); + const audioRef = useRef(null); + const [progress, setProgress] = useState(0); + const [duration, setDuration] = useState(0); + const [volume, setVolume] = useState(1); + + // Modal State + const [isAddToPlaylistOpen, setIsAddToPlaylistOpen] = useState(false); + const [isLyricsOpen, setIsLyricsOpen] = useState(false); + const [isTechSpecsOpen, setIsTechSpecsOpen] = useState(false); + const [isFullScreenPlayerOpen, setIsFullScreenPlayerOpen] = useState(false); + const [isCoverModalOpen, setIsCoverModalOpen] = useState(false); + + useEffect(() => { + if (currentTrack && audioRef.current && currentTrack.url) { + // Prevent reloading if URL hasn't changed + const isSameUrl = audioRef.current.src === currentTrack.url || + (currentTrack.url.startsWith('/') && audioRef.current.src.endsWith(currentTrack.url)) || + (audioRef.current.src.includes(currentTrack.id)); // Fallback for stream IDs + + if (isSameUrl) return; + + audioRef.current.src = currentTrack.url; + if (isPlaying) { + audioRef.current.play().catch(e => console.error("Play error:", e)); + } + } + }, [currentTrack?.url]); + + useEffect(() => { + if (audioRef.current) { + if (isPlaying) audioRef.current.play().catch(e => console.error("Play error:", e)); + else audioRef.current.pause(); + } + }, [isPlaying]); + + // Volume Effect + useEffect(() => { + if (audioRef.current) { + audioRef.current.volume = volume; + } + }, [volume]); + + const handleTimeUpdate = () => { + if (audioRef.current) { + setProgress(audioRef.current.currentTime); + if (!isNaN(audioRef.current.duration)) { + setDuration(audioRef.current.duration); + } + } + }; + + const handleSeek = (e: React.ChangeEvent) => { + const time = parseFloat(e.target.value); + if (audioRef.current) { + audioRef.current.currentTime = time; + setProgress(time); + } + }; + + const handleVolume = (e: React.ChangeEvent) => { + const vol = parseFloat(e.target.value); + setVolume(vol); + }; + + const handleDownload = () => { + if (!currentTrack) return; + const apiUrl = process.env.NEXT_PUBLIC_API_URL || ''; + const url = `${apiUrl}/api/download?id=${currentTrack.id}&title=${encodeURIComponent(currentTrack.title)}`; + window.open(url, '_blank'); + }; + + const formatTime = (time: number) => { + if (isNaN(time)) return "0:00"; + const minutes = Math.floor(time / 60); + const seconds = Math.floor(time % 60); + return `${minutes}:${seconds.toString().padStart(2, '0')}`; + }; + + return ( +
{ + // Mobile: Open Full Screen Player + if (window.innerWidth < 768) { + setIsFullScreenPlayerOpen(true); + } + }} + > +
+ ); +} diff --git a/frontend/components/Sidebar.tsx b/frontend/components/Sidebar.tsx new file mode 100644 index 0000000..6bd23d3 --- /dev/null +++ b/frontend/components/Sidebar.tsx @@ -0,0 +1,192 @@ +"use client"; + +import { Home, Search, Library, Plus, Heart } from "lucide-react"; +import Link from "next/link"; +import { usePlayer } from "@/context/PlayerContext"; +import { useState } from "react"; +import CreatePlaylistModal from "./CreatePlaylistModal"; +import { dbService } from "@/services/db"; +import { useLibrary } from "@/context/LibraryContext"; + +export default function Sidebar() { + const { likedTracks } = usePlayer(); + const { userPlaylists, libraryItems, refreshLibrary: refresh, activeFilter, setActiveFilter } = useLibrary(); + const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); + + const handleCreatePlaylist = async (name: string) => { + await dbService.createPlaylist(name); + refresh(); + }; + + const handleDeletePlaylist = async (e: React.MouseEvent, id: string) => { + e.preventDefault(); + e.stopPropagation(); + if (confirm("Delete this playlist?")) { + await dbService.deletePlaylist(id); + refresh(); + } + }; + + // Filtering Logic + const showPlaylists = activeFilter === 'all' || activeFilter === 'playlists'; + const showArtists = activeFilter === 'all' || activeFilter === 'artists'; + const showAlbums = activeFilter === 'all' || activeFilter === 'albums'; + + const artists = libraryItems.filter(i => i.type === 'Artist'); + const albums = libraryItems.filter(i => i.type === 'Album'); + const browsePlaylists = libraryItems.filter(i => i.type === 'Playlist'); + + return ( + + ); +} + diff --git a/frontend/components/TechSpecs.tsx b/frontend/components/TechSpecs.tsx new file mode 100644 index 0000000..b07046d --- /dev/null +++ b/frontend/components/TechSpecs.tsx @@ -0,0 +1,247 @@ +import { X, Activity, Zap, Server, ShieldCheck, Waves, Wifi, ArrowDown, ArrowUp } from "lucide-react"; +import { useEffect, useState, useRef } from "react"; + +interface AudioQuality { + format: string; + sampleRate: number; + bitDepth?: number; + bitrate: number; + channels: number; + codec?: string; +} + +interface TechSpecsProps { + isOpen: boolean; + onClose: () => void; + quality: AudioQuality | null; + trackTitle: string; +} + +export default function TechSpecs({ isOpen, onClose, quality, trackTitle }: TechSpecsProps) { + const [bitrateHistory, setBitrateHistory] = useState(new Array(40).fill(0)); + const [currentKbps, setCurrentKbps] = useState(0); + const [bufferHealth, setBufferHealth] = useState(100); + const [networkStats, setNetworkStats] = useState({ download: 0, upload: 0 }); + const canvasRef = useRef(null); + + // Simulate live bitrate fluctuation around the target bitrate + useEffect(() => { + if (!isOpen || !quality) return; + + const baseBitrate = quality.bitrate / 1000; // kbps + setCurrentKbps(baseBitrate); + setBitrateHistory(new Array(40).fill(baseBitrate)); + + const interval = setInterval(() => { + // Fluctuate +/- 5% + const fluctuation = baseBitrate * 0.05 * (Math.random() - 0.5); + const newValue = baseBitrate + fluctuation; + + setCurrentKbps(prev => newValue); + setBitrateHistory(prev => [...prev.slice(1), newValue]); + + // Random buffer fluctuation + setBufferHealth(prev => Math.min(100, Math.max(98, prev + (Math.random() - 0.5)))); + + // Simulate Network Traffic (Bursty Download, Consistent Upload) + setNetworkStats({ + download: Math.random() > 0.6 ? Math.floor(Math.random() * 2500) + 800 : 0, // kbps + upload: Math.floor(Math.random() * 40) + 10 // kbps + }); + + }, 100); + + return () => clearInterval(interval); + }, [isOpen, quality]); + + // Draw Graph + useEffect(() => { + const canvas = canvasRef.current; + if (!canvas || !quality) return; + + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + const width = canvas.width; + const height = canvas.height; + const baseBitrate = quality.bitrate / 1000; + const range = baseBitrate * 0.2; // Zoom in range + + ctx.clearRect(0, 0, width, height); + + // Gradient + const gradient = ctx.createLinearGradient(0, 0, 0, height); + gradient.addColorStop(0, 'rgba(74, 222, 128, 0.5)'); // Green-400 + gradient.addColorStop(1, 'rgba(74, 222, 128, 0)'); + + ctx.beginPath(); + ctx.moveTo(0, height); + + bitrateHistory.forEach((val, i) => { + const x = (i / (bitrateHistory.length - 1)) * width; + // Map value to height (inverted) + // min = base - range, max = base + range + const normalized = (val - (baseBitrate - range)) / (range * 2); + const y = height - (normalized * height); + ctx.lineTo(x, y); + }); + + ctx.lineTo(width, height); + ctx.closePath(); + ctx.fillStyle = gradient; + ctx.fill(); + + // Line + ctx.beginPath(); + bitrateHistory.forEach((val, i) => { + const x = (i / (bitrateHistory.length - 1)) * width; + const normalized = (val - (baseBitrate - range)) / (range * 2); + const y = height - (normalized * height); + if (i === 0) ctx.moveTo(x, y); + else ctx.lineTo(x, y); + }); + ctx.strokeStyle = '#4ade80'; + ctx.lineWidth = 2; + ctx.stroke(); + + }, [bitrateHistory, quality]); + + if (!isOpen) return null; + + return ( +
+
+ {/* Header */} +
+
+
+ +

AUDIO ENGINE

+
+

+ {quality ? 'DIRECT SOUND β€’ EXCLUSIVE MODE' : 'INITIALIZING...'} +

+
+ +
+ + {/* Content */} + {quality ? ( +
+ {/* Live Monitor */} +
+
+ Live Bitrate + + {currentKbps.toFixed(0)} kbps + +
+ +
+ + {/* Signal Path / Stats Grid */} +
+ {/* Source Stats */} +
+

Source

+
+
+ Codec + {quality.codec || quality.format} +
+
+ Sample Rate + {quality.sampleRate / 1000} kHz +
+
+ Bit Depth + {quality.bitDepth || 24}-bit +
+
+
+ + {/* Processing Stats */} +
+

Processing

+
+
+ Integrity + + Bit-Perfect + +
+
+ Dynamic Range + 14 dB (Est) +
+
+ Loudness + -14.2 LUFS +
+
+
+
+ + {/* Network & Buffer */} +
+ {/* Network Stream */} +
+
+ + Network Stream +
+
+ + + {networkStats.download > 0 ? (networkStats.download / 1000).toFixed(1) : '0.0'} MB/s + + + + {networkStats.upload} kbps + +
+
+ +
+
+ + Stream Buffer +
+ {bufferHealth.toFixed(1)}% +
+
+
+
+ +
+
+ + Output Device +
+ Default Audio Interface +
+
+ +
+ ) : ( +
+ HANDSHAKING WITH AUDIO CORE... +
+ )} + + {/* Footer */} +
+ Quantum Audio Engine v2.4.0 β€’ 64-bit Floating Point +
+
+
+ ); +} diff --git a/frontend/context/LibraryContext.tsx b/frontend/context/LibraryContext.tsx new file mode 100644 index 0000000..289d5db --- /dev/null +++ b/frontend/context/LibraryContext.tsx @@ -0,0 +1,144 @@ + +"use client"; + +import React, { createContext, useContext, useState, useEffect } from "react"; +import { dbService, Playlist } from "@/services/db"; +import { libraryService } from "@/services/library"; + +type FilterType = 'all' | 'playlists' | 'artists' | 'albums'; + +interface LibraryContextType { + userPlaylists: Playlist[]; + libraryItems: any[]; + activeFilter: FilterType; + setActiveFilter: (filter: FilterType) => void; + refreshLibrary: () => Promise; +} + +const LibraryContext = createContext(undefined); + +export function LibraryProvider({ children }: { children: React.ReactNode }) { + const [userPlaylists, setUserPlaylists] = useState([]); + const [libraryItems, setLibraryItems] = useState([]); + const [activeFilter, setActiveFilter] = useState('all'); + + const fetchAllData = async () => { + try { + // 1. User Playlists + const playlists = await dbService.getPlaylists(); + setUserPlaylists(playlists); + + // 2. Local/Backend Content + const browse = await libraryService.getBrowseContent(); + const browsePlaylists = Object.values(browse).flat(); + + const artistsMap = new Map(); + const albumsMap = new Map(); + const allTracks: any[] = []; + + // 3. Extract metadata + browsePlaylists.forEach((p: any) => { + if (p.tracks) { + p.tracks.forEach((t: any) => { + allTracks.push(t); + // Fake Artist + if (artistsMap.size < 40 && t.artist && t.artist !== 'Unknown Artist' && t.artist !== 'Unknown') { + if (!artistsMap.has(t.artist)) { + artistsMap.set(t.artist, { + id: `artist-${t.artist}`, + title: t.artist, + type: 'Artist', + cover_url: t.cover_url + }); + } + } + // Fake Album + if (albumsMap.size < 40 && t.album && t.album !== 'Single' && t.album !== 'Unknown Album') { + if (!albumsMap.has(t.album)) { + albumsMap.set(t.album, { + id: `album-${t.album}`, + title: t.album, + type: 'Album', + creator: t.artist, + cover_url: t.cover_url + }); + } + } + }); + } + }); + + // 4. Generate Fake Extra Playlists (Creative Names) + const fakePlaylists = [...browsePlaylists]; + const targetCount = 40; + const needed = targetCount - fakePlaylists.length; + + const creativeNames = [ + "Chill Vibes", "Late Night Focus", "Workout Energy", "Road Trip Classics", + "Indie Mix", "Pop Hits", "Throwback Thursday", "Weekend Flow", + "Deep Focus", "Party Anthems", "Jazz & Blues", "Acoustic Sessions", + "Morning Coffee", "Rainy Day", "Sleep Sounds", "Gaming Beats", + "Coding Mode", "Summer Hits", "Winter Lo-Fi", "Discover Weekly", + "Release Radar", "On Repeat", "Time Capsule", "Viral 50", + "Global Top 50", "Trending Now", "Fresh Finds", "Audiobook Mode", + "Podcast Favorites", "Rock Classics", "Metal Essentials", "Hip Hop Gold", + "Electronic Dreams", "Ambient Spaces", "Classical Masterpieces", "Country Roads" + ]; + + if (needed > 0 && allTracks.length > 0) { + const shuffle = (array: any[]) => array.sort(() => 0.5 - Math.random()); + + for (let i = 0; i < needed; i++) { + const shuffled = shuffle([...allTracks]); + const selected = shuffled.slice(0, 8 + Math.floor(Math.random() * 12)); + const cover = selected[0]?.cover_url; + const name = creativeNames[i] || `Daily Mix ${i + 1}`; + + fakePlaylists.push({ + id: `mix-${i}`, + title: name, + description: `Curated just for you β€’ ${selected.length} songs`, + cover_url: cover, + tracks: selected, + type: 'Playlist' + }); + } + } + + const uniqueItems = [ + ...fakePlaylists.map(p => ({ ...p, type: 'Playlist' })), + ...Array.from(artistsMap.values()), + ...Array.from(albumsMap.values()) + ]; + + setLibraryItems(uniqueItems); + + } catch (err) { + console.error(err); + } + }; + + useEffect(() => { + fetchAllData(); + }, []); + + return ( + + {children} + + ); +} + +export function useLibrary() { + const context = useContext(LibraryContext); + if (context === undefined) { + throw new Error("useLibrary must be used within a LibraryProvider"); + } + return context; +} diff --git a/frontend/context/PlayerContext.tsx b/frontend/context/PlayerContext.tsx new file mode 100644 index 0000000..9c5c9d1 --- /dev/null +++ b/frontend/context/PlayerContext.tsx @@ -0,0 +1,288 @@ +"use client"; + +import { createContext, useContext, useState, useEffect, ReactNode } from "react"; +import { dbService } from "@/services/db"; + +interface Track { + title: string; + artist: string; + album: string; + cover_url: string; + id: string; + url?: string; +} + +import * as mm from 'music-metadata-browser'; + +interface AudioQuality { + format: string; + sampleRate: number; + bitDepth?: number; + bitrate: number; + channels: number; + codec?: string; +} + +interface PlayerContextType { + currentTrack: Track | null; + isPlaying: boolean; + isBuffering: boolean; + likedTracks: Set; + likedTracksData: Track[]; + shuffle: boolean; + repeatMode: 'none' | 'all' | 'one'; + playTrack: (track: Track, queue?: Track[]) => void; + togglePlay: () => void; + nextTrack: () => void; + prevTrack: () => void; + toggleShuffle: () => void; + toggleRepeat: () => void; + setBuffering: (state: boolean) => void; + toggleLike: (track: Track) => void; + playHistory: Track[]; + audioQuality: AudioQuality | null; +} + +const PlayerContext = createContext(undefined); + +export function PlayerProvider({ children }: { children: ReactNode }) { + const [currentTrack, setCurrentTrack] = useState(null); + const [isPlaying, setIsPlaying] = useState(false); + const [isBuffering, setIsBuffering] = useState(false); + const [likedTracks, setLikedTracks] = useState>(new Set()); + const [likedTracksData, setLikedTracksData] = useState([]); + + // Audio Engine State + const [audioQuality, setAudioQuality] = useState(null); + const [preloadedBlobs, setPreloadedBlobs] = useState>(new Map()); + + // Queue State + const [queue, setQueue] = useState([]); + const [currentIndex, setCurrentIndex] = useState(-1); + const [shuffle, setShuffle] = useState(false); + const [repeatMode, setRepeatMode] = useState<'none' | 'all' | 'one'>('none'); + + // History State + const [playHistory, setPlayHistory] = useState([]); + + // Load Likes from DB + useEffect(() => { + dbService.getLikedSongs().then(tracks => { + setLikedTracks(new Set(tracks.map(t => t.id))); + setLikedTracksData(tracks); + }); + }, []); + + // Load History from LocalStorage + useEffect(() => { + try { + const saved = localStorage.getItem('playHistory'); + if (saved) { + setPlayHistory(JSON.parse(saved)); + } + } catch (e) { + console.error("Failed to load history", e); + } + }, []); + + // Save History + useEffect(() => { + localStorage.setItem('playHistory', JSON.stringify(playHistory)); + }, [playHistory]); + + // Metadata & Preloading Effect + useEffect(() => { + if (!currentTrack) return; + + // 1. Reset Quality + setAudioQuality(null); + + // 2. Parse Metadata for Current Track + const parseMetadata = async () => { + try { + // Skip metadata parsing for backend streams AND external URLs (YouTube) to avoid CORS/Double-fetch + if (currentTrack.url && (currentTrack.url.includes('/api/stream') || currentTrack.url.startsWith('http'))) { + setAudioQuality({ + format: 'WEBM/OPUS', // YT Music typically + sampleRate: 48000, + bitrate: 128000, + channels: 2, + codec: 'Opus' + }); + return; + } + + if (currentTrack.url) { + // Note: In a real scenario, we might need a proxy or CORS-enabled server. + // music-metadata-browser fetches the file. + const metadata = await mm.fetchFromUrl(currentTrack.url); + setAudioQuality({ + format: metadata.format.container || 'Unknown', + sampleRate: metadata.format.sampleRate || 44100, + bitDepth: metadata.format.bitsPerSample, + bitrate: metadata.format.bitrate || 0, + channels: metadata.format.numberOfChannels || 2, + codec: metadata.format.codec + }); + } + } catch (e) { + console.warn("Failed to parse metadata", e); + // Fallback mock if parsing fails (likely due to CORS on sample URL) + setAudioQuality({ + format: 'MP3', + sampleRate: 44100, + bitrate: 320000, + channels: 2, + codec: 'MPEG-1 Layer 3' + }); + } + }; + parseMetadata(); + + // 3. Smart Buffering (Preload Next 2 Tracks) + const preloadNext = async () => { + if (queue.length === 0) return; + const index = queue.findIndex(t => t.id === currentTrack.id); + if (index === -1) return; + + const nextTracks = queue.slice(index + 1, index + 3); + nextTracks.forEach(async (track) => { + if (!preloadedBlobs.has(track.id) && track.url) { + try { + // Construct the correct stream URL for preloading if it's external + const fetchUrl = track.url.startsWith('http') ? `/api/stream?id=${track.id}` : track.url; + + const res = await fetch(fetchUrl); + if (!res.ok) throw new Error("Fetch failed"); + const blob = await res.blob(); + const blobUrl = URL.createObjectURL(blob); + setPreloadedBlobs(prev => new Map(prev).set(track.id, blobUrl)); + console.log(`Buffered ${track.title}`); + } catch (e) { + // console.warn(`Failed to buffer ${track.title}`); + } + } + }); + }; + preloadNext(); + + }, [currentTrack, queue, preloadedBlobs]); + + + const playTrack = (track: Track, newQueue?: Track[]) => { + if (currentTrack?.id !== track.id) { + setIsBuffering(true); + + // Add to History (prevent duplicates at top) + setPlayHistory(prev => { + const filtered = prev.filter(t => t.id !== track.id); + return [track, ...filtered].slice(0, 20); // Keep last 20 + }); + } + setCurrentTrack(track); + setIsPlaying(true); + + if (newQueue) { + setQueue(newQueue); + const index = newQueue.findIndex(t => t.id === track.id); + setCurrentIndex(index); + } + }; + + const togglePlay = () => { + setIsPlaying((prev) => !prev); + }; + + const nextTrack = () => { + if (queue.length === 0) return; + + let nextIndex = currentIndex + 1; + if (shuffle) { + nextIndex = Math.floor(Math.random() * queue.length); + } else if (nextIndex >= queue.length) { + if (repeatMode === 'all') nextIndex = 0; + else return; // Stop if end of queue and no repeat + } + + playTrack(queue[nextIndex]); + setCurrentIndex(nextIndex); + }; + + const prevTrack = () => { + if (queue.length === 0) return; + let prevIndex = currentIndex - 1; + if (prevIndex < 0) prevIndex = 0; // Or wrap around if desired + playTrack(queue[prevIndex]); + setCurrentIndex(prevIndex); + }; + + const toggleShuffle = () => setShuffle(prev => !prev); + + const toggleRepeat = () => { + setRepeatMode(prev => { + if (prev === 'none') return 'all'; + if (prev === 'all') return 'one'; + return 'none'; + }); + }; + + const setBuffering = (state: boolean) => setIsBuffering(state); + + const toggleLike = async (track: Track) => { + const isNowLiked = await dbService.toggleLike(track); + + setLikedTracks(prev => { + const next = new Set(prev); + if (isNowLiked) next.add(track.id); + else next.delete(track.id); + return next; + }); + + setLikedTracksData(prev => { + if (!isNowLiked) { + return prev.filter(t => t.id !== track.id); + } else { + return [...prev, track]; + } + }); + }; + + const effectiveCurrentTrack = currentTrack ? { + ...currentTrack, + // improved URL logic: usage of backend API if no local blob + url: preloadedBlobs.get(currentTrack.id) || + (currentTrack.url && currentTrack.url.startsWith('/') ? currentTrack.url : `/api/stream?id=${currentTrack.id}`) + } : null; + + return ( + + {children} + + ); +} + +export function usePlayer() { + const context = useContext(PlayerContext); + if (context === undefined) { + throw new Error("usePlayer must be used within a PlayerProvider"); + } + return context; +} diff --git a/frontend/env_template b/frontend/env_template new file mode 100644 index 0000000..72141b4 --- /dev/null +++ b/frontend/env_template @@ -0,0 +1,4 @@ +SPOTIFY_CLIENT_ID=your_client_id_here +SPOTIFY_CLIENT_SECRET=your_client_secret_here +NEXTAUTH_URL=http://localhost:3000 +NEXTAUTH_SECRET=changeme_to_a_random_string_openssl_rand_base64_32 diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs new file mode 100644 index 0000000..05e726d --- /dev/null +++ b/frontend/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/frontend/hooks/useLibraryData.ts b/frontend/hooks/useLibraryData.ts new file mode 100644 index 0000000..69d97d3 --- /dev/null +++ b/frontend/hooks/useLibraryData.ts @@ -0,0 +1,116 @@ + +import { useState, useEffect } from 'react'; +import { dbService, Playlist } from '@/services/db'; +import { libraryService } from '@/services/library'; + +export function useLibraryData() { + const [userPlaylists, setUserPlaylists] = useState([]); + const [libraryItems, setLibraryItems] = useState([]); + + const fetchAllData = async () => { + try { + // 1. User Playlists + const playlists = await dbService.getPlaylists(); + setUserPlaylists(playlists); + + // 2. Local/Backend Content + const browse = await libraryService.getBrowseContent(); + const browsePlaylists = Object.values(browse).flat(); + + const artistsMap = new Map(); + const albumsMap = new Map(); + const allTracks: any[] = []; + + // 3. Extract metadata and flattening tracks + browsePlaylists.forEach((p: any) => { + if (p.tracks) { + p.tracks.forEach((t: any) => { + allTracks.push(t); + // Fake Artist + if (artistsMap.size < 40 && t.artist && t.artist !== 'Unknown Artist' && t.artist !== 'Unknown') { + if (!artistsMap.has(t.artist)) { + artistsMap.set(t.artist, { + id: `artist-${t.artist}`, + title: t.artist, + type: 'Artist', + cover_url: t.cover_url + }); + } + } + // Fake Album + if (albumsMap.size < 40 && t.album && t.album !== 'Single' && t.album !== 'Unknown Album') { + if (!albumsMap.has(t.album)) { + albumsMap.set(t.album, { + id: `album-${t.album}`, + title: t.album, + type: 'Album', + creator: t.artist, + cover_url: t.cover_url + }); + } + } + }); + } + }); + + const creativeNames = [ + "Chill Vibes", "Late Night Focus", "Workout Energy", "Road Trip Classics", + "Indie Mix", "Pop Hits", "Throwback Thursday", "Weekend Flow", + "Deep Focus", "Party Anthems", "Jazz & Blues", "Acoustic Sessions", + "Morning Coffee", "Rainy Day", "Sleep Sounds", "Gaming Beats", + "Coding Mode", "Summer Hits", "Winter Lo-Fi", "Discover Weekly", + "Release Radar", "On Repeat", "Time Capsule", "Viral 50", + "Global Top 50", "Trending Now", "Fresh Finds", "Audiobook Mode", + "Podcast Favorites", "Rock Classics", "Metal Essentials", "Hip Hop Gold", + "Electronic Dreams", "Ambient Spaces", "Classical Masterpieces", "Country Roads" + ]; + + // 4. Generate Fake Extra Playlists if needed (Target ~40 total) + const fakePlaylists = [...browsePlaylists]; + const targetCount = 40; + const needed = targetCount - fakePlaylists.length; + + if (needed > 0 && allTracks.length > 0) { + // Shuffle utility + const shuffle = (array: any[]) => array.sort(() => 0.5 - Math.random()); + + for (let i = 0; i < needed; i++) { + const shuffled = shuffle([...allTracks]); + const selected = shuffled.slice(0, 8 + Math.floor(Math.random() * 12)); // 8-20 tracks + const cover = selected[0]?.cover_url; + + const name = creativeNames[i] || `Daily Mix ${i + 1}`; + + fakePlaylists.push({ + id: `mix-${i}`, + title: name, + description: `Curated just for you β€’ ${selected.length} songs`, + cover_url: cover, + tracks: selected, + type: 'Playlist' + }); + } + } + + // Dedupe Playlists (just in case) + // const uniquePlaylists = Array.from(new Map(fakePlaylists.map(p => [p.id, p])).values()); + + const uniqueItems = [ + ...fakePlaylists.map(p => ({ ...p, type: 'Playlist' })), + ...Array.from(artistsMap.values()), + ...Array.from(albumsMap.values()) + ]; + + setLibraryItems(uniqueItems); + + } catch (err) { + console.error(err); + } + }; + + useEffect(() => { + fetchAllData(); + }, []); + + return { userPlaylists, libraryItems, refresh: fetchAllData }; +} diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs new file mode 100644 index 0000000..930bb7e --- /dev/null +++ b/frontend/next.config.mjs @@ -0,0 +1,50 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + // strict mode true is default but good to be explicit + reactStrictMode: true, + eslint: { + ignoreDuringBuilds: true, + }, + typescript: { + ignoreBuildErrors: true, + }, + async rewrites() { + return [ + // Backend API Proxies (Specific, so we don't block NextAuth at /api/auth) + { source: '/api/browse/:path*', destination: 'http://127.0.0.1:8000/api/browse/:path*' }, + { source: '/api/playlists/:path*', destination: 'http://127.0.0.1:8000/api/playlists/:path*' }, + { source: '/api/search/:path*', destination: 'http://127.0.0.1:8000/api/search/:path*' }, + { source: '/api/stream/:path*', destination: 'http://127.0.0.1:8000/api/stream/:path*' }, + { source: '/api/download/:path*', destination: 'http://127.0.0.1:8000/api/download/:path*' }, + { source: '/api/download-status/:path*', destination: 'http://127.0.0.1:8000/api/download-status/:path*' }, + { source: '/api/lyrics/:path*', destination: 'http://127.0.0.1:8000/api/lyrics/:path*' }, + { source: '/api/trending/:path*', destination: 'http://127.0.0.1:8000/api/trending/:path*' }, + ]; + }, + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: 'i.ytimg.com', + }, + { + protocol: 'https', + hostname: 'lh3.googleusercontent.com', + }, + { + protocol: 'https', + hostname: 'placehold.co', + }, + { + protocol: 'https', + hostname: 'images.unsplash.com', + }, + { + protocol: 'https', + hostname: 'misc.scdn.co', + }, + ], + }, +}; + +export default nextConfig; diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..e968fb6 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,6893 @@ +{ + "name": "frontend", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.1.0", + "dependencies": { + "autoprefixer": "^10.4.23", + "idb": "^8.0.3", + "lucide-react": "^0.561.0", + "music-metadata-browser": "^2.5.11", + "next": "^14.2.0", + "postcss": "^8.5.6", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "^14.2.0", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emnapi/core": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", + "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.0.tgz", + "integrity": "sha512-4+70ELtSbRtYUuyRpAJmKC8NHBW2x1HMje9KO2Xd7IkoyucmV9SjgO+qeWMC0JWkRQXgydv1O7yKOK8nu/rITQ==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.0.tgz", + "integrity": "sha512-QkM01VPhwcupezVevy9Uyl1rmpg2PimhMjkb+ySmnPgSKUUM/PGGRQxdFgMpHv/JzQoC8kRySgKeM441GiizcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.0.tgz", + "integrity": "sha512-kHktLlw0AceuDnkVljJ/4lTJagLzDiO3klR1Fzl2APDFZ8r+aTxNaNcPmpp0xLMkgRwwk6sggYeqq0Rz9K4zzA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.0.tgz", + "integrity": "sha512-HFSDu7lb1U3RDxXNeKH3NGRR5KyTPBSUTuIOr9jXoAso7i76gNYvnTjbuzGVWt2X5izpH908gmOYWtI7un+JrA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.0.tgz", + "integrity": "sha512-iQsoWziO5ZMxDWZ4ZTCAc7hbJ1C9UDj/gATSqTaMjW2bJFwAsvf9UM79AKnljBl73uPZ+V0kH4rvnHTco4Ps2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.0.tgz", + "integrity": "sha512-0JOk2uzLUt8fJK5LpsKKZa74zAch7bJjjgJzR9aOMs231AlE4gPYzsSm430ckZitjPGKeH5bgDZjqwqJQKIS2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.0.tgz", + "integrity": "sha512-uYHkuTzX0NM6biKNp7hdKTf+BF0iMV254SxO0B8PgrQkxUBKGmk5ysHKB+FYBfdf9xei/t8OIKlXJs9ckD943A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.0.tgz", + "integrity": "sha512-paN89nLs2dTBDtfXWty1/NVPit+q6ldwdktixYSVwiiAz647QDCd+EIYqoiS+/rPG3oXs/A7rWcJK9HVqfnMVg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.0.tgz", + "integrity": "sha512-j1oiidZisnymYjawFqEfeGNcE22ZQ7lGUaa4pGOCVWrWeIDkPSj8zYgS9TzMNlg17Q3wSWCQC/F5uJAhSh7qcA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.0.tgz", + "integrity": "sha512-6ff6F4xb+QGD1jhx/dOT9Ot7PQ/GAYekV9ykwEh2EFS/cLTyU4Y3cXkX5cNtNIhpctS5NvyjW9gIksRNErYE0A==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.0.tgz", + "integrity": "sha512-09DbG5vXAxz0eTFSf1uebWD36GF3D5toynRkgo2AlSrxwGZkWtJ1RhmrczRYQ17eD5bdo4FZ0ibiffdq5kc4vg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", + "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/node/node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", + "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "postcss": "^8.4.41", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/postcss/node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", + "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", + "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", + "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", + "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", + "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", + "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.7.tgz", + "integrity": "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.0.tgz", + "integrity": "sha512-N0eQkn/wz557mIpW4JQWGEv4wGU8zvJ7emLHMS15uC18jjaU4kx6leR4U9QYT/eNghUZT7N9lBlfd8E4N0cp1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "14.2.0", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-type": { + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "license": "MIT", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/idb": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/idb/-/idb-8.0.3.tgz", + "integrity": "sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==", + "license": "ISC" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/lucide-react": { + "version": "0.561.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.561.0.tgz", + "integrity": "sha512-Y59gMY38tl4/i0qewcqohPdEbieBy7SovpBL9IFebhc2mDd8x4PZSOsiFRkpPcOq6bj1r/mjH/Rk73gSlIJP2A==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/music-metadata": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-7.14.0.tgz", + "integrity": "sha512-xrm3w7SV0Wk+OythZcSbaI8mcr/KHd0knJieu8bVpaPfMv/Agz5EooCAPz3OR5hbYMiUG6dgAPKZKnMzV+3amA==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "content-type": "^1.0.5", + "debug": "^4.3.4", + "file-type": "^16.5.4", + "media-typer": "^1.1.0", + "strtok3": "^6.3.0", + "token-types": "^4.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/music-metadata-browser": { + "version": "2.5.11", + "resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-2.5.11.tgz", + "integrity": "sha512-Khq5nYapffIet0PUVb5J69pZPgqgn+/yoEr0jkO/OjH5xwfdz6rdwj0zsWPaqo3ylv+OthXoGjT6EegVHbMkJQ==", + "deprecated": "No longer support, superseded by music-metadata", + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "debug": "^4.3.4", + "music-metadata": "^7.13.3", + "readable-stream": "^4.3.0", + "readable-web-to-node-stream": "^3.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.0.tgz", + "integrity": "sha512-2T41HqJdKPqheR27ll7MFZ3gtTYvGew7cUc0PwPSyK9Ao5vvwpf9bYfP4V5YBGLckHF2kEGvrLte5BqLSv0s8g==", + "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.0", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.0", + "@next/swc-darwin-x64": "14.2.0", + "@next/swc-linux-arm64-gnu": "14.2.0", + "@next/swc-linux-arm64-musl": "14.2.0", + "@next/swc-linux-x64-gnu": "14.2.0", + "@next/swc-linux-x64-musl": "14.2.0", + "@next/swc-win32-arm64-msvc": "14.2.0", + "@next/swc-win32-ia32-msvc": "14.2.0", + "@next/swc-win32-x64-msvc": "14.2.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/peek-readable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", + "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz", + "integrity": "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^4.7.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", + "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-types": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", + "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..057b05e --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,31 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "autoprefixer": "^10.4.23", + "idb": "^8.0.3", + "lucide-react": "^0.561.0", + "music-metadata-browser": "^2.5.11", + "next": "^14.2.0", + "postcss": "^8.5.6", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "^14.2.0", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..67cdf1a --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/frontend/postcss.config.mjs b/frontend/postcss.config.mjs new file mode 100644 index 0000000..61e3684 --- /dev/null +++ b/frontend/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/frontend/public/file.svg b/frontend/public/file.svg new file mode 100644 index 0000000..004145c --- /dev/null +++ b/frontend/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/globe.svg b/frontend/public/globe.svg new file mode 100644 index 0000000..567f17b --- /dev/null +++ b/frontend/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/icons/icon-192x192.png b/frontend/public/icons/icon-192x192.png new file mode 100644 index 0000000..8fd8414 Binary files /dev/null and b/frontend/public/icons/icon-192x192.png differ diff --git a/frontend/public/icons/icon-512x512.png b/frontend/public/icons/icon-512x512.png new file mode 100644 index 0000000..319f801 Binary files /dev/null and b/frontend/public/icons/icon-512x512.png differ diff --git a/frontend/public/library.json b/frontend/public/library.json new file mode 100644 index 0000000..dfcafce --- /dev/null +++ b/frontend/public/library.json @@ -0,0 +1,548 @@ +{ + "id": "PLpY7hx7jry7zc4zspi_fBhWQt8z5jrJ8z", + "title": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)", + "description": "Best Vietnamese Songs 2025 - Popular Vietnamese Songs 2025 Playlist (Top Vietnamese Music 2025-2026)\n\nIf you liked this playlist, we recommend you also listen to these music lists:\n\n1. Most Popular Vietnamese Songs 2025 - Best of Vietnamese Music 2025 Playlist (Famous Vietnamese Songs 2025-2026) - https://goplaylists.com/56624\n2. New Vietnamese Songs 2025 - Latest Vietnamese Song 2025 Playlist (New Vietnam Music 2025-2026) - https://goplaylists.com/13081\n\nFind our playlist with these keywords: popular vietnamese songs 2025, top vietnamese songs 2025, best vietnamese music 2025, vietnam music playlist, top vietnamese music 2025, vietnam playlist 2025, vietnamese songs 2025, popular, vietnamese songs, vietnam playlist music, best vietnamese songs 2025, vietnamese playlist 2025, vietnamese hits 2025, vietnamese songs, top vietnam music 2025, vietnam song playlist, top 10 vietnamese songs, vietnam music chart 2025, vietnamese song trends\n\nDive deep into the mesmerizing world of Vietnamese music with a curated collection of the year's most compelling tracks. Experience the rhythm, the emotion, and the soulful voices of Vietnam's top artists. Each song has been handpicked to represent the heartbeat of Vietnam's contemporary music scene, bringing to you an array of melodies that resonate with the beauty and culture of this enchanting nation. Whether you're a longtime fan or a newcomer to Vietnamese tunes, this selection is bound to captivate your senses and take you on an unforgettable musical journey \ud83c\udfb5.\n\nIn the next year, the playlist is going to be titled: Best Vietnamese Songs 2026 - Popular Vietnamese Songs 2026 Playlist (Top Vietnamese Music 2026-2027)\n Last year, the playlist was titled: Best Vietnamese Songs 2024 - Popular Vietnamese Songs 2024 Playlist (Top Vietnamese Music 2024-2025)\n\nShare your thoughts on our playlist: contact@red-music.com", + "cover_url": "https://yt3.googleusercontent.com/JaOpEjRt9S4wYkuVMkbu_2NLadP4vtUfQIpUlfob8mgB3CuoX8AsAJ24tAtbNRXGD2AkekLlbkiU=s1200", + "tracks": [ + { + "title": "Kh\u00f3a Ly Bi\u1ec7t (feat. Anh T\u00fa)", + "artist": "The Masked Singer", + "album": "Single", + "duration": 327, + "cover_url": "https://i.ytimg.com/vi/wEPX3V5T63M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kG4sf2WSe1cO3TUeSG4cyGdPXJFg", + "id": "wEPX3V5T63M", + "url": "https://music.youtube.com/watch?v=wEPX3V5T63M" + }, + { + "title": "T\u1eebng Ng\u00e0y Y\u00eau Em", + "artist": "buitruonglinh", + "album": "Single", + "duration": 222, + "cover_url": "https://i.ytimg.com/vi/f-VsoLm4i5c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3loMnKS_mCSDRyYu9wS_TYnA0NAgQ", + "id": "f-VsoLm4i5c", + "url": "https://music.youtube.com/watch?v=f-VsoLm4i5c" + }, + { + "title": "M\u1ea5t K\u1ebft N\u1ed1i", + "artist": "D\u01b0\u01a1ng Domic", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/lRsaDQtYqAo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mvidflzqRlL9xdJeDUXZJg_UESRw", + "id": "lRsaDQtYqAo", + "url": "https://music.youtube.com/watch?v=lRsaDQtYqAo" + }, + { + "title": "m\u1ed9t \u0111\u1eddi (feat. buitruonglinh)", + "artist": "Bon Nghi\u00eam, 14 Casper", + "album": "Single", + "duration": 329, + "cover_url": "https://i.ytimg.com/vi/JgTZvDbaTtg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEKS8TNud8_GWknaWc0IQEQWBTgw", + "id": "JgTZvDbaTtg", + "url": "https://music.youtube.com/watch?v=JgTZvDbaTtg" + }, + { + "title": "V\u00f9ng An To\u00e0n", + "artist": "V#, B Ray", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/_XX248bq6Pw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nKfVzeukJ8dCNJ_hzcyZAsvJ8upg", + "id": "_XX248bq6Pw", + "url": "https://music.youtube.com/watch?v=_XX248bq6Pw" + }, + { + "title": "Qu\u00e2n A.P | C\u00f3 Ai H\u1eb9n H\u00f2 C\u00f9ng Em Ch\u01b0a", + "artist": "Qu\u00e2n A.P", + "album": "Single", + "duration": 319, + "cover_url": "https://i.ytimg.com/vi/zHDECJy0p7k/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWDqcf0SVJtIipbWQqltt3cNu6eQ", + "id": "zHDECJy0p7k", + "url": "https://music.youtube.com/watch?v=zHDECJy0p7k" + }, + { + "title": "b\u00ecnh y\u00ean - V\u0169. (feat. Binz)", + "artist": "V\u0169., Binz", + "album": "Single", + "duration": 203, + "cover_url": "https://i.ytimg.com/vi/f9P7_qWrf38/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kI5gsa8Jegzzu2vFpJBhLk58mGeg", + "id": "f9P7_qWrf38", + "url": "https://music.youtube.com/watch?v=f9P7_qWrf38" + }, + { + "title": "n\u1ebfu l\u00fac \u0111\u00f3 (feat. 2pillz)", + "artist": "Tlinh", + "album": "Single", + "duration": 325, + "cover_url": "https://i.ytimg.com/vi/fyMgBQioTLo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kNXGGAK5wy2ix4mQ1pNwlGLYUg0Q", + "id": "fyMgBQioTLo", + "url": "https://music.youtube.com/watch?v=fyMgBQioTLo" + }, + { + "title": "\u0110\u1eebng L\u00e0m Tr\u00e1i Tim Anh \u0110au", + "artist": "S\u01a1n T\u00f9ng M-TP", + "album": "Single", + "duration": 326, + "cover_url": "https://i.ytimg.com/vi/abPmZCZZrFA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nMzmdGlrfqmf8o9z-E5waTnqFXxA", + "id": "abPmZCZZrFA", + "url": "https://music.youtube.com/watch?v=abPmZCZZrFA" + }, + { + "title": "N\u1ed7i \u0110au Gi\u1eefa H\u00f2a B\u00ecnh", + "artist": "H\u00f2a Minzy, Nguyen Van Chung", + "album": "Single", + "duration": 454, + "cover_url": "https://i.ytimg.com/vi/yHikkFeIHNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhpsSG0tDGSBKkAK1X81aY1nrfgg", + "id": "yHikkFeIHNA", + "url": "https://music.youtube.com/watch?v=yHikkFeIHNA" + }, + { + "title": "10 Shots", + "artist": "Dax", + "album": "Single", + "duration": 233, + "cover_url": "https://i.ytimg.com/vi/0XMFwdfMQmQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3napt1cPSL4BTo7SSeDyrRUU7XF0Q", + "id": "0XMFwdfMQmQ", + "url": "https://music.youtube.com/watch?v=0XMFwdfMQmQ" + }, + { + "title": "Ch\u0103m Hoa", + "artist": "MONO", + "album": "Single", + "duration": 260, + "cover_url": "https://i.ytimg.com/vi/WCm2elbTEZQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kW5xCqL0V0Q9miffXVKmSRnn3S8A", + "id": "WCm2elbTEZQ", + "url": "https://music.youtube.com/watch?v=WCm2elbTEZQ" + }, + { + "title": "id 072019", + "artist": "W/n", + "album": "Single", + "duration": 303, + "cover_url": "https://i.ytimg.com/vi/leJb3VhQCrg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nWBTudc9VK3UqnpCgc_j8QYH3ugg", + "id": "leJb3VhQCrg", + "url": "https://music.youtube.com/watch?v=leJb3VhQCrg" + }, + { + "title": "Gi\u1edd Th\u00ec", + "artist": "buitruonglinh", + "album": "Single", + "duration": 238, + "cover_url": "https://i.ytimg.com/vi/69ZDBWoj5YM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3krSRZmxC0XjjdQN0wwPoZbJ-unGQ", + "id": "69ZDBWoj5YM", + "url": "https://music.youtube.com/watch?v=69ZDBWoj5YM" + }, + { + "title": "ERIK - 'D\u00f9 cho t\u1eadn th\u1ebf (v\u1eabn y\u00eau em)' | Official MV | Valentine 2025", + "artist": "ERIK", + "album": "Single", + "duration": 301, + "cover_url": "https://i.ytimg.com/vi/js6JBdLzNn4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nh_ITbZeDs1TJfrWuPEim8MKpj9g", + "id": "js6JBdLzNn4", + "url": "https://music.youtube.com/watch?v=js6JBdLzNn4" + }, + { + "title": "Ng\u00e0y Mai Ng\u01b0\u1eddi Ta L\u1ea5y Ch\u1ed3ng", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 421, + "cover_url": "https://i.ytimg.com/vi/WL11bwvAYWI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3l10haMFB1HcY7p5muA1kJL5tz1cA", + "id": "WL11bwvAYWI", + "url": "https://music.youtube.com/watch?v=WL11bwvAYWI" + }, + { + "title": "B\u1ea7u Tr\u1eddi M\u1edbi (feat. Minh Toc)", + "artist": "Da LAB", + "album": "Single", + "duration": 291, + "cover_url": "https://i.ytimg.com/vi/Z1D26z9l8y8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k34PODWHnu_p49YHu35__8V-4avw", + "id": "Z1D26z9l8y8", + "url": "https://music.youtube.com/watch?v=Z1D26z9l8y8" + }, + { + "title": "C\u00e1nh Hoa H\u00e9o T\u00e0n (DJ Trang Moon Remix)", + "artist": "ACV, Mochiii", + "album": "Single", + "duration": 265, + "cover_url": "https://i.ytimg.com/vi/YizrmzMvr7Q/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3luIG3PhCNjJlZjuCRBwAKKrMPt9Q", + "id": "YizrmzMvr7Q", + "url": "https://music.youtube.com/watch?v=YizrmzMvr7Q" + }, + { + "title": "SOOBIN - gi\u00e1 nh\u01b0 | 'B\u1eacT N\u00d3 L\u00caN' Album (Music Video)", + "artist": "SOOBIN", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/SeWt7IpZ0CA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lYIMR-uDbHo5-B3GO0z5XPqKIcaQ", + "id": "SeWt7IpZ0CA", + "url": "https://music.youtube.com/watch?v=SeWt7IpZ0CA" + }, + { + "title": "Vuon Hoa Con Ca", + "artist": "Olew", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/BFflHDlTeHw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nA_WhH_ZnanoXMGeQ-4d4hYSUbUg", + "id": "BFflHDlTeHw", + "url": "https://music.youtube.com/watch?v=BFflHDlTeHw" + }, + { + "title": "G\u1eb7p L\u1ea1i N\u0103m Ta 60", + "artist": "Orange", + "album": "Single", + "duration": 337, + "cover_url": "https://i.ytimg.com/vi/ZXNrz72k1ew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kqqJWC4ogBjc4u12JzCHk2YMBKWA", + "id": "ZXNrz72k1ew", + "url": "https://music.youtube.com/watch?v=ZXNrz72k1ew" + }, + { + "title": "You're The Problem", + "artist": "Dax", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/-kA2ReyByZU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kg2w-R3-05ocVT0g03RyIQJ41F4Q", + "id": "-kA2ReyByZU", + "url": "https://music.youtube.com/watch?v=-kA2ReyByZU" + }, + { + "title": "SOOBIN - Dancing In The Dark | 'B\u1eacT N\u00d3 L\u00caN' Album", + "artist": "SOOBIN", + "album": "Single", + "duration": 279, + "cover_url": "https://i.ytimg.com/vi/OZmK0YuSmXU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mBF8aJUqrrJIQduCkE_BAGkeucDA", + "id": "OZmK0YuSmXU", + "url": "https://music.youtube.com/watch?v=OZmK0YuSmXU" + }, + { + "title": "Lao T\u00e2m Kh\u1ed5 T\u1ee9", + "artist": "Thanh H\u01b0ng", + "album": "Single", + "duration": 348, + "cover_url": "https://i.ytimg.com/vi/TfKOFRpqSME/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n85vMTLZIA2MAj83vqnYk4pomt0Q", + "id": "TfKOFRpqSME", + "url": "https://music.youtube.com/watch?v=TfKOFRpqSME" + }, + { + "title": "N\u1ea5u \u0102n Cho Em (feat. PIALINH)", + "artist": "\u0110en", + "album": "Single", + "duration": 257, + "cover_url": "https://i.ytimg.com/vi/ukHK1GVyr0I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nD2JOikDSq_cCeBaG-VH6LBYriJg", + "id": "ukHK1GVyr0I", + "url": "https://music.youtube.com/watch?v=ukHK1GVyr0I" + }, + { + "title": "T\u1ebft B\u00ecnh An Remix, Hana C\u1ea9m Ti\u00ean, \u0110\u1ea1i M\u00e8o | M\u1ed9t N\u0103m C\u0169 \u0110\u00e3 Qua C\u00f9ng Nhau \u0110\u00f3n N\u0103m M\u1edbi B\u00ecnh An Mu\u00f4n Nh\u00e0", + "artist": "BD Media Music", + "album": "Single", + "duration": 227, + "cover_url": "https://i.ytimg.com/vi/fMskPmI4tp0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m8nsW6nX2B8BJf4gsU36uDsmDCgw", + "id": "fMskPmI4tp0", + "url": "https://music.youtube.com/watch?v=fMskPmI4tp0" + }, + { + "title": "T\u1eebng L\u00e0", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 277, + "cover_url": "https://i.ytimg.com/vi/i4qZmKSFYvI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kLaE-0VAlEfGQRlKBACGiK0w0WDw", + "id": "i4qZmKSFYvI", + "url": "https://music.youtube.com/watch?v=i4qZmKSFYvI" + }, + { + "title": "N\u01a1i Ph\u00e1o Hoa R\u1ef1c R\u1ee1 (feat. C\u1ea9m V\u00e2n)", + "artist": "Hua Kim Tuyen, Orange, Ho\u00e0ng D\u0169ng", + "album": "Single", + "duration": 310, + "cover_url": "https://i.ytimg.com/vi/BgUFNi5MvzE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mGOmc3dRUaQczZnhubm_nb8Gs_Uw", + "id": "BgUFNi5MvzE", + "url": "https://music.youtube.com/watch?v=BgUFNi5MvzE" + }, + { + "title": "Ng\u01b0\u1eddi B\u00ecnh Th\u01b0\u1eddng", + "artist": "V\u0169 C\u00e1t T\u01b0\u1eddng", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/X5KvHXWPYm4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lPWTFBiFDjAliZkS614MkwVcte1g", + "id": "X5KvHXWPYm4", + "url": "https://music.youtube.com/watch?v=X5KvHXWPYm4" + }, + { + "title": "C\u00f3 Em L\u00e0 \u0110i\u1ec1u Tuy\u1ec7t V\u1eddi Nh\u1ea5t (Th\u1ecbnh H\u00e0nh)", + "artist": "Thi\u00ean T\u00fa", + "album": "Single", + "duration": 371, + "cover_url": "https://i.ytimg.com/vi/IenfKDtyMI0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nbyyByYoJQ2qV7-2w4S6Gyofj9dQ", + "id": "IenfKDtyMI0", + "url": "https://music.youtube.com/watch?v=IenfKDtyMI0" + }, + { + "title": "Nh\u1eefng L\u1eddi H\u1ee9a B\u1ecf Qu\u00ean", + "artist": "V\u0169., Dear Jane", + "album": "Single", + "duration": 259, + "cover_url": "https://i.ytimg.com/vi/h6RONxjPBf4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfvRCueWOo-OjD8_3sK9HSlhvoSw", + "id": "h6RONxjPBf4", + "url": "https://music.youtube.com/watch?v=h6RONxjPBf4" + }, + { + "title": "m\u1ed9t b\u00e0i h\u00e1t kh\u00f4ng vui m\u1ea5y (Extended Version)", + "artist": "T.R.I, Dangrangto, DONAL", + "album": "Single", + "duration": 230, + "cover_url": "https://i.ytimg.com/vi/EvPEeSBfB3E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kvhX3tBQICPMgOEn0R9uswYvdC5A", + "id": "EvPEeSBfB3E", + "url": "https://music.youtube.com/watch?v=EvPEeSBfB3E" + }, + { + "title": "One Time", + "artist": "Raw Dawg", + "album": "Single", + "duration": 119, + "cover_url": "https://i.ytimg.com/vi/ylh1oDhP2AE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lRAtyI5EucwyXxXGb9YLfFY2W6aQ", + "id": "ylh1oDhP2AE", + "url": "https://music.youtube.com/watch?v=ylh1oDhP2AE" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, Antransax (Official Audio)", + "artist": "MIN", + "album": "Single", + "duration": 284, + "cover_url": "https://i.ytimg.com/vi/rLNvDu59ffI/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfhSKyeyGqrokp13H6G7C1rNvKLg", + "id": "rLNvDu59ffI", + "url": "https://music.youtube.com/watch?v=rLNvDu59ffI" + }, + { + "title": "Ng\u01b0\u1eddi \u0110\u1ea7u Ti\u00ean", + "artist": "Juky San, buitruonglinh", + "album": "Single", + "duration": 220, + "cover_url": "https://i.ytimg.com/vi/i54avTdUqwU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3klVzmY8CCpa5CLEP3BIema5Lhgyw", + "id": "i54avTdUqwU", + "url": "https://music.youtube.com/watch?v=i54avTdUqwU" + }, + { + "title": "MIN - ch\u1eb3ng ph\u1ea3i t\u00ecnh \u0111\u1ea7u sao \u0111au \u0111\u1ebfn th\u1ebf feat. Dangrangto, antransax (Official Visual Stage)", + "artist": "MIN OFFICIAL", + "album": "Single", + "duration": 288, + "cover_url": "https://i.ytimg.com/vi/s0OMNH-N5D8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_uFbHN8ud3zNWnb5hdzcYLhUgWA", + "id": "s0OMNH-N5D8", + "url": "https://music.youtube.com/watch?v=s0OMNH-N5D8" + }, + { + "title": "Em", + "artist": "Binz", + "album": "Single", + "duration": 208, + "cover_url": "https://i.ytimg.com/vi/CU2PtRKBkuw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mnGQ84aQvDmEMNCd5m6b-_pyKbUg", + "id": "CU2PtRKBkuw", + "url": "https://music.youtube.com/watch?v=CU2PtRKBkuw" + }, + { + "title": "HO\u1ea0 S\u0128 T\u1ed2I - TH\u00c1I H\u1eccC x \u0110\u1ea0T MAX | Official MV | Anh v\u1ebd c\u1ea7u v\u1ed3ng th\u00ec l\u1ea1i thi\u1ebfu n\u1eafng", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/RF0jYdTXQK4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nAfOOBrWfNICLXduP5GPktAPARCg", + "id": "RF0jYdTXQK4", + "url": "https://music.youtube.com/watch?v=RF0jYdTXQK4" + }, + { + "title": "T\u00ecnh Nh\u01b0 L\u00e1 Bay Xa (Live)", + "artist": "Jimmy Nguyen, M\u1ef8 T\u00c2M", + "album": "Single", + "duration": 273, + "cover_url": "https://i.ytimg.com/vi/gxPoI_tldfQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nQp0dsN1t1shvvjBq0A2m-EyfvBg", + "id": "gxPoI_tldfQ", + "url": "https://music.youtube.com/watch?v=gxPoI_tldfQ" + }, + { + "title": "Kh\u1ed5ng Minh x Ch\u00e2u Nhu\u1eadn Ph\u00e1t - ''E L\u00c0 \u0110\u00d4N CH\u1ec0'' Prod.@tiengaz", + "artist": "Dagoats House", + "album": "Single", + "duration": 191, + "cover_url": "https://i.ytimg.com/vi/K01LvulhFRg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8fN2PiGDRGtGv0VZMp_OOW2kBoQ", + "id": "K01LvulhFRg", + "url": "https://music.youtube.com/watch?v=K01LvulhFRg" + }, + { + "title": "M\u1ee5c H\u1ea1 V\u00f4 Nh\u00e2n (feat. Binz)", + "artist": "SOOBIN, Hu\u1ef3nh T\u00fa", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/FikdKWos-NQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgfIwIcM4zdZGPxZN-kcs96iJyGQ", + "id": "FikdKWos-NQ", + "url": "https://music.youtube.com/watch?v=FikdKWos-NQ" + }, + { + "title": "10 M\u1ea4T 1 C\u00d2N KH\u00d4NG - TH\u00c1I H\u1eccC x L\u00ca GIA B\u1ea2O (New Version) | St: Long H\u1ecd Hu\u1ef3nh", + "artist": "Th\u00e1i H\u1ecdc", + "album": "Single", + "duration": 285, + "cover_url": "https://i.ytimg.com/vi/9HnyyKg0M-Y/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyCTROUhGaahuDenut3oMfnOesDQ", + "id": "9HnyyKg0M-Y", + "url": "https://music.youtube.com/watch?v=9HnyyKg0M-Y" + }, + { + "title": "Mr Siro | Day D\u1ee9t N\u1ed7i \u0110au", + "artist": "Mr. Siro", + "album": "Single", + "duration": 368, + "cover_url": "https://i.ytimg.com/vi/N4Xak1n497M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nZ6HzRlVHFya6aliEsGSZuGB_QxA", + "id": "N4Xak1n497M", + "url": "https://music.youtube.com/watch?v=N4Xak1n497M" + }, + { + "title": "Diary Of A Trying Man", + "artist": "Dax", + "album": "Single", + "duration": 234, + "cover_url": "https://i.ytimg.com/vi/WulTil-Wwoo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lC8LD69LfTh3hrClQoWJGA3pCjCw", + "id": "WulTil-Wwoo", + "url": "https://music.youtube.com/watch?v=WulTil-Wwoo" + }, + { + "title": "Feel At Home", + "artist": "B Ray", + "album": "Single", + "duration": 164, + "cover_url": "https://i.ytimg.com/vi/6x1yluqMuc4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nfaiwiYPKbD_v3rvKR1QC1Sw9Znw", + "id": "6x1yluqMuc4", + "url": "https://music.youtube.com/watch?v=6x1yluqMuc4" + }, + { + "title": "L\u00e1 Th\u01b0 \u0110\u00f4 Th\u1ecb", + "artist": "Th\u00fay H\u00e0", + "album": "Single", + "duration": 355, + "cover_url": "https://i.ytimg.com/vi/42m7T272u8I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3moQljTHbKdPZ3c48rcbJiq4KILjQ", + "id": "42m7T272u8I", + "url": "https://music.youtube.com/watch?v=42m7T272u8I" + }, + { + "title": "R\u1eddi B\u1ecf N\u01a1i Anh Bi\u1ebft Em C\u00f3 Vui B\u00ean Ng\u01b0\u1eddi Remix | TH\u01af\u01a0NG TH\u00cc TH\u00d4I REMIX B\u1ea3n Si\u00eau Th\u1ea5m BeBe...", + "artist": "ACV", + "album": "Single", + "duration": 195, + "cover_url": "https://i.ytimg.com/vi/Hq_Q9vSIg2M/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n3JlqdmwyqK_me1eqnMQVrNeL6ZA", + "id": "Hq_Q9vSIg2M", + "url": "https://music.youtube.com/watch?v=Hq_Q9vSIg2M" + }, + { + "title": "Gi\u1eef Anh Cho Ng\u00e0y H\u00f4m Qua", + "artist": "Ho\u00e0ng D\u0169ng, Rhymastic, Lelarec", + "album": "Single", + "duration": 345, + "cover_url": "https://i.ytimg.com/vi/IADhKnmQMtk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nzDVE9hb0vpWAYZ39Ghi-6BrG-9g", + "id": "IADhKnmQMtk", + "url": "https://music.youtube.com/watch?v=IADhKnmQMtk" + }, + { + "title": "Mr Siro | T\u1ef1 Lau N\u01b0\u1edbc M\u1eaft", + "artist": "Mr. Siro", + "album": "Single", + "duration": 330, + "cover_url": "https://i.ytimg.com/vi/tgvXGxCrBmE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mNQ5AIuHnGA4XZQwvFh_WRi1DmAg", + "id": "tgvXGxCrBmE", + "url": "https://music.youtube.com/watch?v=tgvXGxCrBmE" + }, + { + "title": "She Never Cries (feat. S\u01a0N.K)", + "artist": "Ho\u00e0ng Duy\u00ean", + "album": "Single", + "duration": 264, + "cover_url": "https://i.ytimg.com/vi/zuBjkHOFVJs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kdUzhae-xLYnaf7b45tXbDDxr71A", + "id": "zuBjkHOFVJs", + "url": "https://music.youtube.com/watch?v=zuBjkHOFVJs" + }, + { + "title": "Ch\u1edd Bao L\u00e2u (feat. H\u00e0o JK)", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 193, + "cover_url": "https://i.ytimg.com/vi/KO0CbNNvd14/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mL5syc6JwJoWuHasdnfhrSAFITHA", + "id": "KO0CbNNvd14", + "url": "https://music.youtube.com/watch?v=KO0CbNNvd14" + }, + { + "title": "C\u00d4 G\u00c1I \u00c0 \u0110\u1eeaNG KH\u00d3C | \u00daT NH\u1eca MINO FT NVC MUSIC", + "artist": "\u00dat Nh\u1ecb Mino", + "album": "Single", + "duration": 266, + "cover_url": "https://i.ytimg.com/vi/oH9_c7Y5zMQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kBh2R8cqyDQN98Jd9CIO1RZBbVNQ", + "id": "oH9_c7Y5zMQ", + "url": "https://music.youtube.com/watch?v=oH9_c7Y5zMQ" + }, + { + "title": "R\u1ea5t L\u00e2u R\u1ed3i M\u1edbi Kh\u00f3c (Solo Version)", + "artist": "", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/MWowv3A-fQc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWiKMUSyg-xYgdrzO26ICDnO6Gpg", + "id": "MWowv3A-fQc", + "url": "https://music.youtube.com/watch?v=MWowv3A-fQc" + }, + { + "title": "Ring Ring", + "artist": "MIRA", + "album": "Single", + "duration": 147, + "cover_url": "https://i.ytimg.com/vi/mkCaf6tuhGM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lyjmmeuudBzy9Yu64rGLaWENa4tg", + "id": "mkCaf6tuhGM", + "url": "https://music.youtube.com/watch?v=mkCaf6tuhGM" + }, + { + "title": "B\u1ea3o Anh | C\u00f4 \u1ea4y C\u1ee7a Anh \u1ea4y", + "artist": "B\u1ea3o Anh ", + "album": "Single", + "duration": 324, + "cover_url": "https://i.ytimg.com/vi/RlTDbIutJsU/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTrRLvQFATZub9py_upYtU7SUaJQ", + "id": "RlTDbIutJsU", + "url": "https://music.youtube.com/watch?v=RlTDbIutJsU" + }, + { + "title": "\u0110\u1ecaA \u0110\u00c0NG REMIX - HO\u00c0NG OANH x ACV | N\u00f3i Anh Nghe \u0110\u1ecba \u0110\u00e0ng M\u1edf C\u1eeda L\u00e0 \u0110\u1ec3 Ch\u1edd B\u01b0\u1edbc Ch\u00e2n Em Ph\u1ea3i Kh\u00f4ng ?", + "artist": "ACV", + "album": "Single", + "duration": 311, + "cover_url": "https://i.ytimg.com/vi/vZzzcflS2HM/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lMoxUQD5_wrptAPCqUYBxD0MKndw", + "id": "vZzzcflS2HM", + "url": "https://music.youtube.com/watch?v=vZzzcflS2HM" + }, + { + "title": "T\u1eebng quen", + "artist": "itsnk, Wren Evans", + "album": "Single", + "duration": 175, + "cover_url": "https://i.ytimg.com/vi/zepHPnUDROE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kQphjp4tiW4vFcaXJBk1wMtsk9Kg", + "id": "zepHPnUDROE", + "url": "https://music.youtube.com/watch?v=zepHPnUDROE" + }, + { + "title": "HOA B\u1ea4T T\u1eec", + "artist": "Th\u00e0nh \u0110\u1ea1t", + "album": "Single", + "duration": 317, + "cover_url": "https://i.ytimg.com/vi/n-k_aUsOaaQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lfd3LBuB7aTSG880J0HqdjEqNQww", + "id": "n-k_aUsOaaQ", + "url": "https://music.youtube.com/watch?v=n-k_aUsOaaQ" + }, + { + "title": "N\u00f3i D\u1ed1i | Ronboogz (Lyrics Video)", + "artist": "Ronboogz", + "album": "Single", + "duration": 207, + "cover_url": "https://i.ytimg.com/vi/ri-TFS97Hbw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lgdDfcXHekuevzN7qPIZR7RryanQ", + "id": "ri-TFS97Hbw", + "url": "https://music.youtube.com/watch?v=ri-TFS97Hbw" + }, + { + "title": "MONO - \u2018Em Xinh\u2019 (Official Music Video)", + "artist": "MONO", + "album": "Single", + "duration": 197, + "cover_url": "https://i.ytimg.com/vi/rYc1UbgbMIY/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mkHo5h-7KAI9SGhk2jG6m6cHospQ", + "id": "rYc1UbgbMIY", + "url": "https://music.youtube.com/watch?v=rYc1UbgbMIY" + } + ] +} \ No newline at end of file diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json new file mode 100644 index 0000000..4b27f80 --- /dev/null +++ b/frontend/public/manifest.json @@ -0,0 +1,20 @@ +{ + "name": "Spotify Clone", + "short_name": "Spotify", + "start_url": "/", + "display": "standalone", + "background_color": "#121212", + "theme_color": "#1DB954", + "icons": [ + { + "src": "/icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} \ No newline at end of file diff --git a/frontend/public/music/sample.mp3 b/frontend/public/music/sample.mp3 new file mode 100644 index 0000000..cec587f Binary files /dev/null and b/frontend/public/music/sample.mp3 differ diff --git a/frontend/public/music/song1.mp3 b/frontend/public/music/song1.mp3 new file mode 100644 index 0000000..5219130 Binary files /dev/null and b/frontend/public/music/song1.mp3 differ diff --git a/frontend/public/music/song2.mp3 b/frontend/public/music/song2.mp3 new file mode 100644 index 0000000..db16517 Binary files /dev/null and b/frontend/public/music/song2.mp3 differ diff --git a/frontend/public/next.svg b/frontend/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/frontend/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/vercel.svg b/frontend/public/vercel.svg new file mode 100644 index 0000000..7705396 --- /dev/null +++ b/frontend/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/window.svg b/frontend/public/window.svg new file mode 100644 index 0000000..b2b2a44 --- /dev/null +++ b/frontend/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/services/db.ts b/frontend/services/db.ts new file mode 100644 index 0000000..967c0f5 --- /dev/null +++ b/frontend/services/db.ts @@ -0,0 +1,172 @@ +import { openDB, DBSchema } from 'idb'; + +export interface Track { + id: string; + title: string; + artist: string; + album: string; + cover_url: string; + url?: string; + duration?: number; +} + +export interface Playlist { + id: string; + title: string; + tracks: Track[]; + createdAt: number; + cover_url?: string; +} + +interface MyDB extends DBSchema { + playlists: { + key: string; + value: Playlist; + }; + likedSongs: { + key: string; // trackId + value: Track; + }; +} + +const DB_NAME = 'audiophile-db'; +const DB_VERSION = 2; + +export const initDB = async () => { + return openDB(DB_NAME, DB_VERSION, { + upgrade(db, oldVersion, newVersion, transaction) { + // Re-create stores to clear old data + if (db.objectStoreNames.contains('playlists')) { + db.deleteObjectStore('playlists'); + } + if (db.objectStoreNames.contains('likedSongs')) { + db.deleteObjectStore('likedSongs'); + } + db.createObjectStore('playlists', { keyPath: 'id' }); + db.createObjectStore('likedSongs', { keyPath: 'id' }); + }, + }); +}; + +export const dbService = { + async getPlaylists() { + const db = await initDB(); + const playlists = await db.getAll('playlists'); + if (playlists.length === 0) { + return this.seedInitialData(); + } + return playlists; + }, + + async seedInitialData() { + try { + // Fetch real data from backend to seed valid playlists + // We use the 'api' prefix assuming this runs in browser + const res = await fetch('/api/trending'); + if (!res.ok) return []; + + const data = await res.json(); + const allTracks: Track[] = data.tracks || []; + + if (allTracks.length === 0) return []; + + const db = await initDB(); + const newPlaylists: Playlist[] = []; + + // 1. Starter Playlist + const favTracks = allTracks.slice(0, 8); + if (favTracks.length > 0) { + const p1: Playlist = { + id: crypto.randomUUID(), + title: "My Rotations", + tracks: favTracks, + createdAt: Date.now(), + cover_url: favTracks[0].cover_url + }; + await db.put('playlists', p1); + newPlaylists.push(p1); + } + + // 2. Vibes + const vibeTracks = allTracks.slice(8, 15); + if (vibeTracks.length > 0) { + const p2: Playlist = { + id: crypto.randomUUID(), + title: "Weekend Vibes", + tracks: vibeTracks, + createdAt: Date.now(), + cover_url: vibeTracks[0].cover_url + }; + await db.put('playlists', p2); + newPlaylists.push(p2); + } + + return newPlaylists; + + } catch (e) { + console.error("Seeding failed", e); + return []; + } + }, + + async getPlaylist(id: string) { + const db = await initDB(); + return db.get('playlists', id); + }, + async createPlaylist(name: string) { + const db = await initDB(); + const newPlaylist: Playlist = { + id: crypto.randomUUID(), + title: name, + tracks: [], + createdAt: Date.now(), + cover_url: "https://placehold.co/300/222/fff?text=" + encodeURIComponent(name) + }; + await db.put('playlists', newPlaylist); + return newPlaylist; + }, + async deletePlaylist(id: string) { + const db = await initDB(); + await db.delete('playlists', id); + }, + async addToPlaylist(playlistId: string, track: Track) { + const db = await initDB(); + const playlist = await db.get('playlists', playlistId); + if (playlist) { + // Auto-update cover if it's the default or empty + if (playlist.tracks.length === 0 || playlist.cover_url?.includes("placehold")) { + playlist.cover_url = track.cover_url; + } + playlist.tracks.push(track); + await db.put('playlists', playlist); + } + }, + async removeFromPlaylist(playlistId: string, trackId: string) { + const db = await initDB(); + const playlist = await db.get('playlists', playlistId); + if (playlist) { + playlist.tracks = playlist.tracks.filter(t => t.id !== trackId); + await db.put('playlists', playlist); + } + }, + async getLikedSongs() { + const db = await initDB(); + return db.getAll('likedSongs'); + }, + async toggleLike(track: Track) { + const db = await initDB(); + const existing = await db.get('likedSongs', track.id); + if (existing) { + await db.delete('likedSongs', track.id); + return false; // unliked + } else { + await db.put('likedSongs', track); + return true; // liked + } + }, + async isLiked(trackId: string) { + const db = await initDB(); + const existing = await db.get('likedSongs', trackId); + return !!existing; + } +}; diff --git a/frontend/services/library.ts b/frontend/services/library.ts new file mode 100644 index 0000000..2995851 --- /dev/null +++ b/frontend/services/library.ts @@ -0,0 +1,76 @@ +import { Track } from "./db"; + +export interface StaticPlaylist { + id: string; + title: string; + description: string; + cover_url: string; + tracks: Track[]; + type: 'Album' | 'Artist' | 'Playlist'; + creator?: string; +} + +// Helper to fetch from backend +const apiFetch = async (endpoint: string) => { + const res = await fetch(`/api${endpoint}`); + if (!res.ok) throw new Error(`API Error: ${res.statusText}`); + return res.json(); +}; + +export const libraryService = { + async getLibrary(): Promise { + // Fetch "Liked Songs" or main library from backend + // Assuming backend has an endpoint or we treat "Trending" as default + return await apiFetch('/browse'); // Simplified fallback + }, + + async _generateMockContent(): Promise { + // No-op in API mode + }, + + async getBrowseContent(): Promise> { + return await apiFetch('/browse'); + }, + + async getPlaylist(id: string): Promise { + try { + return await apiFetch(`/playlists/${id}`); + } catch (e) { + console.error("Failed to fetch playlist", id, e); + return null; + } + }, + + async getRecommendations(seedTrackId?: string): Promise { + // Use trending as recommendations for now + const data = await apiFetch('/trending'); + return data.tracks || []; + }, + + async getRecommendedAlbums(seedArtist?: string): Promise { + const data = await apiFetch('/browse'); + // Flatten all albums from categories + const albums: StaticPlaylist[] = []; + Object.values(data).forEach((list: any) => { + if (Array.isArray(list)) albums.push(...list); + }); + return albums.slice(0, 8); + }, + + async search(query: string): Promise { + try { + return await apiFetch(`/search?q=${encodeURIComponent(query)}`); + } catch (e) { + return []; + } + }, + + // UTILITIES FOR DYNAMIC UPDATES + updateTrackCover(trackId: string, newUrl: string) { + console.log("Dynamic updates not implemented in Backend Mode"); + }, + + updateAlbumCover(albumId: string, newUrl: string) { + console.log("Dynamic updates not implemented in Backend Mode"); + } +}; diff --git a/frontend/services/library_backup.ts b/frontend/services/library_backup.ts new file mode 100644 index 0000000..8511434 --- /dev/null +++ b/frontend/services/library_backup.ts @@ -0,0 +1,61 @@ +import { Track } from "./db"; + +export interface StaticPlaylist { + id: string; + title: string; + description: string; + cover_url: string; + tracks: Track[]; +} + +export const libraryService = { + async getLibrary(): Promise { + const res = await fetch('/library.json'); + if (!res.ok) throw new Error("Failed to load library"); + const data = await res.json(); + // MOCK: Replace URLs with a working sample for testing Audiophile features + // In a real local-first app, these would be relative paths to local files or S3 presigned URLs. + data.tracks = data.tracks.map((t: any) => ({ + ...t, + url: "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3" + })); + return data; + }, + + async getBrowseContent(): Promise> { + const data = await this.getLibrary(); + // Mock categories using the single playlist we have + return { + "Top Lists": [data], + "Just For You": [data], + "Trending": [data] + }; + }, + + async getPlaylist(id: string): Promise { + const data = await this.getLibrary(); + if (data.id === id) return data; + return null; + }, + + async getRecommendations(seedTrackId?: string): Promise { + const data = await this.getLibrary(); + // Return random 10 tracks + return [...data.tracks].sort(() => 0.5 - Math.random()).slice(0, 10); + }, + + async getRecommendedAlbums(seedArtist?: string): Promise { + const data = await this.getLibrary(); + // Return the main playlist as a recommended album for now + return [data]; + }, + + async search(query: string): Promise { + const data = await this.getLibrary(); + const lowerQuery = query.toLowerCase(); + return data.tracks.filter(t => + t.title.toLowerCase().includes(lowerQuery) || + t.artist.toLowerCase().includes(lowerQuery) + ); + } +}; diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts new file mode 100644 index 0000000..9bc0435 --- /dev/null +++ b/frontend/tailwind.config.ts @@ -0,0 +1,32 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + colors: { + background: "var(--background)", + foreground: "var(--foreground)", + spotify: { + base: "#1DB954", + highlight: "#1ed760", + black: "#191414", + dark: "#121212", + text: { + base: "#FFFFFF", + muted: "#b3b3b3" + } + } + }, + fontFamily: { + sans: ['var(--font-outfit)', 'sans-serif'], + }, + }, + }, + plugins: [], +}; +export default config; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..2627c60 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,42 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/test_audio.py b/test_audio.py new file mode 100644 index 0000000..86a3fa7 --- /dev/null +++ b/test_audio.py @@ -0,0 +1,21 @@ +import yt_dlp +import json + +# Test video ID from our data (e.g., KhΓ³a Ly Biệt) +video_id = "s0OMNH-N5D8" +url = f"https://www.youtube.com/watch?v={video_id}" + +ydl_opts = { + 'format': 'bestaudio/best', + 'quiet': True, + 'noplaylist': True, +} + +try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + print(f"Title: {info.get('title')}") + print(f"URL: {info.get('url')}") # The direct stream URL + print("Success: Extracted audio URL") +except Exception as e: + print(f"Error: {e}")