diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml new file mode 100644 index 0000000..4239b3a --- /dev/null +++ b/.forgejo/workflows/ci.yaml @@ -0,0 +1,37 @@ +name: CI +on: + push: + branches: ["main"] + pull_request: + +jobs: + Test: + runs-on: cimaster-latest + steps: + - name: 📦 Checkout repository + uses: actions/checkout@v4 + + - name: 🦀 Setup Rust cache + uses: https://github.com/Swatinem/rust-cache@v2 + with: + cache-on-failure: "true" + + - name: 📎 Clippy + run: cargo clippy --all --features=rss -- -D warnings + + - name: 🧪 Test + run: cargo nextest run --config-file ~/.config/nextest.toml --profile ci --retries 2 --features rss --workspace + + - name: 💌 Upload test report + if: always() + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: test + path: target/nextest/ci/junit.xml + + - name: 🔗 Artifactview PR comment + if: ${{ always() && github.event_name == 'pull_request' }} + run: | + if [[ "$GITEA_ACTIONS" == "true" ]]; then RUN_NUMBER="$GITHUB_RUN_NUMBER"; else RUN_NUMBER="$GITHUB_RUN_ID"; fi + curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" \ + --data '{"url": "'"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$RUN_NUMBER"'", "pr": ${{ github.event.number }}, "artifact_titles": {"test":"🧪 Test report"}, "artifact_paths": {"test":"/junit.xml?viewer=1"}}' diff --git a/.gitea/workflows/release.yaml b/.forgejo/workflows/release.yaml similarity index 56% rename from .gitea/workflows/release.yaml rename to .forgejo/workflows/release.yaml index 92c0fea..e53c7c0 100644 --- a/.gitea/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -9,26 +9,27 @@ jobs: runs-on: cimaster-latest steps: - name: 📦 Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Get variables run: | - git fetch --tags --force #the checkout action does not load the tag message - - echo "CRATE=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==1{print}')" >> "$GITHUB_ENV" + CRATE=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==1{print}') + echo "CRATE=$CRATE" >> "$GITHUB_ENV" echo "CRATE_VERSION=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==2{print}')" >> "$GITHUB_ENV" + CL_PATH="CHANGELOG.md" + if [[ "$CRATE" != "rustypipe" ]]; then pfx="rustypipe-"; CL_PATH="${CRATE#"$pfx"}/$CL_PATH"; fi { echo 'CHANGELOG<> "$GITHUB_ENV" - name: 📤 Publish crate on code.thetadev.de run: | mkdir -p ~/.cargo - printf '[registries.thetadev]\nindex = "https://code.thetadev.de/ThetaDev/_cargo-index.git"\ntoken = "Bearer ${{ secrets.TOKEN_GITEA }}"\n' >> ~/.cargo/config.toml + printf '\n\n[registries.thetadev]\nindex = "https://code.thetadev.de/ThetaDev/_cargo-index.git"\ntoken = "Bearer ${{ secrets.FORGEJO_CI_TOKEN }}"\n' >> ~/.cargo/config.toml sed -i "s/^rustypipe.*=\s*{/\0 registry = \"thetadev\",/g" Cargo.toml - cargo publish --registry thetadev --package "${{ env.CRATE }}" + cargo publish --registry thetadev --allow-dirty --package "${{ env.CRATE }}" git restore Cargo.toml - name: 🎉 Publish release diff --git a/.forgejo/workflows/renovate.yaml b/.forgejo/workflows/renovate.yaml new file mode 100644 index 0000000..837138e --- /dev/null +++ b/.forgejo/workflows/renovate.yaml @@ -0,0 +1,62 @@ +name: renovate + +on: + push: + branches: ["main"] + paths: + - ".forgejo/workflows/renovate.yaml" + - "renovate.json" + schedule: + - cron: "0 0 * * *" + +env: + RENOVATE_REPOSITORIES: ${{ github.repository }} + +jobs: + renovate: + runs-on: docker + container: + image: renovate/renovate:latest + + steps: + - name: Load renovate repo cache + uses: actions/cache/restore@v4 + with: + path: | + .tmp/cache/renovate/repository + .tmp/cache/renovate/renovate-cache-sqlite + .tmp/osv + key: repo-cache-${{ github.run_id }} + restore-keys: | + repo-cache- + + - name: Run renovate + run: renovate + env: + LOG_LEVEL: debug + RENOVATE_BASE_DIR: ${{ github.workspace }}/.tmp + RENOVATE_ENDPOINT: ${{ github.server_url }} + RENOVATE_PLATFORM: gitea + RENOVATE_REPOSITORY_CACHE: 'enabled' + RENOVATE_TOKEN: ${{ secrets.FORGEJO_CI_BOT_TOKEN }} + GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_TOKEN }} + RENOVATE_GIT_AUTHOR: 'Renovate Bot ' + + RENOVATE_X_SQLITE_PACKAGE_CACHE: true + + GIT_AUTHOR_NAME: 'Renovate Bot' + GIT_AUTHOR_EMAIL: 'forgejo-renovate-action@forgejo.org' + GIT_COMMITTER_NAME: 'Renovate Bot' + GIT_COMMITTER_EMAIL: 'forgejo-renovate-action@forgejo.org' + + OSV_OFFLINE_ROOT_DIR: ${{ github.workspace }}/.tmp/osv + + - name: Save renovate repo cache + if: always() && env.RENOVATE_DRY_RUN != 'full' + uses: actions/cache/save@v4 + with: + path: | + .tmp/cache/renovate/repository + .tmp/cache/renovate/renovate-cache-sqlite + .tmp/osv + key: repo-cache-${{ github.run_id }} diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml deleted file mode 100644 index 57a1d09..0000000 --- a/.gitea/workflows/ci.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: CI -on: [push, pull_request] - -jobs: - Test: - runs-on: cimaster-latest - steps: - - name: 📦 Checkout repository - uses: actions/checkout@v3 - - name: 🦀 Setup Rust cache - uses: https://github.com/Swatinem/rust-cache@v2 - with: - cache-on-failure: "true" - - - name: 📎 Clippy - run: cargo clippy --all --features=rss -- -D warnings - - - name: 🧪 Test - run: cargo test --features=rss --workspace diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3f2ccb1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "rust-analyzer.cargo.features": ["rss"] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index bab248d..4375f57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,78 @@ All notable changes to this project will be documented in this file. -## v0.1.0 - 2024-03-22 + +## [v0.2.0](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.3..rustypipe/v0.2.0) - 2024-06-27 + +### 🚀 Features + +- Add text formatting (bold/italic/strikethrough) - ([b8825f9](https://code.thetadev.de/ThetaDev/rustypipe/commit/b8825f9199365c873a4f0edd98a435e986b8daa2)) +- Prefix chip-style web links (social media) with the service name - ([6c41ef2](https://code.thetadev.de/ThetaDev/rustypipe/commit/6c41ef2fb2531e10a12c271e2d48504510a3b0bf)) +- Make get_visitor_data() public - ([da1d1bd](https://code.thetadev.de/ThetaDev/rustypipe/commit/da1d1bd2a0b214da10436ae221c90a0f88697b9a)) +- Add UnavailabilityReason: IpBan - ([401d4e8](https://code.thetadev.de/ThetaDev/rustypipe/commit/401d4e8255b1e86444319fed6d114dfbd0f80bbd)) +- Add YtEntity trait - ([792e3b3](https://code.thetadev.de/ThetaDev/rustypipe/commit/792e3b31e0101087a167935baad39a2e3b4296d0)) + +### 🐛 Bug Fixes + +- Remove Innertube API keys, update android player params - ([a8fb337](https://code.thetadev.de/ThetaDev/rustypipe/commit/a8fb337fae9cb0112e0152f9a0a19ebae49c2a4d)) +- Parsing error when no `music_related` content available - ([8fbd6b9](https://code.thetadev.de/ThetaDev/rustypipe/commit/8fbd6b95b6f01108b46f53fe60a56b0c561e40c1)) +- Parsing audiobook type in European Portuguese - ([041ce2d](https://code.thetadev.de/ThetaDev/rustypipe/commit/041ce2d08f6021c88e8890034f551f7e01b2f012)) +- Renovate ci token - ([e0759eb](https://code.thetadev.de/ThetaDev/rustypipe/commit/e0759ebce32a5520245bb2c0cb920734b04ee7dc)) + +### 🚜 Refactor + +- [**breaking**] Rename VideoItem/VideoPlayerDetails.length to duration for consistency - ([94e8d24](https://code.thetadev.de/ThetaDev/rustypipe/commit/94e8d24c6848b8bfca70dd03a7d89547ba9d6051)) + +### 📚 Documentation + +- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88)) + +### ⚙️ Miscellaneous Tasks + +- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd)) +- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b)) +- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176)) +- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922)) +- Vscode: enable rss feature by default - ([e75ffbb](https://code.thetadev.de/ThetaDev/rustypipe/commit/e75ffbb5da6198086385ea96383ab9d0791592a5)) +- Configure Renovate (#3) - ([44c2deb](https://code.thetadev.de/ThetaDev/rustypipe/commit/44c2debea61f70c24ad6d827987e85e2132ed3d1)) +- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801)) +- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64)) +- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f)) + +## [v0.1.3](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.2..rustypipe/v0.1.3) - 2024-04-01 + +### 🐛 Bug Fixes + +- Parse new comment model (A/B#14 frameworkUpdates) - ([b0331f7](https://code.thetadev.de/ThetaDev/rustypipe/commit/b0331f7250f5d7d61a45209150739d2cb08b4280)) + +### ◀️ Revert + +- "fix: improve VecLogErr messages" (leads to infinite loop) - ([348c852](https://code.thetadev.de/ThetaDev/rustypipe/commit/348c8523fe847f2f6ce98317375a7ab65e778ed2)) + + +## [v0.1.2](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.1..rustypipe/v0.1.2) - 2024-03-26 + +### 🐛 Bug Fixes + +- Correctly parse subscriber count with new channel header - ([180dd98](https://code.thetadev.de/ThetaDev/rustypipe/commit/180dd9891a14b4da9f130a73d73aecc3822fce2f)) + + +## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe/v0.1.0..rustypipe/v0.1.1) - 2024-03-26 + +### 🐛 Bug Fixes + +- Specify internal dependency versions - ([6598a23](https://code.thetadev.de/ThetaDev/rustypipe/commit/6598a23d0699e6fe298275a67e0146a19c422c88)) +- Move package attributes to workspace - ([e4b204e](https://code.thetadev.de/ThetaDev/rustypipe/commit/e4b204eae65f450471be0890b0198d2f30714b3b)) +- Parsing music details with video description tab - ([a81c3e8](https://code.thetadev.de/ThetaDev/rustypipe/commit/a81c3e83366fdf72d01dd3ee00fb2e831f7aaa26)) + +### ⚙️ Miscellaneous Tasks + +- Changes to release command - ([0bcced1](https://code.thetadev.de/ThetaDev/rustypipe/commit/0bcced1db377198a54c9c7d03b8d038125a2bfe4)) +- Update user agent (FF 115.0) - ([be314d5](https://code.thetadev.de/ThetaDev/rustypipe/commit/be314d57ea1d99bfdc80649351ee3e7845541238)) +- Fix release script (unquoted include paths) - ([78ba9cb](https://code.thetadev.de/ThetaDev/rustypipe/commit/78ba9cb34c6bba3aba177583b242d3f76ea9847d)) + + +## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe/v0.1.0) - 2024-03-22 Initial release diff --git a/Cargo.toml b/Cargo.toml index b11a50d..f257a00 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "rustypipe" -version = "0.1.0" +version = "0.2.0" +rust-version = "1.67.1" edition.workspace = true authors.workspace = true license.workspace = true @@ -32,7 +33,7 @@ fancy-regex = "0.13.0" thiserror = "1.0.36" url = "2.2.2" reqwest = { version = "0.12.0", default-features = false } -tokio = "1.20.0" +tokio = "1.20.4" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0.82" serde_with = { version = "3.0.0", default-features = false, features = [ @@ -52,7 +53,7 @@ phf = "0.11.1" phf_codegen = "0.11.1" base64 = "0.22.0" urlencoding = "2.1.2" -quick-xml = { version = "0.31.0", features = ["serialize"] } +quick-xml = { version = "0.34.0", features = ["serialize"] } tracing = { version = "0.1.37", features = ["log"] } # CLI @@ -65,13 +66,13 @@ dirs = "5.0.0" filenamify = "0.1.0" # Testing -rstest = "0.18.1" +rstest = "0.21.0" tokio-test = "0.4.2" insta = { version = "1.17.1", features = ["ron", "redactions"] } path_macro = "1.0.0" # Included crates -rustypipe = { path = ".", version = "0.1.0", default-features = false } +rustypipe = { path = ".", version = "0.2.0", default-features = false } rustypipe-downloader = { path = "./downloader", version = "0.1.0", default-features = false } [features] diff --git a/Justfile b/Justfile index 7821cce..5fd6b75 100644 --- a/Justfile +++ b/Justfile @@ -1,14 +1,15 @@ test: - cargo test --features=rss + # cargo test --features=rss + cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1 unittest: - cargo test --features=rss --lib + cargo nextest run --features=rss --no-fail-fast --failure-output final --lib testyt: - cargo test --features=rss --test youtube + cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1 --test youtube testyt-localized: - YT_LANG=th cargo test --features=rss --test youtube + YT_LANG=th cargo nextest run --features=rss --no-fail-fast --failure-output final --retries 1 --test youtube testintl: #!/usr/bin/env bash @@ -27,7 +28,7 @@ testintl: for YT_LANG in "${LANGUAGES[@]}"; do echo "---TESTS FOR $YT_LANG ---" - if YT_LANG="$YT_LANG" cargo test --test youtube -- --test-threads 4 --skip resolve; then + if YT_LANG="$YT_LANG" cargo nextest run --no-fail-fast --failure-output final --retries 1 --test-threads 4 --test youtube -E 'not test(/^resolve/)'; then echo "--- $YT_LANG COMPLETED ---" else echo "--- $YT_LANG FAILED ---" @@ -49,16 +50,15 @@ release crate="rustypipe": set -e CRATE="{{crate}}" - INCLUDES='--include-path README.md --include-path LICENSE --include-path Cargo.toml' CHANGELOG="CHANGELOG.md" if [ "$CRATE" = "rustypipe" ]; then - INCLUDES="$INCLUDES --include-path src/** --include-path tests/** --include-path testfiles/**" + INCLUDES="--exclude-path 'notes/**' --exclude-path 'cli/**' --exclude-path 'downloader/**'" else if [ ! -d "$CRATE" ]; then echo "$CRATE does not exist."; exit 1 fi - INCLUDES="$INCLUDES --include-path $CRATE/**" + INCLUDES="--include-path README.md --include-path LICENSE --include-path Cargo.toml --include-path '$CRATE/**'" CHANGELOG="$CRATE/$CHANGELOG" CRATE="rustypipe-$CRATE" # Add crate name prefix fi @@ -69,17 +69,17 @@ release crate="rustypipe": if git rev-parse "$TAG" >/dev/null 2>&1; then echo "version tag $TAG already exists"; exit 1; fi - CLIFF_ARGS="--tag v${VERSION} --tag-pattern ${CRATE}/* --unreleased $INCLUDES" + CLIFF_ARGS="--tag '${TAG}' --tag-pattern '${CRATE}/v*' --unreleased $INCLUDES" echo "git-cliff $CLIFF_ARGS" if [ -f "$CHANGELOG" ]; then - git-cliff $CLIFF_ARGS --prepend "$CHANGELOG" + eval "git-cliff $CLIFF_ARGS --prepend '$CHANGELOG'" else - git-cliff $CLIFF_ARGS --output "$CHANGELOG" + eval "git-cliff $CLIFF_ARGS --output '$CHANGELOG'" fi editor "$CHANGELOG" - git add "$CHANGELOG" + git add . git commit -m "chore(release): release $CRATE v$VERSION" awk 'BEGIN{RS="(^|\n)## [^\n]+\n*"} NR==2 { print }' "$CHANGELOG" | git tag -as -F - --cleanup whitespace "$TAG" diff --git a/README.md b/README.md index a24ccfb..432fa4c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# RustyPipe +# ![RustyPipe](https://code.thetadev.de/ThetaDev/rustypipe/raw/branch/main/notes/logo.svg) -Client for the public YouTube / YouTube Music API (Innertube), inspired by +Rust client for the public YouTube / YouTube Music API (Innertube), inspired by [NewPipe](https://github.com/TeamNewPipe/NewPipeExtractor). ## Features @@ -36,7 +36,7 @@ Client for the public YouTube / YouTube Music API (Innertube), inspired by ```toml [dependencies] -rustypipe = "0.1.0" +rustypipe = "0.1.3" tokio = { version = "1.20.0", features = ["macros", "rt-multi-thread"] } ``` @@ -159,6 +159,7 @@ Subscribers: 1780000 - Current version of stable Rust - [`just`](https://github.com/casey/just) task runner +- [`nextest`](https://nexte.st) test runner - [`pre-commit`](https://pre-commit.com/) - yq (YAML processor) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index bab248d..4d0aee1 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -2,7 +2,33 @@ All notable changes to this project will be documented in this file. -## v0.1.0 - 2024-03-22 + +## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe-cli/v0.1.0..rustypipe-cli/v0.1.1) - 2024-06-27 + +### 🚀 Features + +- CLI: setting player type - ([16e0e28](https://code.thetadev.de/ThetaDev/rustypipe/commit/16e0e28c4866bb69d8e4c06eef94176f329a1c27)) + +### 🐛 Bug Fixes + +- Clippy warning - ([8420c2f](https://code.thetadev.de/ThetaDev/rustypipe/commit/8420c2f8dbd2791b524ceca2e19fb68e5b918bfa)) + +### 📚 Documentation + +- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88)) + +### ⚙️ Miscellaneous Tasks + +- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd)) +- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b)) +- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176)) +- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922)) +- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801)) +- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64)) +- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f)) +- Update rustypipe to 0.2.0 + +## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe-cli/v0.1.0) - 2024-03-22 Initial release diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 53556b8..c5021aa 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "rustypipe-cli" -version = "0.1.0" +version = "0.1.1" +rust-version = "1.70.0" edition.workspace = true authors.workspace = true license.workspace = true diff --git a/cli/src/main.rs b/cli/src/main.rs index cd8bd4c..138e915 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -8,7 +8,7 @@ use futures::stream::{self, StreamExt}; use indicatif::{MultiProgress, ProgressBar, ProgressStyle}; use reqwest::{Client, ClientBuilder}; use rustypipe::{ - client::RustyPipe, + client::{ClientType, RustyPipe}, model::{UrlTarget, VideoId, YouTubeItem}, param::{search_filter, ChannelVideoTab, Country, Language, StreamFilter}, }; @@ -81,6 +81,8 @@ enum Commands { /// Get the player #[clap(long)] player: bool, + #[clap(long)] + player_type: Option, }, /// Search YouTube Search { @@ -189,6 +191,14 @@ enum MusicSearchCategory { PlaylistsCommunity, } +#[derive(Copy, Clone, PartialEq, Eq, ValueEnum)] +enum PlayerType { + Desktop, + Tv, + Android, + Ios, +} + impl From for search_filter::ItemType { fn from(value: SearchItemType) -> Self { match value { @@ -231,6 +241,17 @@ impl From for search_filter::Order { } } +impl From for ClientType { + fn from(value: PlayerType) -> Self { + match value { + PlayerType::Desktop => Self::Desktop, + PlayerType::Tv => Self::TvHtml5Embed, + PlayerType::Android => Self::Android, + PlayerType::Ios => Self::Ios, + } + } +} + #[allow(clippy::too_many_arguments)] async fn download_single_video( video_id: &str, @@ -540,6 +561,7 @@ async fn main() { comments, lyrics, player, + player_type, } => { let target = rp.query().resolve_string(&id, false).await.unwrap(); @@ -558,7 +580,12 @@ async fn main() { let details = rp.query().music_details(&id).await.unwrap(); print_data(&details, format, pretty); } else if player { - let player = rp.query().player(&id).await.unwrap(); + let player = if let Some(player_type) = player_type { + rp.query().player_from_client(&id, player_type.into()).await + } else { + rp.query().player(&id).await + } + .unwrap(); print_data(&player, format, pretty); } else { let mut details = rp.query().video_details(&id).await.unwrap(); diff --git a/cliff.toml b/cliff.toml index 32b679a..9f0f6cf 100644 --- a/cliff.toml +++ b/cliff.toml @@ -16,10 +16,11 @@ All notable changes to this project will be documented in this file.\n body = """ {% set repo_url = "https://code.thetadev.de/ThetaDev/rustypipe" %}\ {% if version %}\ + {%set vname = version | split(pat="/") | last %} {%if previous.version %}\ - ## [{{ version }}]({{ repo_url }}/compare/{{ previous.version }}..{{ version }})\ + ## [{{ vname }}]({{ repo_url }}/compare/{{ previous.version }}..{{ version }})\ {% else %}\ - ## {{ version }}\ + ## [{{ vname }}]({{ repo_url }}/commits/tag/{{ version }})\ {% endif %} - {{ timestamp | date(format="%Y-%m-%d") }} {% else %}\ ## [unreleased] @@ -72,8 +73,8 @@ commit_parsers = [ { message = "^perf", group = "⚡ Performance" }, { message = "^refactor", group = "🚜 Refactor" }, { message = "^style", group = "🎨 Styling" }, - { message = "^test", group = "🧪 Testing" }, - { message = "^chore\\(release\\): prepare for", skip = true }, + { message = "^test", skip = true }, + { message = "^chore\\(release\\)", skip = true }, { message = "^chore\\(pr\\)", skip = true }, { message = "^chore\\(pull\\)", skip = true }, { message = "^chore", group = "⚙️ Miscellaneous Tasks" }, diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 6b81189..7a0e5d1 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -1,5 +1,7 @@ [package] name = "rustypipe-codegen" +version = "0.1.0" +rust-version = "1.74.0" edition.workspace = true authors.workspace = true license.workspace = true diff --git a/codegen/src/abtest.rs b/codegen/src/abtest.rs index f09a30d..f1d8cbb 100644 --- a/codegen/src/abtest.rs +++ b/codegen/src/abtest.rs @@ -13,6 +13,8 @@ use rustypipe::param::ChannelVideoTab; use serde::de::IgnoredAny; use serde::{Deserialize, Serialize}; +use crate::model::QCont; + #[derive( Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, TryFromPrimitive, Serialize, Deserialize, )] @@ -31,10 +33,15 @@ pub enum ABTest { LikeButtonViewmodel = 11, ChannelPageHeader = 12, MusicPlaylistTwoColumn = 13, + CommentsFrameworkUpdate = 14, } /// List of active A/B tests that are run when none is manually specified -const TESTS_TO_RUN: [ABTest; 2] = [ABTest::ChannelPageHeader, ABTest::MusicPlaylistTwoColumn]; +const TESTS_TO_RUN: [ABTest; 3] = [ + ABTest::ChannelPageHeader, + ABTest::MusicPlaylistTwoColumn, + ABTest::CommentsFrameworkUpdate, +]; #[derive(Debug, Serialize, Deserialize)] pub struct ABTestRes { @@ -72,7 +79,6 @@ pub async fn run_test( let rp = RustyPipe::new(); let pb = ProgressBar::new(n as u64); - let http = reqwest::Client::default(); pb.set_style( ProgressStyle::with_template( "{msg} [{elapsed_precise}] [{wide_bar:.cyan/blue}] {pos}/{len}", @@ -84,9 +90,8 @@ pub async fn run_test( .map(|_| { let rp = rp.clone(); let pb = pb.clone(); - let http = http.clone(); async move { - let visitor_data = get_visitor_data(&http).await; + let visitor_data = rp.query().get_visitor_data().await.unwrap(); let query = rp.query().visitor_data(&visitor_data); let is_present = match ab { ABTest::AttributedTextDescription => attributed_text_description(&query).await, @@ -104,6 +109,7 @@ pub async fn run_test( ABTest::LikeButtonViewmodel => like_button_viewmodel(&query).await, ABTest::ChannelPageHeader => channel_page_header(&query).await, ABTest::MusicPlaylistTwoColumn => music_playlist_two_column(&query).await, + ABTest::CommentsFrameworkUpdate => comments_framework_update(&query).await, } .unwrap(); pb.inc(1); @@ -125,22 +131,6 @@ pub async fn run_test( (count, vd_present, vd_absent) } -async fn get_visitor_data(http: &reqwest::Client) -> String { - let resp = http.get("https://www.youtube.com").send().await.unwrap(); - resp.headers() - .get_all(reqwest::header::SET_COOKIE) - .iter() - .find_map(|c| { - if let Ok(cookie) = c.to_str() { - if let Some(after) = cookie.strip_prefix("__Secure-YEC=") { - return after.split_once(';').map(|s| s.0.to_owned()); - } - } - None - }) - .unwrap() -} - pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec { let mut results = Vec::new(); @@ -356,3 +346,20 @@ pub async fn music_playlist_two_column(rp: &RustyPipeQuery) -> Result { .unwrap(); Ok(res.contains("\"musicResponsiveHeaderRenderer\"")) } + +pub async fn comments_framework_update(rp: &RustyPipeQuery) -> Result { + let continuation = + "Eg0SC3dMZHBSN2d1S3k4GAYyJSIRIgt3TGRwUjdndUt5ODAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"; + let res = rp + .raw( + ClientType::Desktop, + "next", + &QCont { + context: rp.get_context(ClientType::Desktop, true, None).await, + continuation, + }, + ) + .await + .unwrap(); + Ok(res.contains("\"frameworkUpdates\"")) +} diff --git a/codegen/src/model.rs b/codegen/src/model.rs index f7599cf..0f445a6 100644 --- a/codegen/src/model.rs +++ b/codegen/src/model.rs @@ -67,12 +67,12 @@ pub struct TimeAgo { pub unit: TimeUnit, } -impl ToString for TimeAgo { - fn to_string(&self) -> String { +impl std::fmt::Display for TimeAgo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { if self.n > 1 { - format!("{}{}", self.n, self.unit.as_str()) + write!(f, "{}{}", self.n, self.unit.as_str()) } else { - self.unit.as_str().to_owned() + f.write_str(self.unit.as_str()) } } } diff --git a/downloader/CHANGELOG.md b/downloader/CHANGELOG.md index bab248d..9912915 100644 --- a/downloader/CHANGELOG.md +++ b/downloader/CHANGELOG.md @@ -2,7 +2,25 @@ All notable changes to this project will be documented in this file. -## v0.1.0 - 2024-03-22 + +## [v0.1.1](https://code.thetadev.de/ThetaDev/rustypipe/compare/rustypipe-downloader/v0.1.0..rustypipe-downloader/v0.1.1) - 2024-06-27 + +### 📚 Documentation + +- Add logo - ([6646078](https://code.thetadev.de/ThetaDev/rustypipe/commit/66460789449be0d5984cbdb6ec372e69323b7a88)) + +### ⚙️ Miscellaneous Tasks + +- Changelog: fix incorrect version URLs - ([97b6f07](https://code.thetadev.de/ThetaDev/rustypipe/commit/97b6f07399e80e00a6c015d013e744568be125dd)) +- Update rstest to v0.19.0 - ([50fd1f0](https://code.thetadev.de/ThetaDev/rustypipe/commit/50fd1f08caf39c1298654e06059cc393543e925b)) +- Introduce MSRV - ([5dbb288](https://code.thetadev.de/ThetaDev/rustypipe/commit/5dbb288a496d53a299effa2026f5258af7b1f176)) +- Fix clippy lints - ([45b9f2a](https://code.thetadev.de/ThetaDev/rustypipe/commit/45b9f2a627b4e7075ba0b1c5f16efcc19aef7922)) +- *(deps)* Update rust crate tokio to 1.20.4 [security] (#4) - ([ce3ec34](https://code.thetadev.de/ThetaDev/rustypipe/commit/ce3ec34337b8acac41410ea39264aab7423d5801)) +- *(deps)* Update rust crate quick-xml to 0.34.0 (#5) - ([1e8a1af](https://code.thetadev.de/ThetaDev/rustypipe/commit/1e8a1af08c873cee7feadf63c2eff62753a78f64)) +- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([c3af918](https://code.thetadev.de/ThetaDev/rustypipe/commit/c3af918ba53c6230c0e4aef822a0cb2cf120bf3f)) +- Update rustypipe to 0.2.0 + +## [v0.1.0](https://code.thetadev.de/ThetaDev/rustypipe/commits/tag/rustypipe-downloader/v0.1.0) - 2024-03-22 Initial release diff --git a/downloader/Cargo.toml b/downloader/Cargo.toml index 1479524..c48fbe8 100644 --- a/downloader/Cargo.toml +++ b/downloader/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "rustypipe-downloader" -version = "0.1.0" +version = "0.1.1" +rust-version = "1.67.1" edition.workspace = true authors.workspace = true license.workspace = true diff --git a/notes/AB_Tests.md b/notes/AB_Tests.md index 9f5457d..a7c8504 100644 --- a/notes/AB_Tests.md +++ b/notes/AB_Tests.md @@ -26,6 +26,7 @@ to the new feature. **Status:** +- Discontinued (0%) - Experimental (<3%) - Common (>3%) - Frequent (>40%) @@ -488,7 +489,7 @@ looks needlessly complex but contains the same parsing-relevant data as the old - **Encountered on:** 29.01.2024 - **Impact:** 🟢 Low - **Endpoint:** browse -- **Status:** Experimental (<1%) +- **Status:** Frequent (55%) YouTube introduced a new data model for channel headers, based on a `"pageHeaderRenderer"`. The new model comes with more needless complexity that needs to @@ -592,15 +593,158 @@ be accomodated. There are also no mobile/TV header images available any more. } ``` - ## [13] Music album/playlist 2-column layout - **Encountered on:** 29.02.2024 - **Impact:** 🟢 Low - **Endpoint:** browse -- **Status:** Common (6%) +- **Status:** Discontinued (0%) ![A/B test 13 screenshot](./_img/ab_13.png) -YouTube Music updated the layout of album and playlist pages. The new layout shows -the cover on the left side of the playlist content. +YouTube Music updated the layout of album and playlist pages. The new layout shows the +cover on the left side of the playlist content. + +## [14] Comments Framework update + +- **Encountered on:** 31.01.2024 +- **Impact:** 🟢 Low +- **Endpoint:** next +- **Status:** Frequent (98%) + +YouTube changed the data model for YouTube comments, now putting the content into a +seperate framework update object + +```json +{ + "frameworkUpdates": { + "onResponseReceivedEndpoints": [ + { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "reloadContinuationItemsCommand": { + "targetId": "comments-section", + "continuationItems": [ + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5TlRUOHV4REVqZ1lxeWJJRjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "220 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CHoQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "220 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CHkQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgyNTT8uxDEjgYqybIF4AaABAg" + } + }, + "trackingParams": "CHYQwnUYywEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_PINNED_COMMENT", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentId": "UgyNTT8uxDEjgYqybIF4AaABAg" + } + } + } + } + ] + } + } + ], + "entityBatchUpdate": { + "mutations": [ + { + "entityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgyNTT8uxDEjgYqybIF4AaABAg", + "content": { + "content": "⚠️ Important notice: if you put any symbol immediately after markup, it will not work: *here is the comma*, without space.\n\nYou should leave space before and after , to make it work.\n\nSame for _underscore_, and -hyphen-.\n\nLeave space before opening and after closing underscore and hyphen. Put all dots and commas inside markup.", + "styleRuns": [ + { + "startIndex": 135, + "length": 28, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 267, + "length": 10, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 282, + "length": 7, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + }, + "publishedTime": "2 years ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@kibizoid", + "toolbarStateKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCUJfyiofeHQTmxKwZ6cCwIg", + "displayName": "@kibizoid", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "isArtist": false + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ] + } + } + } + } + } + ] + } + } +} +``` diff --git a/notes/logo.svg b/notes/logo.svg new file mode 100644 index 0000000..b26ae18 --- /dev/null +++ b/notes/logo.svg @@ -0,0 +1,110 @@ + + + + diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..f21e62f --- /dev/null +++ b/renovate.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:best-practices", + ":approveMajorUpdates", + "schedule:daily" + ], + "semanticCommits": "enabled", + "automergeStrategy": "squash", + "osvVulnerabilityAlerts": true, + "labels": ["dependency-upgrade"], + "enabledManagers": ["cargo"], + "prHourlyLimit": 5 +} diff --git a/src/client/channel.rs b/src/client/channel.rs index aa1a928..9a4ea00 100644 --- a/src/client/channel.rs +++ b/src/client/channel.rs @@ -480,16 +480,16 @@ fn map_channel( response::channel::Header::PageHeaderRenderer(header) => { let hdata = header.content.page_header_view_model; // channel handle - subscriber count - video count - let subscriber_count = hdata - .metadata - .content_metadata_view_model - .metadata_rows - .first() - .and_then(|md| { - md.metadata_parts.get(1).and_then(|t| { - util::parse_large_numstr_or_warn::(&t.text, lang, &mut warnings) - }) - }); + let md_rows = hdata.metadata.content_metadata_view_model.metadata_rows; + let sub_part = if md_rows.len() > 1 { + md_rows.get(1).and_then(|md| md.metadata_parts.first()) + } else { + md_rows.first().and_then(|md| md.metadata_parts.get(1)) + }; + let subscriber_count = sub_part.and_then(|t| { + util::parse_large_numstr_or_warn::(&t.text, lang, &mut warnings) + }); + Channel { id: metadata.external_id, name: metadata.title, @@ -720,6 +720,7 @@ mod tests { #[case::shorts("shorts", "UCh8gHdtzO2tXd593_bjErWg")] #[case::livestreams("livestreams", "UC2DjFE7Xf11URZqWBigcVOQ")] #[case::pageheader("shorts_20240129_pageheader", "UCh8gHdtzO2tXd593_bjErWg")] + #[case::pageheader2("videos_20240324_pageheader2", "UC2DjFE7Xf11URZqWBigcVOQ")] fn map_channel_videos(#[case] name: &str, #[case] id: &str) { let json_path = path!(*TESTFILES / "channel" / format!("channel_{name}.json")); let json_file = File::open(json_path).unwrap(); diff --git a/src/client/mod.rs b/src/client/mod.rs index 5b239c6..c428139 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -182,7 +182,7 @@ struct QContinuation<'a> { continuation: &'a str, } -const DEFAULT_UA: &str = "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"; +const DEFAULT_UA: &str = "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"; const CONSENT_COOKIE: &str = "SOCS=CAISAiAD"; @@ -192,19 +192,15 @@ const YOUTUBE_MUSIC_V1_URL: &str = "https://music.youtube.com/youtubei/v1/"; const YOUTUBE_HOME_URL: &str = "https://www.youtube.com/"; const YOUTUBE_MUSIC_HOME_URL: &str = "https://music.youtube.com/"; -const DISABLE_PRETTY_PRINT_PARAMETER: &str = "&prettyPrint=false"; +const DISABLE_PRETTY_PRINT_PARAMETER: &str = "prettyPrint=false"; // Desktop client const DESKTOP_CLIENT_VERSION: &str = "2.20230126.00.00"; -const DESKTOP_API_KEY: &str = "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8"; const TVHTML5_CLIENT_VERSION: &str = "2.0"; -const DESKTOP_MUSIC_API_KEY: &str = "AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30"; const DESKTOP_MUSIC_CLIENT_VERSION: &str = "1.20230123.01.01"; // Mobile client const MOBILE_CLIENT_VERSION: &str = "18.03.33"; -const ANDROID_API_KEY: &str = "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w"; -const IOS_API_KEY: &str = "AIzaSyB-63vPrdThhKuerbB2N_l7Kwwcxj6yUAc"; const IOS_DEVICE_MODEL: &str = "iPhone14,5"; static CLIENT_VERSION_REGEX: Lazy = @@ -308,7 +304,6 @@ impl DefaultOpt { /// - [`music_search_albums`](RustyPipeQuery::music_search_albums) /// - [`music_search_artists`](RustyPipeQuery::music_search_artists) /// - [`music_search_playlists`](RustyPipeQuery::music_search_playlists) -/// - [`music_search_playlists_filter`](RustyPipeQuery::music_search_playlists_filter) /// - [`music_search_suggestion`](RustyPipeQuery::music_search_suggestion) /// - **Radio** /// - [`music_radio`](RustyPipeQuery::music_radio) @@ -1189,7 +1184,7 @@ impl RustyPipeQuery { .inner .http .post(format!( - "{YOUTUBEI_V1_URL}{endpoint}?key={DESKTOP_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" + "{YOUTUBEI_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}" )) .header(header::ORIGIN, YOUTUBE_HOME_URL) .header(header::REFERER, YOUTUBE_HOME_URL) @@ -1204,7 +1199,7 @@ impl RustyPipeQuery { .inner .http .post(format!( - "{YOUTUBE_MUSIC_V1_URL}{endpoint}?key={DESKTOP_MUSIC_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" + "{YOUTUBE_MUSIC_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}" )) .header(header::ORIGIN, YOUTUBE_MUSIC_HOME_URL) .header(header::REFERER, YOUTUBE_MUSIC_HOME_URL) @@ -1212,14 +1207,14 @@ impl RustyPipeQuery { .header("X-YouTube-Client-Name", "67") .header( "X-YouTube-Client-Version", - self.client.get_music_client_version().await + self.client.get_music_client_version().await, ), ClientType::TvHtml5Embed => self .client .inner .http .post(format!( - "{YOUTUBEI_V1_URL}{endpoint}?key={DESKTOP_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" + "{YOUTUBEI_V1_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}" )) .header(header::ORIGIN, YOUTUBE_HOME_URL) .header(header::REFERER, YOUTUBE_HOME_URL) @@ -1230,7 +1225,7 @@ impl RustyPipeQuery { .inner .http .post(format!( - "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?key={ANDROID_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" + "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}" )) .header( header::USER_AGENT, @@ -1245,7 +1240,7 @@ impl RustyPipeQuery { .inner .http .post(format!( - "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?key={IOS_API_KEY}{DISABLE_PRETTY_PRINT_PARAMETER}" + "{YOUTUBEI_V1_GAPIS_URL}{endpoint}?{DISABLE_PRETTY_PRINT_PARAMETER}" )) .header( header::USER_AGENT, @@ -1263,7 +1258,7 @@ impl RustyPipeQuery { } /// Get a YouTube visitor data cookie, which is necessary for certain requests - async fn get_visitor_data(&self) -> Result { + pub async fn get_visitor_data(&self) -> Result { match &self.opts.visitor_data { Some(vd) => Ok(vd.clone()), None => self.client.get_visitor_data().await, @@ -1596,9 +1591,11 @@ fn validate_country(country: Country) -> Country { mod tests { use super::*; + // 1.20240506.01.00-canary_control_1.20240508.01.01 + // 1.20240508.01.01-canary_experiment_1.20240506.01.00 fn get_major_version(version: &str) -> u32 { let parts = version.split('.').collect::>(); - assert_eq!(parts.len(), 4); + assert!(parts.len() >= 4, "version: {version}"); parts[0].parse().unwrap() } diff --git a/src/client/music_details.rs b/src/client/music_details.rs index 36d5ddd..0459389 100644 --- a/src/client/music_details.rs +++ b/src/client/music_details.rs @@ -306,19 +306,14 @@ impl MapResponse for response::MusicLyrics { ) -> Result, ExtractionError> { let lyrics = self .contents - .section_list_renderer - .and_then(|sl| { - sl.contents - .into_iter() - .find_map(|item| item.music_description_shelf_renderer) - }) - .ok_or(match self.contents.message_renderer { - Some(msg) => ExtractionError::NotFound { - id: id.to_owned(), - msg: msg.text.into(), - }, - None => ExtractionError::InvalidData(Cow::Borrowed("no content")), - })?; + .into_res() + .map_err(|msg| ExtractionError::NotFound { + id: id.to_owned(), + msg: msg.into(), + })? + .into_iter() + .find_map(|item| item.music_description_shelf_renderer) + .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))?; Ok(MapResult { c: Lyrics { @@ -333,36 +328,39 @@ impl MapResponse for response::MusicLyrics { impl MapResponse for response::MusicRelated { fn map_response( self, - _id: &str, + id: &str, lang: Language, _deobf: Option<&crate::deobfuscate::DeobfData>, _vdata: Option<&str>, ) -> Result, ExtractionError> { + let contents = self + .contents + .into_res() + .map_err(|msg| ExtractionError::NotFound { + id: id.to_owned(), + msg: msg.into(), + })?; + // Find artist - let artist_id = self - .contents - .section_list_renderer - .contents - .iter() - .find_map(|section| match section { - response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf) => { - shelf.header.as_ref().and_then(|h| { - h.music_carousel_shelf_basic_header_renderer - .title - .0 - .iter() - .find_map(|c| { - let artist = ArtistId::from(c.clone()); - if artist.id.is_some() { - Some(artist) - } else { - None - } - }) - }) - } - _ => None, - }); + let artist_id = contents.iter().find_map(|section| match section { + response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf) => { + shelf.header.as_ref().and_then(|h| { + h.music_carousel_shelf_basic_header_renderer + .title + .0 + .iter() + .find_map(|c| { + let artist = ArtistId::from(c.clone()); + if artist.id.is_some() { + Some(artist) + } else { + None + } + }) + }) + } + _ => None, + }); let mut mapper_tracks = MusicListMapper::new(lang); let mut mapper = match artist_id { @@ -370,7 +368,7 @@ impl MapResponse for response::MusicRelated { None => MusicListMapper::new(lang), }; - let mut sections = self.contents.section_list_renderer.contents.into_iter(); + let mut sections = contents.into_iter(); if let Some(response::music_item::ItemSection::MusicCarouselShelfRenderer(shelf)) = sections.next() { diff --git a/src/client/player.rs b/src/client/player.rs index 1dceb7d..03ac1e8 100644 --- a/src/client/player.rs +++ b/src/client/player.rs @@ -128,8 +128,8 @@ impl RustyPipeQuery { video_id, content_check_ok: true, racy_check_ok: true, - // Source: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1084 - params: Some("CgIQBg").filter(|_| client_type == ClientType::Android), + // Source: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1168 + params: Some("CgIIAQ%3D%3D").filter(|_| client_type == ClientType::Android), } }; @@ -180,6 +180,7 @@ impl MapResponse for response::Player { "members-only" => Some(UnavailabilityReason::MembersOnly), "country" => Some(UnavailabilityReason::Geoblocked), "Android" | "websites" => Some(UnavailabilityReason::UnsupportedClient), + "bot" => Some(UnavailabilityReason::IpBan), _ => None, }) .unwrap_or_default(); @@ -245,7 +246,7 @@ impl MapResponse for response::Player { id: video_details.video_id, name: video_details.title, description: video_details.short_description, - length: video_details.length_seconds, + duration: video_details.length_seconds, thumbnail: video_details.thumbnail.into(), channel: ChannelId { id: video_details.channel_id, @@ -429,7 +430,7 @@ fn deobf_nsig( } else { let nsig = deobf.deobfuscate_nsig(n)?; last_nsig[0] = n.to_string(); - last_nsig[1] = nsig.clone(); + last_nsig[1].clone_from(&nsig); nsig }; diff --git a/src/client/playlist.rs b/src/client/playlist.rs index bb3c80e..ce198f5 100644 --- a/src/client/playlist.rs +++ b/src/client/playlist.rs @@ -156,7 +156,7 @@ impl MapResponse for response::Playlist { header .playlist_header_renderer .description_text - .map(|text| TextComponents(vec![TextComponent::Text { text }])) + .map(|text| TextComponents(vec![TextComponent::new(text)])) }) .map(RichText::from); let channel = header diff --git a/src/client/response/channel.rs b/src/client/response/channel.rs index 7b371a4..4bff8f2 100644 --- a/src/client/response/channel.rs +++ b/src/client/response/channel.rs @@ -3,7 +3,7 @@ use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkip use super::{ video_item::YouTubeListRenderer, Alert, ChannelBadge, ContentRenderer, ContentsRenderer, - ContinuationActionWrap, ResponseContext, Thumbnails, TwoColumnBrowseResults, + ContinuationActionWrap, ImageView, ResponseContext, Thumbnails, TwoColumnBrowseResults, }; use crate::serializer::text::{AttributedText, Text, TextComponent}; @@ -224,12 +224,6 @@ pub(crate) struct PhAvatarView3 { pub avatar_view_model: ImageView, } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct ImageView { - pub image: Thumbnails, -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct PhMetadataView { diff --git a/src/client/response/mod.rs b/src/client/response/mod.rs index 3f5682d..85392cd 100644 --- a/src/client/response/mod.rs +++ b/src/client/response/mod.rs @@ -48,6 +48,7 @@ pub(crate) mod channel_rss; pub(crate) use channel_rss::ChannelRss; use std::borrow::Cow; +use std::collections::HashMap; use std::marker::PhantomData; use serde::{ @@ -106,6 +107,12 @@ pub(crate) struct ThumbnailsWrap { pub thumbnail: Thumbnails, } +#[derive(Default, Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ImageView { + pub image: Thumbnails, +} + /// List of images in different resolutions. /// Not only used for thumbnails, but also for avatars and banners. #[derive(Default, Debug, Deserialize)] @@ -374,3 +381,87 @@ pub(crate) fn alerts_to_err(id: &str, alerts: Option>) -> ExtractionE .unwrap_or_default(), } } + +// FRAMEWORK UPDATES + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct FrameworkUpdates { + pub entity_batch_update: EntityBatchUpdate, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct EntityBatchUpdate { + pub mutations: FrameworkUpdateMutations, +} + +/// List of update mutations that deserializes into a HashMap (entity_key => payload) +#[derive(Debug)] +pub(crate) struct FrameworkUpdateMutations { + pub items: HashMap, + pub warnings: Vec, +} + +impl<'de, T> Deserialize<'de> for FrameworkUpdateMutations +where + T: Deserialize<'de>, +{ + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + struct SeqVisitor(PhantomData); + + #[derive(serde::Deserialize)] + #[serde(untagged)] + enum MutationOrError { + #[serde(rename_all = "camelCase")] + Good { + entity_key: String, + payload: T, + }, + Error(serde_json::Value), + } + + impl<'de, T> Visitor<'de> for SeqVisitor + where + T: Deserialize<'de>, + { + type Value = FrameworkUpdateMutations; + + fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { + formatter.write_str("sequence of entity mutations") + } + + fn visit_seq(self, mut seq: A) -> Result + where + A: serde::de::SeqAccess<'de>, + { + let mut items = HashMap::with_capacity(seq.size_hint().unwrap_or_default()); + let mut warnings = Vec::new(); + + while let Some(value) = seq.next_element::>()? { + match value { + MutationOrError::Good { + entity_key, + payload, + } => { + items.insert(entity_key, payload); + } + MutationOrError::Error(value) => { + warnings.push(format!( + "error deserializing item: {}", + serde_json::to_string(&value).unwrap_or_default() + )); + } + } + } + + Ok(FrameworkUpdateMutations { items, warnings }) + } + } + + deserializer.deserialize_seq(SeqVisitor(PhantomData::)) + } +} diff --git a/src/client/response/music_details.rs b/src/client/response/music_details.rs index 0d7e6d2..4254b00 100644 --- a/src/client/response/music_details.rs +++ b/src/client/response/music_details.rs @@ -1,6 +1,5 @@ use serde::Deserialize; -use serde_with::serde_as; -use serde_with::DefaultOnError; +use serde_with::{serde_as, DefaultOnError, VecSkipError}; use crate::serializer::text::Text; @@ -8,7 +7,7 @@ use super::AlertRenderer; use super::ContentsRenderer; use super::{ music_item::{ItemSection, PlaylistPanelRenderer}, - ContentRenderer, SectionList, + ContentRenderer, }; /// Response model for YouTube Music track details @@ -36,9 +35,11 @@ pub(crate) struct TabbedRenderer { pub watch_next_tabbed_results_renderer: TabbedRendererInner, } +#[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct TabbedRendererInner { + #[serde_as(as = "VecSkipError<_>")] pub tabs: Vec, } @@ -107,14 +108,14 @@ pub(crate) struct PlaylistPanel { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicLyrics { - pub contents: LyricsContents, + pub contents: ListOrMessage, } #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct LyricsContents { - pub message_renderer: Option, - pub section_list_renderer: Option>, +pub(crate) enum ListOrMessage { + SectionListRenderer(ContentsRenderer), + MessageRenderer(AlertRenderer), } #[derive(Debug, Deserialize)] @@ -136,5 +137,14 @@ pub(crate) struct LyricsRenderer { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicRelated { - pub contents: SectionList, + pub contents: ListOrMessage, +} + +impl ListOrMessage { + pub fn into_res(self) -> Result, String> { + match self { + ListOrMessage::SectionListRenderer(c) => Ok(c.contents), + ListOrMessage::MessageRenderer(msg) => Err(msg.text), + } + } } diff --git a/src/client/response/music_item.rs b/src/client/response/music_item.rs index 4aa0b50..dc29688 100644 --- a/src/client/response/music_item.rs +++ b/src/client/response/music_item.rs @@ -721,7 +721,7 @@ impl MusicListMapper { .unwrap_or_default() })) { - artists = fb_artists.clone(); + artists.clone_from(fb_artists); } } @@ -787,7 +787,7 @@ impl MusicListMapper { // fall back to menu data if let Some(a1) = artists.first_mut() { if a1.id.is_none() { - a1.id = artist_id.clone(); + a1.id.clone_from(&artist_id); } } diff --git a/src/client/response/video_details.rs b/src/client/response/video_details.rs index 50373d7..126a540 100644 --- a/src/client/response/video_details.rs +++ b/src/client/response/video_details.rs @@ -3,9 +3,8 @@ use serde::Deserialize; use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkipError}; -use crate::serializer::text::TextComponent; use crate::serializer::{ - text::{AccessibilityText, AttributedText, Text, TextComponents}, + text::{AccessibilityText, AttributedText, Text, TextComponent, TextComponents}, MapResult, }; @@ -13,7 +12,10 @@ use super::{ url_endpoint::BrowseEndpointWrap, ContinuationEndpoint, ContinuationItemRenderer, Icon, MusicContinuationData, Thumbnails, }; -use super::{ChannelBadge, ContentsRendererLogged, ResponseContext, YouTubeListItem}; +use super::{ + ChannelBadge, ContentsRendererLogged, FrameworkUpdates, ImageView, ResponseContext, + YouTubeListItem, +}; /* #VIDEO DETAILS @@ -476,6 +478,7 @@ pub(crate) struct VideoComments { /// - n*commentRenderer, continuationItemRenderer: /// replies + continuation pub on_response_received_endpoints: MapResult>, + pub framework_updates: Option>, } /// Video comments continuation @@ -498,23 +501,13 @@ pub(crate) struct AppendComments { #[serde(rename_all = "camelCase")] pub(crate) enum CommentListItem { /// Top-level comment - #[serde(rename_all = "camelCase")] - CommentThreadRenderer { - comment: Comment, - /// Continuation token to fetch replies - #[serde(default)] - replies: Replies, - #[serde(default)] - #[serde_as(deserialize_as = "DefaultOnError")] - rendering_priority: CommentPriority, - }, + CommentThreadRenderer(CommentThreadRenderer), /// Reply comment CommentRenderer(CommentRenderer), + /// Reply comment (A/B #14) + CommentViewModel(CommentViewModel), /// Continuation token to fetch more comments - #[serde(rename_all = "camelCase")] - ContinuationItemRenderer { - continuation_endpoint: ContinuationEndpoint, - }, + ContinuationItemRenderer(ContinuationItemVariants), /// Header of the comment section (contains number of comments) #[serde(rename_all = "camelCase")] CommentsHeaderRenderer { @@ -524,6 +517,46 @@ pub(crate) enum CommentListItem { }, } +#[derive(Debug, Deserialize)] +#[serde(untagged)] +pub(crate) enum ContinuationItemVariants { + #[serde(rename_all = "camelCase")] + Ep { + continuation_endpoint: ContinuationEndpoint, + }, + Btn { + button: ContinuationButton, + }, +} + +impl ContinuationItemVariants { + pub fn token(self) -> String { + match self { + ContinuationItemVariants::Ep { + continuation_endpoint, + } => continuation_endpoint, + ContinuationItemVariants::Btn { button } => button.button_renderer.command, + } + .continuation_command + .token + } +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentThreadRenderer { + /// Missing on the FrameworkUpdate data model (A/B #14) + pub comment: Option, + pub comment_view_model: Option, + /// Continuation token to fetch replies + #[serde(default)] + pub replies: Replies, + #[serde(default)] + #[serde_as(deserialize_as = "DefaultOnError")] + pub rendering_priority: CommentPriority, +} + #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Comment { @@ -564,7 +597,7 @@ pub(crate) struct CommentRenderer { pub action_buttons: CommentActionButtons, } -#[derive(Default, Clone, Copy, Debug, Deserialize, PartialEq, Eq)] +#[derive(Default, Clone, Copy, Debug, Deserialize)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] pub(crate) enum CommentPriority { /// Default rendering priority @@ -574,6 +607,26 @@ pub(crate) enum CommentPriority { RenderingPriorityPinnedComment, } +impl From for bool { + fn from(value: CommentPriority) -> Self { + matches!(value, CommentPriority::RenderingPriorityPinnedComment) + } +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentViewModelWrap { + pub comment_view_model: CommentViewModel, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentViewModel { + pub comment_id: String, + pub comment_key: String, + pub toolbar_state_key: String, +} + /// Does not contain replies directly but a continuation token /// for fetching them. #[derive(Default, Debug, Deserialize)] @@ -637,3 +690,85 @@ pub(crate) struct AuthorCommentBadgeRenderer { /// Artist: `OFFICIAL_ARTIST_BADGE` pub icon: Icon, } + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) enum Payload { + CommentEntityPayload(CommentEntityPayload), + #[serde(rename_all = "camelCase")] + EngagementToolbarStateEntityPayload { + heart_state: HeartState, + }, + #[serde(other, deserialize_with = "deserialize_ignore_any")] + None, +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentEntityPayload { + pub properties: CommentProperties, + #[serde(default)] + #[serde_as(as = "DefaultOnError")] + pub author: Option, + pub toolbar: CommentToolbar, + #[serde(default)] + pub avatar: ImageView, +} + +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentProperties { + #[serde_as(as = "AttributedText")] + pub content: TextComponents, + pub published_time: String, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentAuthor { + pub channel_id: String, + pub display_name: String, + #[serde(default)] + pub is_verified: bool, + #[serde(default)] + pub is_artist: bool, + #[serde(default)] + pub is_creator: bool, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CommentToolbar { + pub like_count_notliked: String, + pub reply_count: String, +} + +#[derive(Debug, Copy, Clone, Deserialize)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +pub(crate) enum HeartState { + ToolbarHeartStateUnhearted, + ToolbarHeartStateHearted, +} + +impl From for bool { + fn from(value: HeartState) -> Self { + match value { + HeartState::ToolbarHeartStateUnhearted => false, + HeartState::ToolbarHeartStateHearted => true, + } + } +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ContinuationButton { + pub button_renderer: ContinuationButtonRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ContinuationButtonRenderer { + pub command: ContinuationEndpoint, +} diff --git a/src/client/response/video_item.rs b/src/client/response/video_item.rs index c151e08..3d7a116 100644 --- a/src/client/response/video_item.rs +++ b/src/client/response/video_item.rs @@ -445,7 +445,7 @@ impl YouTubeListMapper { VideoItem { id: video.video_id, name: video.title, - length: length_text.and_then(|txt| util::parse_video_length(&txt)), + duration: length_text.and_then(|txt| util::parse_video_length(&txt)), thumbnail: video.thumbnail.into(), channel: video .channel @@ -500,7 +500,7 @@ impl YouTubeListMapper { VideoItem { id: video.video_id, name: video.headline, - length: None, + duration: None, thumbnail: video.thumbnail.into(), channel: self.channel.clone(), publish_date: pub_date_txt.as_ref().and_then(|txt| { @@ -564,7 +564,7 @@ impl YouTubeListMapper { VideoItem { id: video.video_id, name: video.title, - length: video.length_seconds, + duration: video.length_seconds, thumbnail: video.thumbnail.into(), channel, publish_date, diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_livestreams.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_livestreams.snap index fe35153..830b5fd 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_livestreams.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_livestreams.snap @@ -151,7 +151,7 @@ Channel( VideoItem( id: "hhs95CI6Dsg", name: "MARS 2020 Landing LIVE", - length: Some(6321), + duration: Some(6321), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hhs95CI6Dsg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLAlPp2e1tF8gyf1cJisZGTMleissg", @@ -192,7 +192,7 @@ Channel( VideoItem( id: "cpQk2n-wmQ4", name: "LIVE Soldering", - length: Some(7046), + duration: Some(7046), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cpQk2n-wmQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoS3qwdY2rDbhkWJOWHisORlMKnA", @@ -233,7 +233,7 @@ Channel( VideoItem( id: "kIDV_XN9oA8", name: "LIVE Soldering", - length: Some(4353), + duration: Some(4353), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kIDV_XN9oA8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG3KVoFpBFIYCG2mrox_kEq6Arug", @@ -274,7 +274,7 @@ Channel( VideoItem( id: "DWS4Qp3Yn0A", name: "Apollo 11 Launch LIVE - 50 Years Later", - length: Some(4560), + duration: Some(4560), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DWS4Qp3Yn0A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAFkIQ4er8qDNMlD9H8lPzfSnE99g", @@ -315,7 +315,7 @@ Channel( VideoItem( id: "LwjTe3SiVXg", name: "EEVblog LIVE Q&A", - length: Some(3943), + duration: Some(3943), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LwjTe3SiVXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzTlnjBJLT3KJVN4teMlX_svuaNA", @@ -356,7 +356,7 @@ Channel( VideoItem( id: "skPiz3GrVNs", name: "LIVE Keysight Scope Draw #2", - length: Some(2445), + duration: Some(2445), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/skPiz3GrVNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFiIfUBfoL0Q9CLR9Pc8bXy-zclg", @@ -397,7 +397,7 @@ Channel( VideoItem( id: "HZc-Ctvgv5Y", name: "LIVE Keysight Scope Draw", - length: Some(6455), + duration: Some(6455), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HZc-Ctvgv5Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQM1_QPh6u5_BFonLCdFPz-AcpkQ", @@ -438,7 +438,7 @@ Channel( VideoItem( id: "5ilODYy2zGE", name: "Ask Dave LIVE - March 8th 2019", - length: Some(10645), + duration: Some(10645), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5ilODYy2zGE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCft4f7Lw3l3_u55bzUibWXr-UHTQ", @@ -479,7 +479,7 @@ Channel( VideoItem( id: "gQ7TTuiDH1M", name: "Ask Dave LIVE - Jan 28th 2019", - length: Some(17228), + duration: Some(17228), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gQ7TTuiDH1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUPZz1xzckl5xzdBRonA_1WNWIyg", @@ -520,7 +520,7 @@ Channel( VideoItem( id: "qpw9dKxL2Ho", name: "LIVE KiCAD 5 PCB Design", - length: Some(8003), + duration: Some(8003), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qpw9dKxL2Ho/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAC-kI2770I7JgVCTYExG0vXoYoxA", @@ -561,7 +561,7 @@ Channel( VideoItem( id: "wECZoUNd2GY", name: "EEVblog LIVE DIY TTL Computer Build", - length: Some(14599), + duration: Some(14599), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wECZoUNd2GY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzZwAD6bQQEaYuZEzmQ0sgQKc1yA", @@ -602,7 +602,7 @@ Channel( VideoItem( id: "bV99dn-tWDk", name: "EEVblog LIVE Scope Draw", - length: Some(2694), + duration: Some(2694), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bV99dn-tWDk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAR4ckJxAituVMFCyWpYhHXozqQRA", @@ -643,7 +643,7 @@ Channel( VideoItem( id: "-NGRIFiu_p0", name: "EEVblog LIVE SHOW - End of 2017", - length: Some(12238), + duration: Some(12238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-NGRIFiu_p0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjMmIdgjiSMBQ2X73h6-NtVUIqSg", @@ -684,7 +684,7 @@ Channel( VideoItem( id: "zgE6_x4rM5k", name: "LIVE Show Giveaway", - length: Some(5533), + duration: Some(5533), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zgE6_x4rM5k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjb92wUNqOvTKs9TCLCThvdkdz3A", @@ -725,7 +725,7 @@ Channel( VideoItem( id: "9DjABCJN2M8", name: "LIVE Testing of the Batteriser", - length: Some(10747), + duration: Some(10747), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9DjABCJN2M8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXhnnHCuNfSzHZC64KFsfHPPJDNg", @@ -766,7 +766,7 @@ Channel( VideoItem( id: "cAsUI2YhqN4", name: "LIVE Unboxing of the Batteriser! (Batteroo)", - length: Some(3102), + duration: Some(3102), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cAsUI2YhqN4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOE1MyG1nFXs9D2qdK78bpN1mc_g", @@ -807,7 +807,7 @@ Channel( VideoItem( id: "CLYKwFMW9J0", name: "Juno Live Again", - length: Some(811), + duration: Some(811), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CLYKwFMW9J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7WO4HX0e7M58ddoJD5dkVjdKHYQ", @@ -848,7 +848,7 @@ Channel( VideoItem( id: "nV43vM9VcUA", name: "Juno Live", - length: Some(190), + duration: Some(190), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nV43vM9VcUA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy-zEVPDvomCCi8YoP8Ig_Hrhzfw", @@ -889,7 +889,7 @@ Channel( VideoItem( id: "38uFiWzcDnc", name: "Juno Orbital Insertion Live", - length: Some(1731), + duration: Some(1731), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/38uFiWzcDnc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhrDygxFH4T2c-4efZqVaJnYY7g", @@ -930,7 +930,7 @@ Channel( VideoItem( id: "ib80yjc9VlM", name: "Juno Jupiter Live", - length: Some(581), + duration: Some(581), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ib80yjc9VlM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbJJvzoEmwUc7nAm6GLJpoZJKmgQ", @@ -971,7 +971,7 @@ Channel( VideoItem( id: "rQRakYpb8-g", name: "eevSTREAM: Lab Rearrangement Part 2", - length: Some(8616), + duration: Some(8616), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rQRakYpb8-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdGJH0yhCQ7kmI3d3JXVv_7xzJAQ", @@ -1012,7 +1012,7 @@ Channel( VideoItem( id: "DwLEFKu2XWg", name: "eevSTREAM: Lab Rearrangement Part 1", - length: Some(768), + duration: Some(768), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DwLEFKu2XWg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXvSePgZ8NIKQTviqWvROVZFRPpA", @@ -1053,7 +1053,7 @@ Channel( VideoItem( id: "VeUDXQR3F2o", name: "Live Show", - length: Some(10360), + duration: Some(10360), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VeUDXQR3F2o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmgrfQXMTaGMahuP8F_UHJAomFbg", @@ -1094,7 +1094,7 @@ Channel( VideoItem( id: "PgZx25vVwoI", name: "Live Giveaway", - length: Some(1808), + duration: Some(1808), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PgZx25vVwoI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTrMmoCfISxG0YSqC4oEyKGHdK_A", @@ -1135,7 +1135,7 @@ Channel( VideoItem( id: "jUtzoO-ur34", name: "Inventables X-Carve LIVE Build Part 4", - length: Some(10665), + duration: Some(10665), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jUtzoO-ur34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO35sFP8D_Q08HxMZkNHFO8MmpDg", @@ -1176,7 +1176,7 @@ Channel( VideoItem( id: "199gtbX1y4M", name: "Inventables X-Carve LIVE Build Part 3 + Batteriser Rant", - length: Some(6267), + duration: Some(6267), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/199gtbX1y4M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg3bMS00xpSXmNn1f5hXu_jWWC1w", @@ -1217,7 +1217,7 @@ Channel( VideoItem( id: "nQH4I_p7-MI", name: "Inventables X-Carve LIVE Build Part 2", - length: Some(17643), + duration: Some(17643), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nQH4I_p7-MI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBMIA1YzQefFwGj5UFikXuYS2Nkng", @@ -1258,7 +1258,7 @@ Channel( VideoItem( id: "XBMNFXGKpaw", name: "Inventables X-Carve LIVE Build", - length: Some(5479), + duration: Some(5479), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XBMNFXGKpaw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCV980wWO8tdx0aFDXwPn9aBQ2xlA", @@ -1299,7 +1299,7 @@ Channel( VideoItem( id: "yl6DGgiE3J8", name: "Apollo Saturn LVDC Live testing", - length: Some(1076), + duration: Some(1076), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yl6DGgiE3J8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCugABHuqqPZQjV9cEm0JFh7R5aiA", @@ -1340,7 +1340,7 @@ Channel( VideoItem( id: "EEMcIZAcKjc", name: "LIVE EEVblog Mailbag", - length: Some(7344), + duration: Some(7344), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EEMcIZAcKjc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCg16HpJqC9mNwkYOf8b0cfAuNLOA", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts.snap index c2116be..e9e98bf 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts.snap @@ -122,7 +122,7 @@ Channel( VideoItem( id: "bGXP83AU3Mc", name: "do u wanna get swole?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9bzCBeHDbZFLE84Up3IiBIsxmmA", @@ -148,7 +148,7 @@ Channel( VideoItem( id: "E52sSgZlgYs", name: "the holy trinity of korean street food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDBahtFRcfBInHuA8CjXFPWkF2jHg", @@ -174,7 +174,7 @@ Channel( VideoItem( id: "ovaHmfy3O6U", name: "hangover food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCHmvWlG06h-DT6oxfmh69JGQ69KA", @@ -200,7 +200,7 @@ Channel( VideoItem( id: "FHTQmKTZnlI", name: "pig trotter raguuuuuuuuu 💅", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0xhka1osA4nI3VCwhQusn3ND3Hg", @@ -226,7 +226,7 @@ Channel( VideoItem( id: "1AXB0l_wKMs", name: "what i ate in google japan", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsfYJ0KffUNn-9jBzNRTqetyFr8g", @@ -252,7 +252,7 @@ Channel( VideoItem( id: "1ARLtk3HiB0", name: "succumb to your cravings", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBY9E40Ehvq862CVItJy0Uj_pS5bg", @@ -278,7 +278,7 @@ Channel( VideoItem( id: "0FfDoDHpaN8", name: "you can\'t let the what ifs rule your life", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBiV2TVPO-VbIjoNtwCKmFuxmj6LA", @@ -304,7 +304,7 @@ Channel( VideoItem( id: "kuT90_RIdF0", name: "duck confit lollipop 🦆🍭", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCUN-DW72m7sAXJMgVkWNxPYpJBcQ", @@ -330,7 +330,7 @@ Channel( VideoItem( id: "aPJLhrcM4Yg", name: "HOUSE TOUR", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1TbWAIbzyWq8AXLoW0xqaji3ukQ", @@ -356,7 +356,7 @@ Channel( VideoItem( id: "DKQrG_hJJX4", name: "how to meal prep like a korean", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBE2DnpLFvtXsZOu1Ta4JQeOToVAw", @@ -382,7 +382,7 @@ Channel( VideoItem( id: "lNizW_P_oVw", name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBI5XrkQ9Hesbf4lWELy7Uk3yMGMg", @@ -408,7 +408,7 @@ Channel( VideoItem( id: "kbWyJjrCjwA", name: "enemies as fertilizer √(veg)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDlk30Km1M0jze1M3O90fB2LdvoAQ", @@ -434,7 +434,7 @@ Channel( VideoItem( id: "xAp910JTDig", name: "let\'s make some cabbage rolls for lunch", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJtpPGRgffBu9WDXACbtiGa_oRgA", @@ -460,7 +460,7 @@ Channel( VideoItem( id: "vSL7dhKatEk", name: "Rating Everything I ate at IKEA Korea", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBYpIDYbwwWiCqRNVi6PlfEfjrt4A", @@ -486,7 +486,7 @@ Channel( VideoItem( id: "LZzhUpACXSk", name: "I\'m done being the bigger person", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAFTvhtVUP7QZ4P7U70-0XH7PzDDg", @@ -512,7 +512,7 @@ Channel( VideoItem( id: "5C7nqNDfhis", name: "we\'re cooking a whole bird today", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA9I9irDsRjikwd0aqp1FWNFtjAqA", @@ -538,7 +538,7 @@ Channel( VideoItem( id: "6mj4Af0kUOQ", name: "men will disappoint but never potatoes", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAVxl-FPt878AQXPBhbV1VSGeR8sw", @@ -564,7 +564,7 @@ Channel( VideoItem( id: "1c3axhSJiaQ", name: "I used to hate korean food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA", @@ -590,7 +590,7 @@ Channel( VideoItem( id: "F9Vz0m7DPeU", name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDOoCVL6la3ztUeQ6vP4iL1cEBRjQ", @@ -616,7 +616,7 @@ Channel( VideoItem( id: "Uey7kl56wks", name: "Grabbing Snacks from 7/11 Hawaii", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCWmgajinNtIEbiPbqEtDvkC7Ydrg", @@ -642,7 +642,7 @@ Channel( VideoItem( id: "3un2eUAr6Dg", name: "cheesy korean corn balls hit different", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4LziL6GHd1jg8btMJDIM_RhgE_A", @@ -668,7 +668,7 @@ Channel( VideoItem( id: "rI5tWrGpDJA", name: "hawaiian tajin?!?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAjNiKHdFSKGavBrZRDxi9WdR-gJw", @@ -694,7 +694,7 @@ Channel( VideoItem( id: "WQiGksTxr5g", name: "Rating everything I ate at Hawaiian Supermarket 🌺🏰 pt.2", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WQiGksTxr5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvzC5xVdTEJX8xtiOqzmeKvmouIg", @@ -720,7 +720,7 @@ Channel( VideoItem( id: "G7aw-QOsagk", name: "Grocery Shopping at Hawaiian Supermarket 🌺🏰 pt.1", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G7aw-QOsagk/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAoKEkj2lqYU07yW_DU35TNHEOq4w", @@ -746,7 +746,7 @@ Channel( VideoItem( id: "Y_F1_Yf-DKQ", name: "Breakfast at Hawaiian McDonald\'s 🌺", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y_F1_Yf-DKQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDTLFBwRThZUk0eugFSNxc-CKI_HQ", @@ -772,7 +772,7 @@ Channel( VideoItem( id: "Q_ZMcP8faw4", name: "crab rangoon toast 🦀 🍞", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q_ZMcP8faw4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLATLiHTNqLoBKsEKbOckkGjXMvoHA", @@ -798,7 +798,7 @@ Channel( VideoItem( id: "1aedyP3r3D0", name: "my secret hot pot sauce 🧙\u{200d}♀\u{fe0f}🍃", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1aedyP3r3D0/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCh2MpR5k3jCS_wfX-wjtVuIcu7YQ", @@ -824,7 +824,7 @@ Channel( VideoItem( id: "fkPkHZ1yyBU", name: "the good vs the bad", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fkPkHZ1yyBU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCMngiRtLrBPppmfPnJwJ-cYMwttA", @@ -850,7 +850,7 @@ Channel( VideoItem( id: "NbQcySLMLmA", name: "cooking with waste?!🗑\u{fe0f}", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NbQcySLMLmA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCvxPQo9eqYwjk4cxyBnrHed-tcZg", @@ -876,7 +876,7 @@ Channel( VideoItem( id: "3w_5vzM1Pc4", name: "Shrek burger 🍔🍀👹", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3w_5vzM1Pc4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB64zOKgmhOt7bvQseeIbjKBICDAg", @@ -902,7 +902,7 @@ Channel( VideoItem( id: "girJP2r_zLg", name: "$$$ on food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/girJP2r_zLg/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg2hmruZvx30aiP4Jb4dhz03qOZA", @@ -928,7 +928,7 @@ Channel( VideoItem( id: "zHp7sZ5OONM", name: "pumpkin spice churro?! 🎃", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zHp7sZ5OONM/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD8ZrcI6mq91ARKnRb_vg-0Qv2raw", @@ -954,7 +954,7 @@ Channel( VideoItem( id: "iqMl3gQEZ0E", name: "3,000,000", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iqMl3gQEZ0E/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBUC1sw84NlLiyTJTcfnDWFjVC75w", @@ -980,7 +980,7 @@ Channel( VideoItem( id: "glyJWxp7a5g", name: "being smart was my personality trait", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/glyJWxp7a5g/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBbrWwLndPt5ZV5x4dnqmTC_aAhig", @@ -1006,7 +1006,7 @@ Channel( VideoItem( id: "dd1EZIkANYs", name: "the horror maze", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dd1EZIkANYs/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlqz2BM3K2VeLlXMPBVwXNXih6vg", @@ -1032,7 +1032,7 @@ Channel( VideoItem( id: "enioc_stRww", name: "furikake bagels with wasabi cream cheese", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/enioc_stRww/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBz9Qo96FWssNsMhQ54DMxdYYwLfQ", @@ -1058,7 +1058,7 @@ Channel( VideoItem( id: "NUM8kCPas5w", name: "simple is best", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NUM8kCPas5w/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC8N3YRr9A6-u6L0AtMynct4C_GzQ", @@ -1084,7 +1084,7 @@ Channel( VideoItem( id: "1djkcsFnlYE", name: "edible history lesson!", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1djkcsFnlYE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBHn_6yOrnRXH_zbxVaAuKzSulcew", @@ -1110,7 +1110,7 @@ Channel( VideoItem( id: "cIYrJtAoftI", name: "and I\'m feeling good", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cIYrJtAoftI/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC4q0VcbBZroejhAztDkdlk7Ww5Og", @@ -1136,7 +1136,7 @@ Channel( VideoItem( id: "cCrH8Er5tf4", name: "Rating Korean Convenience Store Milk Flavors 🥛🍼", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cCrH8Er5tf4/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBwc2ikrGH_gZfcyqTnZDfHjt5LuA", @@ -1162,7 +1162,7 @@ Channel( VideoItem( id: "tav5wsH7pzU", name: "online dating?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tav5wsH7pzU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCheup7XAM_O1UAMEO5Iqup4-lGRQ", @@ -1188,7 +1188,7 @@ Channel( VideoItem( id: "5Vd4_GXjF7o", name: "Creating thumbnails has never been easier with Adobe Express", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5Vd4_GXjF7o/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCbYkH7INYGHW0IcO3DKip5iD2PCA", @@ -1214,7 +1214,7 @@ Channel( VideoItem( id: "-FN1sEI8HkU", name: "my favorite color is green", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-FN1sEI8HkU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCLWKPrR-VCdsXagJ1MIyah7dDdDQ", @@ -1240,7 +1240,7 @@ Channel( VideoItem( id: "viT-dcl2DGE", name: "frodo baggins?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/viT-dcl2DGE/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDb0oYC_3V79CSR0j-4sR4CuNQekQ", @@ -1266,7 +1266,7 @@ Channel( VideoItem( id: "N5AKQflK1TU", name: "When you impulse buy...", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/N5AKQflK1TU/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDwfPTcuQHyziYsmTrSkg9xi1jnag", @@ -1292,7 +1292,7 @@ Channel( VideoItem( id: "OzIFALQ_YtA", name: "taste testing gam!", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OzIFALQ_YtA/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBMcyG6Fu4rrXk-JQL5tx0hzSAxlw", @@ -1318,7 +1318,7 @@ Channel( VideoItem( id: "dAcJILbc_0Q", name: "How to: Korean rice wine 🍶 (makgeolli)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dAcJILbc_0Q/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAXbHym4PFTTO25GCI4n1tjSaQVCw", @@ -1344,7 +1344,7 @@ Channel( VideoItem( id: "GvutfmW26JQ", name: "👹stay sour 🍋", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GvutfmW26JQ/oar2.jpg?sqp=-oaymwEaCJUDENAFSFXyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBgCJ06W3wOend0UgkuBKoHOg0eig", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts_20240129_pageheader.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts_20240129_pageheader.snap index c3a1f02..47cf981 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts_20240129_pageheader.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_shorts_20240129_pageheader.snap @@ -70,7 +70,7 @@ Channel( VideoItem( id: "LJAt2RHBhYA", name: "Rating Korean Traditional Desserts out of 10!!!", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LJAt2RHBhYA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBs1ulw5vkRkR_SG6pp7Wuy90QK0Q", @@ -96,7 +96,7 @@ Channel( VideoItem( id: "apL97zDoAY0", name: "best bang for your buck", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/apL97zDoAY0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDTJ5F-kzUTGBPolJgqloUZWve4GQ", @@ -122,7 +122,7 @@ Channel( VideoItem( id: "6au8hFOnUXI", name: "don\'t judge a book by its cover", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6au8hFOnUXI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCACe2S2wBTr0KVSFWzGda61k8Epw", @@ -148,7 +148,7 @@ Channel( VideoItem( id: "4wJAOnnPYsI", name: "I ❤\u{fe0f} feet", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4wJAOnnPYsI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCwFBUxJXMhuiv1ZevlM6r2x7Wq-Q", @@ -174,7 +174,7 @@ Channel( VideoItem( id: "DDsWN4HcoWQ", name: "Trying North Korean Food 🇰🇵 and Rating it out of 10", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DDsWN4HcoWQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBIBARX0aoleQ1NFxd_DGhhHT4gDg", @@ -200,7 +200,7 @@ Channel( VideoItem( id: "oMIIEp8JMT0", name: "get that bag 💰", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oMIIEp8JMT0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKsO5-KQzqU-bJinHsPDWrEQBIzQ", @@ -226,7 +226,7 @@ Channel( VideoItem( id: "ElEgDnx3Dfk", name: "My Mom\'s 10-step Korean Skincare Routine", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ElEgDnx3Dfk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD4uT5fSWvTnjAh_BC6hsW48zoH1w", @@ -252,7 +252,7 @@ Channel( VideoItem( id: "kNpFjW0VAUQ", name: "What Koreans eat on New Year\'s", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kNpFjW0VAUQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBJTK-xhUMSzq8MBJ3s4kSXR7pFlw", @@ -278,7 +278,7 @@ Channel( VideoItem( id: "0_5Y3ZBo5cw", name: "DOOBYMART", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0_5Y3ZBo5cw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBlcI8i0DqG2vKRFGDzIQXBEsifFQ", @@ -304,7 +304,7 @@ Channel( VideoItem( id: "VyVs3GCQlG0", name: "I love ogres", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VyVs3GCQlG0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBsbPYKlWAAZNphAPobZQReZzk-lA", @@ -330,7 +330,7 @@ Channel( VideoItem( id: "_yMEpzXq3yI", name: "Are you broke?😞📉📉📉", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_yMEpzXq3yI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCRyJDCY-7MsSYbsl2ZZoC8DxPkKw", @@ -356,7 +356,7 @@ Channel( VideoItem( id: "sM1jIMnq0M0", name: "best tteokbokki & dark sketchy alleys", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sM1jIMnq0M0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCIQyuEFF2m676ZX7UpcK3hVHTzzw", @@ -382,7 +382,7 @@ Channel( VideoItem( id: "nZg_Qoknu_M", name: "moist.", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nZg_Qoknu_M/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCcXipLuXAs9D8d1nRJbMh-BZkK1Q", @@ -408,7 +408,7 @@ Channel( VideoItem( id: "CgS55gL33nY", name: "Do you have any Korean Friends?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CgS55gL33nY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCVh8B6HRomEnQX6dyDJVbYhE-RGA", @@ -434,7 +434,7 @@ Channel( VideoItem( id: "VOxXkxFNOpM", name: "take my money", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VOxXkxFNOpM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAkP1n1_Oe8pBGluy_lyi4I3pO4SQ", @@ -460,7 +460,7 @@ Channel( VideoItem( id: "aZW65r9uUXA", name: "i\'m a mother?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aZW65r9uUXA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIcJpRgW65hGv0GM8ak-L0PyErUw", @@ -486,7 +486,7 @@ Channel( VideoItem( id: "CnI9or-Ings", name: "moshi moshi (ASMR)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CnI9or-Ings/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDIoImzeIOlO25vkY7j92YwUhAOdw", @@ -512,7 +512,7 @@ Channel( VideoItem( id: "oYAp2v4PxdQ", name: "perfect procrastination", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oYAp2v4PxdQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLA3PsooCO5Cot_z-vLFCF1Kdtshtg", @@ -538,7 +538,7 @@ Channel( VideoItem( id: "1ivqsJSGghU", name: "THREE CHILI MAPO TOFU (Vegan)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1ivqsJSGghU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCk5IRHy8TmJPzE9yD3M_OGXdww_g", @@ -564,7 +564,7 @@ Channel( VideoItem( id: "s56ctQoFi70", name: "day 1 leaving seoul", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s56ctQoFi70/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCfn6oYumOdPd33WlDWaqBUZzaEiw", @@ -590,7 +590,7 @@ Channel( VideoItem( id: "8XHcYgsJJjs", name: "I love Korea but", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8XHcYgsJJjs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAtj-QeOzONDGPzDWC8IdFGigmKYA", @@ -616,7 +616,7 @@ Channel( VideoItem( id: "DXYbvkJEYzw", name: "demogorgon rice", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DXYbvkJEYzw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDd33uW_fC4Dz5JqYlDtGWGdMQn8A", @@ -642,7 +642,7 @@ Channel( VideoItem( id: "3YGVw8RrB3U", name: "Rating Everything I Ate at McDonald\'s Singapore 🇸🇬🤡", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3YGVw8RrB3U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAV2y-_1JXq9RecS8ELjyUsoN52NA", @@ -668,7 +668,7 @@ Channel( VideoItem( id: "VWh8hm-GlXw", name: "the magic number: 25", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VWh8hm-GlXw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1wp7tz9TU3Kx2Oho7mrVoFys8Jw", @@ -694,7 +694,7 @@ Channel( VideoItem( id: "ewpJQHj5jWY", name: "How we started✨ the garden ✨", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ewpJQHj5jWY/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAOw5ntEtOhIgNJy2y1QQCFLUtGBQ", @@ -720,7 +720,7 @@ Channel( VideoItem( id: "SRnHMGMJ6mM", name: "How to Shop at Costco ✨economical milf✨", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SRnHMGMJ6mM/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDrwe86eXSemFBKB3xLGnRIDcL_qA", @@ -746,7 +746,7 @@ Channel( VideoItem( id: "bGXP83AU3Mc", name: "do u wanna get swole?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bGXP83AU3Mc/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBLGuAqqpjhQ_Y81P2pxchz-z971g", @@ -772,7 +772,7 @@ Channel( VideoItem( id: "E52sSgZlgYs", name: "the holy trinity of korean street food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E52sSgZlgYs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAZr5j2o2IdpTLXUoSKT5QK-DFJgw", @@ -798,7 +798,7 @@ Channel( VideoItem( id: "ovaHmfy3O6U", name: "hangover food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ovaHmfy3O6U/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBg-kG4rAi-BQ8Xkp2hOtOu-oXDLQ", @@ -824,7 +824,7 @@ Channel( VideoItem( id: "FHTQmKTZnlI", name: "pig trotter raguuuuuuuuu 💅", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FHTQmKTZnlI/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBaPmdp59deKec5AiRRJ_c6oWOpuA", @@ -850,7 +850,7 @@ Channel( VideoItem( id: "1AXB0l_wKMs", name: "what i ate in google japan", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1AXB0l_wKMs/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAwymbQoerZLtr77RuARo1iok4_WQ", @@ -876,7 +876,7 @@ Channel( VideoItem( id: "1ARLtk3HiB0", name: "succumb to your cravings", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1ARLtk3HiB0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDSjiCiBhM1i7n68LVRv_G5GW5vRw", @@ -902,7 +902,7 @@ Channel( VideoItem( id: "0FfDoDHpaN8", name: "you can\'t let the what ifs rule your life", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0FfDoDHpaN8/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAJK1Av4zHRIWRBMSEfYRXxpwCSlQ", @@ -928,7 +928,7 @@ Channel( VideoItem( id: "kuT90_RIdF0", name: "duck confit lollipop 🦆🍭", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kuT90_RIdF0/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCt9L5XUhmlkwuxMuupIt4kCnxctA", @@ -954,7 +954,7 @@ Channel( VideoItem( id: "aPJLhrcM4Yg", name: "HOUSE TOUR", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aPJLhrcM4Yg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBCLF6yI6Ke96PIrfo1s5BhYfeWvg", @@ -980,7 +980,7 @@ Channel( VideoItem( id: "DKQrG_hJJX4", name: "how to meal prep like a korean", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DKQrG_hJJX4/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLDZTyFRl919wEGdUg95-XrNIH99mg", @@ -1006,7 +1006,7 @@ Channel( VideoItem( id: "lNizW_P_oVw", name: "Rating Everything I ate at McDonald\'s Japan 🇯🇵", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lNizW_P_oVw/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAAiwuuJufebYj3P4aTo7wyBjh9Kw", @@ -1032,7 +1032,7 @@ Channel( VideoItem( id: "kbWyJjrCjwA", name: "enemies as fertilizer √(veg)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kbWyJjrCjwA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCItmfFh3UD53WvNCWd9HAItdubgg", @@ -1058,7 +1058,7 @@ Channel( VideoItem( id: "xAp910JTDig", name: "let\'s make some cabbage rolls for lunch", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xAp910JTDig/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD0jor2XgDSjgk4IdMhCOGNqv0Vag", @@ -1084,7 +1084,7 @@ Channel( VideoItem( id: "vSL7dhKatEk", name: "Rating Everything I ate at IKEA Korea", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vSL7dhKatEk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1jtkvWyabnlTD7ktUQCWYvKctFQ", @@ -1110,7 +1110,7 @@ Channel( VideoItem( id: "LZzhUpACXSk", name: "I\'m done being the bigger person", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LZzhUpACXSk/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLBKpbXJ3fj1mWw8YLEGgqqQJFPapw", @@ -1136,7 +1136,7 @@ Channel( VideoItem( id: "5C7nqNDfhis", name: "we\'re cooking a whole bird today", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5C7nqNDfhis/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLAywBcN0oFzKJrq2jxAcYU8Gz5mQQ", @@ -1162,7 +1162,7 @@ Channel( VideoItem( id: "6mj4Af0kUOQ", name: "men will disappoint but never potatoes", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6mj4Af0kUOQ/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLB3pIz2cfevgV0ccu3bQM4IDaBSKg", @@ -1188,7 +1188,7 @@ Channel( VideoItem( id: "1c3axhSJiaQ", name: "I used to hate korean food", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1c3axhSJiaQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBucOEbTsWTDjOOCjNa-fAvz1yxyA", @@ -1214,7 +1214,7 @@ Channel( VideoItem( id: "F9Vz0m7DPeU", name: "Rating everything I got at 7/11 Hawaii ( ft. Mauna Kea )", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F9Vz0m7DPeU/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLD1w_8DhU37Mv_R3tQ9Kb6ouIU_VA", @@ -1240,7 +1240,7 @@ Channel( VideoItem( id: "Uey7kl56wks", name: "Grabbing Snacks from 7/11 Hawaii", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Uey7kl56wks/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCybGwQAf9s43HoSQJGvWlOmmLPgw", @@ -1266,7 +1266,7 @@ Channel( VideoItem( id: "3un2eUAr6Dg", name: "cheesy korean corn balls hit different", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3un2eUAr6Dg/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLC9I2IQJx0hUPF9mcw4lvs1I6Bj4A", @@ -1292,7 +1292,7 @@ Channel( VideoItem( id: "rI5tWrGpDJA", name: "hawaiian tajin?!?", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rI5tWrGpDJA/oar2.jpg?sqp=-oaymwEdCJUDENAFSFWQAgHyq4qpAwwIARUAAIhCcAHAAQY=&rs=AOn4CLCkg-RG2ToW-gXsSdYwO57sis0DkA", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid.snap index c647559..6f0e23e 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid.snap @@ -122,7 +122,7 @@ Channel( VideoItem( id: "EIcmfSzeaKk", name: "our new normal", - length: Some(1106), + duration: Some(1106), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EIcmfSzeaKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsYqYyFrXWHOkwiw0oqls2tGrKQg", @@ -163,7 +163,7 @@ Channel( VideoItem( id: "9NuhKCv3crg", name: "the end.", - length: Some(982), + duration: Some(982), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9NuhKCv3crg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDB0KHjIok8E-gjwidP56UeDJy7Bg", @@ -204,7 +204,7 @@ Channel( VideoItem( id: "38Gd6TdmNVs", name: "KOREAN BARBECUE l doob gourmand ep.3", - length: Some(525), + duration: Some(525), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRo5niO28TGS9JNluTU9wCLCGBQA", @@ -245,7 +245,7 @@ Channel( VideoItem( id: "l9TiwunjzgA", name: "long distance", - length: Some(1043), + duration: Some(1043), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ", @@ -286,7 +286,7 @@ Channel( VideoItem( id: "pRVSdUxdsVw", name: "Repairing...", - length: Some(965), + duration: Some(965), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w", @@ -327,7 +327,7 @@ Channel( VideoItem( id: "2FJVhdOO0F0", name: "a health scare", - length: Some(1238), + duration: Some(1238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg", @@ -368,7 +368,7 @@ Channel( VideoItem( id: "CutR_1SDDzY", name: "feels good to be back", - length: Some(1159), + duration: Some(1159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA", @@ -409,7 +409,7 @@ Channel( VideoItem( id: "KUz7oArksR4", name: "running away", - length: Some(1023), + duration: Some(1023), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA", @@ -450,7 +450,7 @@ Channel( VideoItem( id: "sPb2gyN-hnE", name: "worth fighting for", - length: Some(1232), + duration: Some(1232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ", @@ -491,7 +491,7 @@ Channel( VideoItem( id: "PXsK9-CFoH4", name: "waiting...", - length: Some(1455), + duration: Some(1455), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJ-57qZ-dOIsdFy5H8WT9UsS2W9w", @@ -532,7 +532,7 @@ Channel( VideoItem( id: "r2ye6zW0nbM", name: "a wedding", - length: Some(1207), + duration: Some(1207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3L2DVtMtxaPaFjVPcNnjDHE5Wvw", @@ -573,7 +573,7 @@ Channel( VideoItem( id: "rriwHj8U664", name: "my seoul apartment tour", - length: Some(721), + duration: Some(721), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rriwHj8U664/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy6zauLaf2KLJ6R41q0CPM8298PA", @@ -614,7 +614,7 @@ Channel( VideoItem( id: "FKJtrUeol3o", name: "with quantity comes quality", - length: Some(1140), + duration: Some(1140), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FKJtrUeol3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7U0hZPrEiHZcTVcicymOllR05qw", @@ -655,7 +655,7 @@ Channel( VideoItem( id: "zYHB38UlzE0", name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?", - length: Some(775), + duration: Some(775), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zYHB38UlzE0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAO5etokCiF7cvyR-7kobN9RhTLA", @@ -696,7 +696,7 @@ Channel( VideoItem( id: "hGbQ2WM9nOo", name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN", - length: Some(428), + duration: Some(428), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_bMKoJhW-ifemEiqSBj-6dvEnUg", @@ -737,7 +737,7 @@ Channel( VideoItem( id: "PxGmP4v_A38", name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!", - length: Some(1437), + duration: Some(1437), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PxGmP4v_A38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArZRyFU5e71-vMdGZzuxCCroEkww", @@ -778,7 +778,7 @@ Channel( VideoItem( id: "8t-WyYcpEDE", name: "What I hate most", - length: Some(61), + duration: Some(61), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8t-WyYcpEDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsJHHXMP4fUEFqn-LExXU5yPyZ-Q", @@ -819,7 +819,7 @@ Channel( VideoItem( id: "RroYpLxxNjY", name: "I\'m Back. ㅣ cooking korean food, eating alone, working out, and 2M!", - length: Some(1313), + duration: Some(1313), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RroYpLxxNjY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYJ_dcqUt2kR-4jOAUu8O0Ja9SLA", @@ -860,7 +860,7 @@ Channel( VideoItem( id: "l47QuudsZ34", name: "We ate our way through Florence (ft. mamadooby)", - length: Some(1109), + duration: Some(1109), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/l47QuudsZ34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB0Vwc7DhN_hFXSRuDAiivLnGGc2A", @@ -901,7 +901,7 @@ Channel( VideoItem( id: "1VW7iXRIrc8", name: "Alone, in the City of Love", - length: Some(1875), + duration: Some(1875), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbNxPLmGzJlvJ-3o5Dz9I5LOGu1A", @@ -942,7 +942,7 @@ Channel( VideoItem( id: "6c58-749p6Y", name: "Old Friends & New", - length: Some(774), + duration: Some(774), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6c58-749p6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClRrTlOF_Q3feHLoM0T5_DFygbIw", @@ -983,7 +983,7 @@ Channel( VideoItem( id: "Q2G53LuEUaU", name: "Where we stand", - length: Some(858), + duration: Some(858), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q2G53LuEUaU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1ppNrqK-xlQ6Sxnn62dp8QXoJBQ", @@ -1024,7 +1024,7 @@ Channel( VideoItem( id: "8rAOeowNQrI", name: "That\'s so last year", - length: Some(1286), + duration: Some(1286), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8rAOeowNQrI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSBW_fD0pttfFh4Yc_Kx1UIZHzfg", @@ -1065,7 +1065,7 @@ Channel( VideoItem( id: "0RGIdIKkbSI", name: "The Muffin Man", - length: Some(1052), + duration: Some(1052), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0RGIdIKkbSI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDo42DBFMfLKVHtXETG5yuU20FVMw", @@ -1106,7 +1106,7 @@ Channel( VideoItem( id: "NudTbo2CJMY", name: "Flying to London", - length: Some(1078), + duration: Some(1078), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NudTbo2CJMY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEdvWWmhSaDTTx7b2kJUauMFnQJQ", @@ -1147,7 +1147,7 @@ Channel( VideoItem( id: "8mJk1ncGZig", name: "(not so) Teenage Angst", - length: Some(1376), + duration: Some(1376), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8mJk1ncGZig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1kTcJ6oRyNfaGJbvl6V5UxRhagg", @@ -1188,7 +1188,7 @@ Channel( VideoItem( id: "qvgCi2WpbfE", name: "can\'t smell :s", - length: Some(875), + duration: Some(875), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qvgCi2WpbfE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdSLKkLlOTxprZAH9BajRpHiujrw", @@ -1229,7 +1229,7 @@ Channel( VideoItem( id: "Sm4Yqtqr9f8", name: "I have covid", - length: Some(814), + duration: Some(814), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Sm4Yqtqr9f8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAAWaXioP-Xz_cwkE3APR_5fpkqw", @@ -1270,7 +1270,7 @@ Channel( VideoItem( id: "ZRtf4ksF3qs", name: "Everything I ate in Busan & make up tutorial??", - length: Some(1026), + duration: Some(1026), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZRtf4ksF3qs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnRStN9mU3cu7vDQIkUcO3WiyVZw", @@ -1311,7 +1311,7 @@ Channel( VideoItem( id: "oG4Wth1oVBQ", name: "On the other side", - length: Some(1592), + duration: Some(1592), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oG4Wth1oVBQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDO45Wm2zkuD6ZukxaoxfgGkpuZHg", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid2.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid2.snap index 8d3d608..e4efa91 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid2.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20221011_richgrid2.snap @@ -151,7 +151,7 @@ Channel( VideoItem( id: "4EcQYK_no5M", name: "EEVblog 1506 - History of Electricity with Kathy Loves Physics", - length: Some(6143), + duration: Some(6143), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4EcQYK_no5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9dr9RxHmrRUim7aDSz_mPNrfSKA", @@ -192,7 +192,7 @@ Channel( VideoItem( id: "zEzjVUzNAFA", name: "EEVblog 1505 - 120W Home Phantom Power? Audit Time!", - length: Some(1464), + duration: Some(1464), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zEzjVUzNAFA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnSdLCdtqGA1HYCFv4_MeTHWdVpw", @@ -233,7 +233,7 @@ Channel( VideoItem( id: "YIbQ3nudCA0", name: "EEVblog 1504 - The COOL thing you MISSED at Tesla AI Day 2022", - length: Some(1021), + duration: Some(1021), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YIbQ3nudCA0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDesF0deVLo0ouizZ8ZF_lXolOdrw", @@ -274,7 +274,7 @@ Channel( VideoItem( id: "W1Jl0rMRGSg", name: "EEVblog 1503 - Rigol HDO4000 12bit Oscilloscope TEARDOWN", - length: Some(1798), + duration: Some(1798), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W1Jl0rMRGSg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKFi3YtWo1ii8h8FdQN6CkYgzX2A", @@ -315,7 +315,7 @@ Channel( VideoItem( id: "YFKu_emNzpk", name: "EEVblog 1502 - Is Home Battery Storage Financially Viable?", - length: Some(1199), + duration: Some(1199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YFKu_emNzpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACI3L7nXsK3ZUFD8yK0VAWd32-Uw", @@ -356,7 +356,7 @@ Channel( VideoItem( id: "gremHHvqYTE", name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression", - length: Some(1794), + duration: Some(1794), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw", @@ -397,7 +397,7 @@ Channel( VideoItem( id: "WHO8NBfpaO0", name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL", - length: Some(742), + duration: Some(742), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q", @@ -438,7 +438,7 @@ Channel( VideoItem( id: "W1Q8CxL95_Y", name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED", - length: Some(1770), + duration: Some(1770), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw", @@ -479,7 +479,7 @@ Channel( VideoItem( id: "lagxSrPeoYg", name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!", - length: Some(2334), + duration: Some(2334), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q", @@ -520,7 +520,7 @@ Channel( VideoItem( id: "qTctWW9_FmE", name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!", - length: Some(2399), + duration: Some(2399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA", @@ -561,7 +561,7 @@ Channel( VideoItem( id: "3t9G80wk0pk", name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?", - length: Some(1423), + duration: Some(1423), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA", @@ -602,7 +602,7 @@ Channel( VideoItem( id: "7dze5CnZnmk", name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.", - length: Some(1168), + duration: Some(1168), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA", @@ -643,7 +643,7 @@ Channel( VideoItem( id: "6XnrZpPYgBg", name: "EEVblog 1496 - Winning Mailbag", - length: Some(3139), + duration: Some(3139), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ", @@ -684,7 +684,7 @@ Channel( VideoItem( id: "Psp3ltpFvws", name: "eevBLAB 100 - Reuters Attacks Odysee - LOL", - length: Some(855), + duration: Some(855), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q", @@ -725,7 +725,7 @@ Channel( VideoItem( id: "taVYTYz5vLE", name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!", - length: Some(2592), + duration: Some(2592), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw", @@ -766,7 +766,7 @@ Channel( VideoItem( id: "Y6cZrieFw-k", name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!", - length: Some(1194), + duration: Some(1194), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw", @@ -807,7 +807,7 @@ Channel( VideoItem( id: "Kr2XyhpUdUI", name: "EEVblog 1493 - MacGyver Project - Part 2", - length: Some(1785), + duration: Some(1785), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw", @@ -848,7 +848,7 @@ Channel( VideoItem( id: "rxGafdgkal8", name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY", - length: Some(1163), + duration: Some(1163), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ", @@ -889,7 +889,7 @@ Channel( VideoItem( id: "4yosozyeIP4", name: "EEVblog 1491 - The MacGyver Project - Part 1", - length: Some(1706), + duration: Some(1706), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg", @@ -930,7 +930,7 @@ Channel( VideoItem( id: "06JtC2DC_dQ", name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022", - length: Some(1700), + duration: Some(1700), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ", @@ -971,7 +971,7 @@ Channel( VideoItem( id: "piquT76w9TI", name: "EEVblog 1489 - Mystery Teardown!", - length: Some(1466), + duration: Some(1466), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA", @@ -1012,7 +1012,7 @@ Channel( VideoItem( id: "pKuUKT-zU-g", name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!", - length: Some(2152), + duration: Some(2152), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now", @@ -1053,7 +1053,7 @@ Channel( VideoItem( id: "_R4wQQNSO6k", name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?", - length: Some(2399), + duration: Some(2399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA", @@ -1094,7 +1094,7 @@ Channel( VideoItem( id: "ikp5BorIo_M", name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!", - length: Some(1792), + duration: Some(1792), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw", @@ -1135,7 +1135,7 @@ Channel( VideoItem( id: "7O-QckjCXNo", name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF", - length: Some(592), + duration: Some(592), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg", @@ -1176,7 +1176,7 @@ Channel( VideoItem( id: "VutdTxF4E-0", name: "RIP The Old Garage Lab", - length: Some(115), + duration: Some(115), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw", @@ -1217,7 +1217,7 @@ Channel( VideoItem( id: "o7xfGuRaq94", name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!", - length: Some(1026), + duration: Some(1026), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg", @@ -1258,7 +1258,7 @@ Channel( VideoItem( id: "3WSIfHOv3fc", name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown", - length: Some(1106), + duration: Some(1106), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ", @@ -1299,7 +1299,7 @@ Channel( VideoItem( id: "8yXZJZCKImI", name: "EEVblog 1483 - Holy Mailbag Bomb Batman!", - length: Some(3373), + duration: Some(3373), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw", @@ -1340,7 +1340,7 @@ Channel( VideoItem( id: "vJ4pW6LKJWU", name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit", - length: Some(1132), + duration: Some(1132), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20230415_coachella.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20230415_coachella.snap index 09880ab..a365792 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20230415_coachella.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20230415_coachella.snap @@ -44,7 +44,7 @@ Channel( VideoItem( id: "vFc_pAywtKc", name: "The Murder Capital - Return My Head - Live at Coachella 2023", - length: Some(194), + duration: Some(194), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vFc_pAywtKc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPDC5UHtj76ursSNJqBD-jAiSxHg", @@ -85,7 +85,7 @@ Channel( VideoItem( id: "3JprxZgfcHU", name: "BENEE - Supaloney - ft. Gus Dapperton - Live at Coachella 2023", - length: Some(270), + duration: Some(270), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3JprxZgfcHU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCs4cytf-M3ksr1YZB0Iu22b3_Baw", @@ -126,7 +126,7 @@ Channel( VideoItem( id: "a4QufICobaA", name: "Doechii - What It Is - Live at Coachella 2023", - length: Some(185), + duration: Some(185), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a4QufICobaA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1bg4wXk4z0Tcp-PgPodKlRsf8lA", @@ -167,7 +167,7 @@ Channel( VideoItem( id: "QoRm-xhVqYU", name: "Gabriels - Blame - Live at Coachella 2023", - length: Some(170), + duration: Some(170), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QoRm-xhVqYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9H8nfnmu-G2jIfTelbBNbiAWvqw", @@ -208,7 +208,7 @@ Channel( VideoItem( id: "28DbQYSsn1w", name: "Kaytranada - Intimidate - ft H.E.R. - Live at Coachella 2023", - length: Some(252), + duration: Some(252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/28DbQYSsn1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nO2I3hjct93i3p6V3H1Rmadcg", @@ -249,7 +249,7 @@ Channel( VideoItem( id: "nLFZFp3go3o", name: "SG Lewis - Impact - ft. Channel Tres - Live at Coachella 2023", - length: Some(365), + duration: Some(365), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nLFZFp3go3o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgQvHlztxcmQ3pkFNMKQpgvgMusA", @@ -290,7 +290,7 @@ Channel( VideoItem( id: "RWJMmYcPTR4", name: "MUNA - Silk Chiffon - Live at Coachella 2023", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RWJMmYcPTR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFk7y7WiMC9pZ9zE1YSlh0TA5o5Q", @@ -331,7 +331,7 @@ Channel( VideoItem( id: "gcrW53SoTKs", name: "Pusha T - Diet Coke - Live at Coachella 2023", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gcrW53SoTKs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlGMLr4aBbSqb-8HBAPeXGLtkOGg", @@ -372,7 +372,7 @@ Channel( VideoItem( id: "7pYqbVztRtk", name: "Blink 182 - I Miss You - Live at Coachella 2023", - length: Some(267), + duration: Some(267), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7pYqbVztRtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4rIf8atgIc2nEptj4CjgOPqXVWw", @@ -413,7 +413,7 @@ Channel( VideoItem( id: "yzmSlPiaeRU", name: "Blink 182 - Whats My Age Again - Live at Coachella 2023", - length: Some(157), + duration: Some(157), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yzmSlPiaeRU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzhu2omZ6arr3cGIEM1IGoIp_i3w", @@ -454,7 +454,7 @@ Channel( VideoItem( id: "r3Kpm4lEXmg", name: "Discover the Mirage, Part 2 - Coachella 2023", - length: Some(96), + duration: Some(96), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/r3Kpm4lEXmg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLfc6awfa8Mv7I1nTLxfJRY4XUKQ", @@ -495,7 +495,7 @@ Channel( VideoItem( id: "LqrLCWoXR_k", name: "Coachella on YouTube 2023", - length: Some(31), + duration: Some(31), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LqrLCWoXR_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgX8ylcJLaYZiR3Nvr5WrS_6mw8g", @@ -536,7 +536,7 @@ Channel( VideoItem( id: "J1cmYPtABo0", name: "Discover the Mirage, Part 1 - Coachella 2023", - length: Some(91), + duration: Some(91), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/J1cmYPtABo0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEDuvdZhNVkmvG-usGm9tmgJt7QQ", @@ -577,7 +577,7 @@ Channel( VideoItem( id: "a0BuUhI3f20", name: "Coachella 2023 featuring Bad Bunny, BLACKPINK, Frank Ocean and more 🌵", - length: Some(31), + duration: Some(31), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a0BuUhI3f20/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg-MA8=&rs=AOn4CLBDwxWN_SrIR8rCSQVokx1wfe1iqQ", @@ -618,7 +618,7 @@ Channel( VideoItem( id: "G2p-YqRGh80", name: "MEUTE Interview – Coachella Curated 2022", - length: Some(224), + duration: Some(224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G2p-YqRGh80/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgSSg-MA8=&rs=AOn4CLBWAFod2tomSeOXcy3y5EOIjimn9g", @@ -659,7 +659,7 @@ Channel( VideoItem( id: "eLZq4l37G7k", name: "Belly - Interview - Coachella 2022", - length: Some(302), + duration: Some(302), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eLZq4l37G7k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgPyg6MA8=&rs=AOn4CLBtjJQRABeVsxDVsYK2RwoTETjE8A", @@ -700,7 +700,7 @@ Channel( VideoItem( id: "ViPAf8JpMXY", name: "Still Woozy - Interview - Coachella 2022", - length: Some(304), + duration: Some(304), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ViPAf8JpMXY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhEMA8=&rs=AOn4CLBFMadm51TmtXHYl-3B3s1DS1NLoQ", @@ -741,7 +741,7 @@ Channel( VideoItem( id: "4PKCIRUOZRE", name: "Slander - Interview - Coachella 2022", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4PKCIRUOZRE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUChCMA8=&rs=AOn4CLD6iAmhCyMAwfcKJl18WeC_BrjyFQ", @@ -782,7 +782,7 @@ Channel( VideoItem( id: "0O7abvoOxro", name: "Run The Jewels - Interview Coachella", - length: Some(408), + duration: Some(408), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0O7abvoOxro/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXihNMA8=&rs=AOn4CLCYxlSf_-9OXuvGCVfY8caFGVaGeQ", @@ -823,7 +823,7 @@ Channel( VideoItem( id: "z1Q7ahNLU9o", name: "Rina Sawayama - Interview - Coachella 2022", - length: Some(297), + duration: Some(297), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/z1Q7ahNLU9o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWCg_MA8=&rs=AOn4CLAFBsN92p3Xd5jd75JOkVQmFpRaOQ", @@ -864,7 +864,7 @@ Channel( VideoItem( id: "VB71WJvcdsM", name: "Rich Brian - Interview - Coachella 2022", - length: Some(371), + duration: Some(371), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VB71WJvcdsM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVyhAMA8=&rs=AOn4CLAnNIA4THR0-WH60GnpECd_KRhUEQ", @@ -905,7 +905,7 @@ Channel( VideoItem( id: "FYr3OasngBI", name: "Masego - Interview - Coachella 2022", - length: Some(323), + duration: Some(323), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FYr3OasngBI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgXyg6MA8=&rs=AOn4CLAAT-2gUtrDLaKVDQmsUkKmkE__Lg", @@ -946,7 +946,7 @@ Channel( VideoItem( id: "BwDnV5sbFeU", name: "Louis The Child - Interview - Coachella 2022", - length: Some(360), + duration: Some(360), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BwDnV5sbFeU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWig2MA8=&rs=AOn4CLAXRG17JkByDUun5WIfMdVARqYwtg", @@ -987,7 +987,7 @@ Channel( VideoItem( id: "iH8KFwkMurQ", name: "Kim Petras - Interview - Coachella 2022", - length: Some(294), + duration: Some(294), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iH8KFwkMurQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVChIMA8=&rs=AOn4CLBzJcKvWEWZmdtorJ8P7tfMT1306A", @@ -1028,7 +1028,7 @@ Channel( VideoItem( id: "NK96m-YTUaE", name: "Joe Kay - Interview - Coachella 2022", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NK96m-YTUaE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWyhJMA8=&rs=AOn4CLD6ptJ2_2cwyY2pkGieoYscFjlVpQ", @@ -1069,7 +1069,7 @@ Channel( VideoItem( id: "jnG1qLK0SiI", name: "Japanese Breakfast - Interview - Coachella 2022", - length: Some(312), + duration: Some(312), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jnG1qLK0SiI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWCguMA8=&rs=AOn4CLBTEvxp-kJ7uYZwIaiylaohW_7wGQ", @@ -1110,7 +1110,7 @@ Channel( VideoItem( id: "NdKnb1e9_qA", name: "Idles - Interview - Coachella 2022", - length: Some(395), + duration: Some(395), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NdKnb1e9_qA/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWihTMA8=&rs=AOn4CLBEHQoRUkshAo-28mmB520wlFwlxA", @@ -1151,7 +1151,7 @@ Channel( VideoItem( id: "o8LEidp-Dq8", name: "Freddie Gibbs - Interview - Coachella 2022", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/o8LEidp-Dq8/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgNyhKMA8=&rs=AOn4CLBqrWHD5sKYIrl_Fj6dTSixhqFAbw", @@ -1192,7 +1192,7 @@ Channel( VideoItem( id: "4-sEy0jxh-U", name: "Epik High - Interview - Coachella 2022", - length: Some(386), + duration: Some(386), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4-sEy0jxh-U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUCg9MA8=&rs=AOn4CLBqn7VHNUlbgYidF-k2x8b_W-_xWQ", @@ -1233,7 +1233,7 @@ Channel( VideoItem( id: "YN5CjIFmx88", name: "Duke Dumont - Interview - Coachella 2022", - length: Some(443), + duration: Some(443), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YN5CjIFmx88/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgUyhCMA8=&rs=AOn4CLAPYvywgTRHRSLHZaQXLC1-pdsIIg", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap new file mode 100644 index 0000000..42d984e --- /dev/null +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap @@ -0,0 +1,1333 @@ +--- +source: src/client/channel.rs +expression: map_res.c +--- +Channel( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + subscriber_count: Some(933000), + avatar: [ + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s72-c-k-c0x00ffffff-no-rj", + width: 72, + height: 72, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s120-c-k-c0x00ffffff-no-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s160-c-k-c0x00ffffff-no-rj", + width: 160, + height: 160, + ), + ], + verification: Verified, + description: "NO SCRIPT, NO FEAR, ALL OPINION\nAn off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers\nHosted by Dave Jones from Sydney Australia\n\nDONATIONS:\nBitcoin: 3KqyH1U3qrMPnkLufM2oHDU7YB4zVZeFyZ\nEthereum: 0x99ccc4d2654ba40744a1f678d9868ecb15e91206\nPayPal: david@alternatezone.com\n\nPatreon: https://www.patreon.com/eevblog\n\nEEVblog2: http://www.youtube.com/EEVblog2\nEEVdiscover: https://www.youtube.com/channel/UCkGvUEt8iQLmq3aJIMjT2qQ\n\nEMAIL:\nAdvertising/Commercial: eevblog+business@gmail.com\nFan mail: eevblog+fan@gmail.com\nHate Mail: eevblog+hate@gmail.com\n\nI DON\'T DO PAID VIDEO SPONSORSHIPS, DON\'T ASK!\n\nPLEASE:\nDo NOT ask for personal advice on something, post it in the EEVblog forum.\nI read ALL email, but please don\'t be offended if I don\'t have time to reply, I get a LOT of email.\n\nMailbag\nPO Box 7949\nBaulkham Hills NSW 2153\nAUSTRALIA", + tags: [ + "electronics", + "engineering", + "maker", + "hacker", + "design", + "circuit", + "hardware", + "pic", + "atmel", + "oscilloscope", + "multimeter", + "diy", + "hobby", + "review", + "teardown", + "microcontroller", + "arduino", + "video", + "blog", + "tutorial", + "how-to", + "interview", + "rant", + "industry", + "news", + "mailbag", + "dumpster diving", + "debunking", + ], + vanity_url: Some("https://www.youtube.com/@EEVblog"), + banner: [ + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1060, + height: 175, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1138-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1138, + height: 188, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1707-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 1707, + height: 283, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2120-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2120, + height: 351, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2276-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2276, + height: 377, + ), + Thumbnail( + url: "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + width: 2560, + height: 424, + ), + ], + mobile_banner: [], + tv_banner: [], + has_shorts: true, + has_live: true, + visitor_data: None, + content: Paginator( + count: None, + items: [ + VideoItem( + id: "BpW_DxGRCRw", + name: "EEVblog 1605 - Chasing Fart Noises - JBL Charge 3 \"Repair\"", + duration: Some(1676), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBHX3HMauysp5rOpOOuhvfEsTxqHQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_U5Sa2uICYXjld4CrvvATptclxg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCoKLkbEuYKfnF8kuplvjngEyUN1A", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDQnQsIHhkGbo_SLJY2DFMT1_lhgQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("12 days ago"), + view_count: Some(27799), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Dave is chasing fart noises in this JBL Charge 3 waterproof speaker.\nA teardown, and powerup on the bench to find the mysterious fart noises.\nWill it get repaired, or will the fault do a Harold..."), + ), + VideoItem( + id: "GRRvGj8OT_A", + name: "EEVblog 1604 - BEWARE! Multimeter Burden Voltage", + duration: Some(383), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGMgYyhjMA8=&rs=AOn4CLByLXyg74bCFFJH8-ZqVMLtFqzniQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGMgYyhjMA8=&rs=AOn4CLAcXJZ9LF0JwB9XRc8GTmVY57pg4A", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhjIGMoYzAP&rs=AOn4CLDOJD6P5nzkBqRGXNwNU9U0xPZkMQ", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhjIGMoYzAP&rs=AOn4CLCZrK32i8fghUmiT89TeqxQX10Hiw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 weeks ago"), + view_count: Some(34723), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Burden Voltage is a BIG trap with Multimeters, don\'t get caught out!\nA short video demonstrating the impact of Burden Voltage / Shunt Resistance on current measurement.\n\nMutlimeter Shunt Tutorial..."), + ), + VideoItem( + id: "Nl9NL1oup3Q", + name: "EEVblog 1603 - Colas Wattway Solar Roadways is DEAD", + duration: Some(1055), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD8mC5yQTccSI3dqhCBNgbw8D981w", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDoJQx200qpXQ-EzVw0jrK789egcA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB-OXpAH9uy86pgfpOUyJPqoRUfhQ", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAWmsEaL8v6ii05P_hNTOqDir7-9A", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 weeks ago"), + view_count: Some(60589), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The 1km Colas Wattway Solar Roadway in Normandy in France is finally being scrapped.\nPress F in the chat.\n€5M of taxpayer money down the drain. That money could have bought a 5MW commercial..."), + ), + VideoItem( + id: "u6tuZ7plOa4", + name: "EEVblog 1602 - Sony Amplifier REPAIR ADVENTURE", + duration: Some(2691), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBa5FnB0TzCXbwoequOCmRm_VSIDw", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGyuxbT5RDjioJbP0MZpPjx5KGfw", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkUDAy5lmD4jIwDvnZ_wouReQQiw", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwJw4LOQJtOp9jkqyeuDzNVTvOtQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 weeks ago"), + view_count: Some(48158), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Repair of a Sony HCD-SBT20B Bluetooth Stereo. What it\'s like to nail the repair and then, well come-a-gutsa and have to go down the rabbit hole to fix the fix all whilst battling bad design..."), + ), + VideoItem( + id: "gZIRPJt69sM", + name: "EEVblog 1601 - How VFD (Vacuum Fluorescent) Displays Work", + duration: Some(606), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgHSw4ma5wo_wloJIzb_3L6-BAaQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRUMcrDRkPOCBHD6i1bJpPuQyj_g", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwXmNXxSwqFtdNawCfFwbucc3u9A", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBUaLo7Nv3DbZva82FOIY_ChHG3fw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 weeks ago"), + view_count: Some(23312), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("How VFD (Vacuum Fluorescent) Displays Work.\nExtracted from a hacking video #717: https://www.youtube.com/watch?v=clUVEyi_YNM\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1601-how-vfd-(vacuum-..."), + ), + VideoItem( + id: "SGwHRImfE4E", + name: "EEVblog 1600 - Rouute: Road Based Energy BUSTED", + duration: Some(1317), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAX6ecM7rCaBFym8pyYPrWnYwbGuA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDXmFxtcPiAVEG7zmr1amWN3Td4Pg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8ZePkxoFVNGAqUrRwEWX2DRxKFg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCJXFjDYNXUM_QSZce45bOadBgiAA", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(70912), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Rouute: Road Based Energy! Harvest kinestic energy from cars using speed bumps. Will this decarbonise and save the planet? Do the numbers add up?\n\nhttps://www.rouute.com/road-based-energy\nDiscount..."), + ), + VideoItem( + id: "XYdmX8w8xwI", + name: "EEVblog 1599 - TOP 5 Jellybean Bipolar Transistors", + duration: Some(1370), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrEHr6sXxajy0arfVzB9rlF1APVg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqz9bAHSQ72iytzM1ioyIesJo9rA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtG_u9CWg-VhHWEfF0yIWqHfmQTg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB-n4BcMAgWcLsi3ssO65lR7PcESQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(45396), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The TOP 5 Jellybean Bipolar Junction Transistors (BJT)\n\n00:00 - What is a Jellybean Component?\n01:30 - Low Power BJT: 2N3904 / 3906, SMD Marking 1A\n06:49 - 2N2222\n08:52 - BC547 fanboys\n09:28..."), + ), + VideoItem( + id: "igQoD_I7Arw", + name: "EEVblog 1598 - ANENG AC11 Socket Tester TEARDOWN + SCHEMATIC Reverse Eng", + duration: Some(1187), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh-14EGoep-9LhQ2xkHz4xkUD3jA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAfXU9U0rc1Q5j4f7Ct-jqx_RrckQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC7K7-Rh0rVBuLguj0VaZzRZ2Tm4Q", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEqV1YRK4RBIeVI_7QLzkNU0B14w", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(54864), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Teardown and reverse engineering of the ANENG AC11 Smart Mains Socket Tester + DaveCAD schematic.\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1598-aneng-ac11-socket-tester-teardown-schematic..."), + ), + VideoItem( + id: "kpzNVsSmUu0", + name: "EEVblog 1597 - Zoyi ZT-703S $80 2CH 50MHz Oscilloscope/Multimeter Review", + duration: Some(1792), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPg-goL1Tq9bpbFq9Ni64B0n3o_A", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw1Oq_Nej8ADOSEuf4kHx4RCkvIQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLByIc5t3TIxU-SnKQ18UCRVbRhFQg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDBCboNAHxJphNAxlsIedScp9zQTQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(145453), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Looking at the new $80 Zoyi/Zotech ZT703S Dual channel 50MHz 25,000 count 0.05% handheld oscilloscope/multimeter compared to the single channel 10MHz 10,000 count ZT702S\nhttps://s.click.aliexpress...."), + ), + VideoItem( + id: "AUsENwVjiDQ", + name: "EEVblog 1596 - NEW Digilent Analog Discovery Pro ADP2230 TEARDOWN", + duration: Some(1212), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfOMU68_jSX9nkY3L8dhS8Cv4kOQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCnvjM2BZHjgyIQJV1I1ZQ_RXk2Tg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCNGhrJhe7PZltk0wDJDdV5IFRpdA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDs6dRcR4txFRhzlFaSS1JSRPFM7g", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(37347), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Teardown of the UNRELEASED Digilent Analog Discovery Pro ADP2230\nIt will be released on the 29th Feb 2024 for US$695\nFeaturing the AvE Widlarizer!\nhttps://digilent.com/reference/test-and-measuremen..."), + ), + VideoItem( + id: "nEmO8DcOap4", + name: "EEVblog 1595 - 50 Year Chinese Nuclear Diamond Battery!", + duration: Some(1051), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCajo6A-qIwGioGsM1c0wzSBfiing", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pojZkVS4aTcVgyTCmcTPSr1vOg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCxkPEaPujMTuU3fOw7H1I7rsZ_FQ", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDGMmn8M8ZHRajlM0W-ezuuqsGPGg", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("1 month ago"), + view_count: Some(145315), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A Chinese startup has developed a tiny 50 year life diamond nuclear battery that\'s going to change the world! Yeah, nah. Same old betavoltaic, same old limitations, and same old startup marketing..."), + ), + VideoItem( + id: "fIEH4-P2nyQ", + name: "EEVblog 1594 - Inside a Quantum Computer! with Andrea Morello", + duration: Some(5650), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRMUDhvpmmRPm6XLU21VstvzTzRw", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD8DHZzlUMtmxLLN-qA9Zd-WQtn-A", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC5C05Q_taEr6dJ_7ZZUsNAlMnxOA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfV1MQkPXlSfBEI76RXVHguwrqcQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(73277), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("An in-depth look at the engineering inside a quantum computer, and also demonstrating the operational results live and how they are measured.\nWith Professor Andrea Morello who is the Scientia..."), + ), + VideoItem( + id: "cO45J-8qTZ4", + name: "EEVblog 1593 - 16kV ESD Tester REPAIR - Part 2", + duration: Some(1636), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4xdKXs7GYV215wv6CHdGcgCSKkg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIVwZLpawWUVY9fJPfKUZb109HRQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD49Mep9rt3px3yoVjxbgBwn55AVA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCMf82skBbiBKUlk_rjtz1w3Rtuug", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(24722), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Repairing the Haefely Trench PESD-1600 ESD Tester, plus some testing and discussion of the IEC 61000-4-2 standard.\nPart 1 teardown: https://www.youtube.com/watch?v=-xtZvSG4N9I\nRotary encoder..."), + ), + VideoItem( + id: "AFz0qmkq4LM", + name: "EEVblog 1592 - Fluke 287 Multimeter Teardown", + duration: Some(1022), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7MqMPizOmrSHoXDsieAhELhYHCg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvVNDGakUPgksdzQoVBtnuFoEhOw", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBBqAmgDGBFIKlKfeeIhlSQ2q78Q", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzn6AUQPf5LEwXE-iFLWsDikereg", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(51408), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Fluke 287 Multmeter Teardown.\nTesting video: https://www.youtube.com/watch?v=FgkD8K0Ssdc\nForum: https://www.eevblog.com/forum/blog/eevblog-1592-fluke-287-multimeter-teardown/\nTeardown photos:..."), + ), + VideoItem( + id: "bnQCKa6GNWo", + name: "EEVblog 1591 - MORE Colas Wattway Solar Cycleways in the Netherlands!", + duration: Some(1343), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA71_sOs1fDAGBk2WJtxxOi6R_4KA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBM0aU_1BnOHPMgdOl0hCrcTSDq1Q", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCdBRH0B7FOEPeVDjAoLirUoqD6TA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD2hbFGTjn9QOr3EVE-k0AAdLLcng", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(48969), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Colas Wattway is back with the two 1000sqm solar cycleway installations in the Netherlands!\nhttps://electrek.co/2023/12/18/dutch-riding-bikes-solar-cycle-paths/\n\nJust 4 months ago! https://www.yout..."), + ), + VideoItem( + id: "-g-MD69V0CU", + name: "EEVblog 1590 - Cheap $33 Boombox Teardown", + duration: Some(1191), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjLnRunCSuUYAmnxKgbuSTJHshrA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCnpcRQQJ6UdKU5pBPE5DoM1a29Ug", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCBsP1C14m96X9-F53bOjynIH9a3A", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB3TuJnDbUdOSUr-oJdRFkPKrUPSw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(49405), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Is a modern $33 boombox from Kmart any good?\n\nTHE 80\'s boombox teardown: https://www.youtube.com/watch?v=hULNdrsh6uw\nBoombox REPAIR: https://www.youtube.com/watch?v=8ToVCAhLg8A\n\nForum: https://www...."), + ), + VideoItem( + id: "KKMrT2HeRsQ", + name: "EEVblog 1589 - CCD Scanner Array", + duration: Some(872), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgZShbMA8=&rs=AOn4CLBigIAgMdNzHkMH9gB4lgiwfXy-Yg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgZShbMA8=&rs=AOn4CLChNMPDTpMIcZK42mT4mlvYA26DNA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhiIGUoWzAP&rs=AOn4CLCM5qQo9J2YdtrGVcz3WKws4i4KHw", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhiIGUoWzAP&rs=AOn4CLCIInd_b6uxUyrLvjr8SLIn1aBVlw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("2 months ago"), + view_count: Some(24160), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A closer look at the scanner array head from the dumpster FAX machine teardown.\n\n00:00 - Linear Scanner Array\n04:40 - CCD sensor grouping\n08:24 - The optical zebra strip\n11:30 - Under the x400..."), + ), + VideoItem( + id: "W_W_BDcebao", + name: "EEVblog 1588 - Virgin Hyperloop One Goes BUST!", + duration: Some(1783), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgwPWx85cGEbBtxXot2PtP7Z12bQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQz7mTB-mLsP9kZy6A5tEIzc-lJg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA16LtERNyYUhPNardaLA0xGa53Kg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAptKADGms1JjbIo-Nk_uwsYxFLUQ", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(56586), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The Elon Musk vision of Hyperloop has come-a-gutsa. Vigin Hyperloop One has gone out of business. Who could have predicted it?\nAnd who\'s left standing in the Hyperloop world?\nPart 2: TUM Hyperloop:..."), + ), + VideoItem( + id: "FknxWtZkuUE", + name: "EEVblog 1587 - Dumpster FAX Teardown", + duration: Some(1185), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXChUMA8=&rs=AOn4CLBGke3u13MxDYsi4cLbME7jckVKuw", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXChUMA8=&rs=AOn4CLBik13O4ddFMDmmOFqI0E7GAHaxwA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFwoVDAP&rs=AOn4CLAhqflsQgDfCpLOuVx76xOnZMJWrw", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFwoVDAP&rs=AOn4CLAZi82kenLuT10YrEc4jR2sHigcPw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(21250), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Teardown of a Brother FAX machine found in the dumpster, just because.\nForum: https://www.eevblog.com/forum/blog/eevblog-1587-dumpster-fax-teardown/\n\n\nIf you find my videos useful you may consider..."), + ), + VideoItem( + id: "AuFSMpFzAnw", + name: "eevBLAB 117 - The Youtube Bot Comment Problem", + duration: Some(299), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrpv-fSn1pwpshPv-QWXV6jeFCiw", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUMFdAy0xuIpgEQOsBy5UqKyATPw", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAxNwGVeljlwit2jXNRLuKw4VDXhg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAEKVLY8uPv8V-V9xzdtX6ib8mhZw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(23126), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The huge Youtube bot comment spam problem has to end.\nForum: https://www.eevblog.com/forum/blog/eevblab-117-the-youtube-porn-bot-comment-problem/\n\nIf you find my videos useful you may consider..."), + ), + VideoItem( + id: "WIEb1Zd1NdI", + name: "EEVblog 1586 - Stranger Things Decade Resistor Box + Repair", + duration: Some(968), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5ndIPZJndQkkrCcT_SbrBWdBXaA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArJNxp3V0M_9kH7bCTUJtiB-oNJQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA6EJKuGz-aJASBI9RzKNGBuKhmDg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1Atq4K6famlQ0WMrT6SPcQdSUmg", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(42940), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A $12 6 decade resistor box, is it any good?\nAnd it\'s not every day you have to repair a brand new product.\nhttps://s.click.aliexpress.com/e/_Ddfe4PL\nhttps://s.click.aliexpress.com/e/_DnK2irb..."), + ), + VideoItem( + id: "PhGPacEg3zw", + name: "EEVblog 1585 - SCAM! Portable Kinetic Molecular Heater BUSTED", + duration: Some(1166), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBluu7atTRGHN9p5mhKoCjtJcQCQA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVyhkIIYxEY8tWrvwUDP_uPW_0GA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC0tvz4rEY0usPCIsx6tiCQh81eAw", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASwFdk5zIuZ2cOecCtcqkNxCBPnw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(48996), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The Portable Kinetic Molecular Heater is an obvious SCAM.\nWe shouldn\'t have to look at why, but let\'s do it anyway.\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1585-scam!-portable-kinetic-mo..."), + ), + VideoItem( + id: "sisD61ohzK0", + name: "EEVblog 1584 - Wireless Freakin\' EV Charging Roads! A $250M Boondoggle", + duration: Some(1785), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAX1Q1G-ek-lBZwvIlTXGO6UYPmEA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK5abYrCa9sCDFhbSbc5l5D9VFgg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDCdVqoCSmOa_ymbbFmwJscfA4A7Q", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBEnUHLoe1Y_oaS4XHBiF_OYBG2yw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(49899), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The US Department of Transport have authorised a $250M grant program to fund Wireless EV charging roads. A look at the pilot program in Detroit Michigan with the startup company Electreon:..."), + ), + VideoItem( + id: "1YK_GlnUlI8", + name: "EEVblog 1583 - Advanced Oscilloscope Triggering: Glitch/Pulse/Runt/Interval", + duration: Some(1339), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6wJK1kBMorZs7ba2ny9fNdGA8yQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAz1_NlQZNe-2-619L3yD86bobmQA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDlw133uPnQlqJdk92hW1XNNdg_iA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCyFSnkXdizZScSRqxHW2UA_AWfyw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(24076), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A practical demonstration on how to use advanced oscillocope trigger features to trigger on an unsyncronised infrequenct runt/glitch pulse.\nIncludes Pulse/Glitch, Runt, Interval, Zone triggering,..."), + ), + VideoItem( + id: "HR6_Lp7fH_c", + name: "EEVblog 1582 - FNIRSI DPOX180H 180MHz DPO for $123?", + duration: Some(1650), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ywdoHcjG1ge9V3fGZNJdrhDoxg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoJN2piQ_s5LKnnACOt4XuQUwe3g", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCqn_7bTbdgh0h803Wjt0pfvkIDGw", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAj9fOW252TtK7YDHEOix09_Utw_w", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("3 months ago"), + view_count: Some(149964), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A look at the FNIRSI DPOX180H 180MHz Handheld Digital Phosphor Oscilloscope for $123.\nhttps://www.aliexpress.com/item/1005005564788266.html\nhttps://eevblog.store/products/eevblog-bm036-ac-dc-clamp-..."), + ), + VideoItem( + id: "m_8jh_MpWBE", + name: "EEVblog 1581 - Tesla Roadster now OPEN SOURCE?", + duration: Some(1032), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHUvTCcc_XQO0MDCBTBOuXvixyuQ", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDw1oBMhbunOL68Ir0-NMHp2maDqQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDeTzuK2Z6cx5UF_sR8j45-KfYVLA", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDY0xdTkroLDhjQdHqu30ll2-XBzA", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 months ago"), + view_count: Some(52290), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Elon Musk just announced that the Tesla Roadster is now open source! Do we get schematics? Let\'s have a look...\nhttps://service.tesla.com/roadster\nPart 2: https://www.youtube.com/watch?v=r7Cw3GVXl4..."), + ), + VideoItem( + id: "eeNKvh2cFPQ", + name: "EEVblog 1580 - MacGruber Mailbag", + duration: Some(2235), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8szo9U24ueqgaeinBiQSTiNdcw", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLTSBvNyxutsFXolQ3sXxb6ym0tA", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBdedMyH0qswdu3IQuaXJl9uDfX6Q", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwpBjlO_Fpo1NoV9jF6HUd58tPpw", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 months ago"), + view_count: Some(29462), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("More Mailbag!\n\n00:00 - Mailbag Monday time\n01:42 - T-88C Analog Multimeter\nhttps://s.click.aliexpress.com/e/_DEojyDp\n07:26 - Teardown\n12:11 - PCB proto boards from Jon Newcomb\nhttp://www.jnewcomb.c..."), + ), + VideoItem( + id: "5M5MF6KE-jY", + name: "EEVblog 1579 - Nuclear Diamond Battery FRAUD Lawsuit by SEC!", + duration: Some(1077), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq8h9yVCll1FPCLA5FdQTAWiaCAg", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB0NK0jYYF9EYK7qdkqd4a055dupQ", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCGGZY7vMAQGVzoLqxrODxF7nYiMQ", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAFDAgQafqowx58nWJuGHULbRkR3A", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 months ago"), + view_count: Some(116169), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("The Nuclear Diamond Battery that made a huge marketing splash back in Aug 2020 and raised $1.2M in funding, NDB Inc and it\'s founder Nima Golsharifi is now being sued by the SEC for fraud...."), + ), + VideoItem( + id: "IWHS2FDyh7s", + name: "EEVblog 1578 - No one can be told what the Metrix is.", + duration: Some(1794), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDru0L9uKllbOsCuLX_39XvlAAN5g", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwhjsPYVb2BYxX9PP7bnzQxa7Y1g", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA5lv9wWJUiPNUUEPJET4HFuRWj-A", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCh0_Y1OAf-CWf_u8J_mWhXwka03Q", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 months ago"), + view_count: Some(40487), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("A multimeter without any screws? A 1990\'s vintage Metrix MX44 multimeter torn down, tested and calibration adjusted.\n\nTektronix Multimeter Repair-o-thon\nhttps://www.youtube.com/watch?v=2QZ8GWwzXXY..."), + ), + VideoItem( + id: "CnJ7mQ_Fo-8", + name: "EEVblog 1577 - History of Television & Cathode Ray Tubes with Kathy Loves Physics", + duration: Some(4693), + thumbnail: [ + Thumbnail( + url: "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIxRMt80uMLr-xNjaez0XsbalQsA", + width: 168, + height: 94, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdu3DdSJu3KSO0jlwzVhCGivAYNg", + width: 196, + height: 110, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLmaAzBCUac2J1wi4FefpdRAMcBg", + width: 246, + height: 138, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBFvfKg1VqDDc7TMVYAn9gCb8YiVg", + width: 336, + height: 188, + ), + ], + channel: Some(ChannelTag( + id: "UC2DjFE7Xf11URZqWBigcVOQ", + name: "EEVblog", + avatar: [], + verification: Verified, + subscriber_count: Some(933000), + )), + publish_date: "[date]", + publish_date_txt: Some("4 months ago"), + view_count: Some(17237), + is_live: false, + is_short: false, + is_upcoming: false, + short_description: Some("Kathy Joseph from Kathy Loves Physics joins me on The Amp Hour to discuss history and physics and we end up discussing the intricate history of the development of television and the Cathode..."), + ), + ], + ctoken: Some("4qmFsgKrCBIYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RGo4IOGdhRUJocUJCbnItQlFyNUJRclFCVUZtYW5Fd2RrNDNNVTFSUkdVd2VGWXdSVXRSVlhORk16ZzFWRXQ2ZDJVelNrVlpXamhIWDJ4d2NIZG1SM2hXTm1ObFVVY3pkVWhoYUdWYVgzTjRUREZRYkhBdGNIVnlhQzF3VTNKMVlrVTRjRGRuVGxOdmFrdHJRbVozWHpKaVJXVmtVRUZyUTJ4M01WRlhZbloxV0d0eWRUUlZkM2s0VjNRMVYxRk9SVkV6Y2xwTlpIUllWelpSY3pCelJVeFFkVEJLU25aUFpESk9XVkE1T1hZdFYzUjFVbFV0Wm1ZM1F6VkdVa2hrY0UxYVlUaG1aa1I2ZWxWRWNHUXpUbmsxUlhJeGMyZGxTRFpOWTBWeE0wZzVVVkl6WjAxTWVrZEJkeTFVYVZSWFozbGtiME5oUW5oVFRGbFNkVkE1UWtaekxUbHRjVTVKWWtSMmVIRlBNMmRtVkhOd1ZuVkNSR3RFUlZJd1MxUlhkV3BNVVRBMlNGbFlUV0ZOVEd0NFNWUk1UREV4TWpoc1ZqUmpWamRhUlRWQ1prdDFMWFpZU1VKSlVXcFZWSGhKY0U5aExUZDFjbWRKU0hCNmQwRmxkMmhXV0dST00wbFVUMWxQYld4MGJVRjNlalJVZGxjNGIzTXdabEE1VTJ3eGVXUkZZbEl5YW1ZM1pqaFFkRGhhYUdOM1JGVjNNelI1WTFGVFNFbFllbFUxUkRoU04zVkVZVEJhVFVacFFqUnVhR1JTVjNBdGQyRjFOR05YVVVSWGJERktRbDlZU1U1NVJtNVpNR1ZhTWpSWVdYYzVhak4xTUcxcmVYTjZjVzFNWDBSS09WaHhObDlTUVV0cGNUSk9iVVZVVkZneExWRXdTRlZVYVZkRk4yOTFhRFZ4VDA1UmIzUkVVbTgxTjFsc2VuZExjRzVQWjNCdk0zTlRSV3hxU1dwQk9VcGZja2xTVjFBeGVEaFNSMWRKYzJ4UVN5MVRVVE5pTTJOZmMxRndORmh6TjFWUGRqUkdSbmN0WVc0eVRubHFhV3RuZVZONFV5MTFZelZVU0ZOd1NTMHhUVXRWTTNGbVZtcHRTRVpDUkhoaU9WWmtkbk14UW5aTmEzcGZWV3BhUlRaWkxVVXpNRTFRYVVaemVEaFhYMlJCT0ZOeE5Gb3lSWHBzY3psdGNWbGlUV0YxT0MxeU1XdHpiMXBpTjJ0d1ZqTjRVWEJGYW5rMVoxTm1TMXBXWW5OMllVYzVSVll5TVVFeWNDMXJPR3BHTm1ST1JUbFNWekZYWW00eldHRjVWaElrTmpZek16RTRaVEl0TURBd01DMHlNakZpTFdGak9XTXROVGd5TkRJNVlXVmpPR1V3R0FFJTNE"), + endpoint: browse, + ), +) diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_base.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_base.snap index 2d2732d..cbf872c 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_base.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_base.snap @@ -151,7 +151,7 @@ Channel( VideoItem( id: "gremHHvqYTE", name: "EEVblog 1501 - Rigol HDO4000 Low Noise 12bit Oscilloscope Unboxing & First Impression", - length: Some(1794), + duration: Some(1794), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gremHHvqYTE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcwR0YIwLjfFam9HkKdkTkqx_gHw", @@ -192,7 +192,7 @@ Channel( VideoItem( id: "WHO8NBfpaO0", name: "eevBLAB 102 - Last Mile Autonomous Robot Deliveries WILL FAIL", - length: Some(742), + duration: Some(742), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WHO8NBfpaO0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQPKMF3Aeo9CydEWz9pQWkn1Lu7Q", @@ -233,7 +233,7 @@ Channel( VideoItem( id: "W1Q8CxL95_Y", name: "EEVblog 1500 - Automatic Transfer Switch REVERSE ENGINEERED", - length: Some(1770), + duration: Some(1770), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W1Q8CxL95_Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIxuct8vahJHOJTLfbOnsMOXnjvw", @@ -274,7 +274,7 @@ Channel( VideoItem( id: "lagxSrPeoYg", name: "EEVblog 1499 - EcoFlow Delta Pro 3.6kWh Portable Battery TEARDOWN!", - length: Some(2334), + duration: Some(2334), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lagxSrPeoYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbAX2gdAF66O7BUCaOVg2vQOsS2Q", @@ -315,7 +315,7 @@ Channel( VideoItem( id: "qTctWW9_FmE", name: "EEVblog 1498 - TransPod Fluxjet Hyperloop $550M Boondoggle!", - length: Some(2399), + duration: Some(2399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qTctWW9_FmE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbnEQaGGI5zD9lCJ8kMmciezX2kA", @@ -356,7 +356,7 @@ Channel( VideoItem( id: "3t9G80wk0pk", name: "eevBLAB 101 - Why Are Tektronix Oscilloscopes So Expensive?", - length: Some(1423), + duration: Some(1423), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3t9G80wk0pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnsVu-VQplpRpc1ZW-yk2byyZjZA", @@ -397,7 +397,7 @@ Channel( VideoItem( id: "7dze5CnZnmk", name: "EEVblog 1497 - RIP Fluke. Thanks Energizer. NOT.", - length: Some(1168), + duration: Some(1168), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7dze5CnZnmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg430MYAmoycM4lbv_57S_d3kZRA", @@ -438,7 +438,7 @@ Channel( VideoItem( id: "6XnrZpPYgBg", name: "EEVblog 1496 - Winning Mailbag", - length: Some(3139), + duration: Some(3139), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6XnrZpPYgBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrBgky13jB1p9xzKbmoUpJ4g0SNQ", @@ -479,7 +479,7 @@ Channel( VideoItem( id: "Psp3ltpFvws", name: "eevBLAB 100 - Reuters Attacks Odysee - LOL", - length: Some(855), + duration: Some(855), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Psp3ltpFvws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCu8Nu_NmDw5vBHgb7e8JdJR1Dr1Q", @@ -520,7 +520,7 @@ Channel( VideoItem( id: "taVYTYz5vLE", name: "EEVblog 1495 - Quaze Wireless Power (AGAIN!) but for GAMING!", - length: Some(2592), + duration: Some(2592), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/taVYTYz5vLE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMHngmN8TjWZz327vUD7zjjblYBw", @@ -561,7 +561,7 @@ Channel( VideoItem( id: "Y6cZrieFw-k", name: "EEVblog 1494 - FIVE Ways to Open a CHEAP SAFE!", - length: Some(1194), + duration: Some(1194), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y6cZrieFw-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsdoJwcvSFZU4e9cwDFbZj3W21Pw", @@ -602,7 +602,7 @@ Channel( VideoItem( id: "Kr2XyhpUdUI", name: "EEVblog 1493 - MacGyver Project - Part 2", - length: Some(1785), + duration: Some(1785), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Kr2XyhpUdUI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdL3brjOzbABRuyz-yolawtGRsbw", @@ -643,7 +643,7 @@ Channel( VideoItem( id: "rxGafdgkal8", name: "EEVblog 1492 - $5 Oscilloscope Repaired! + Oz GIVEAWAY", - length: Some(1163), + duration: Some(1163), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rxGafdgkal8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-p_t0q_Q2oTGyJuFCQJ5z6VPPMQ", @@ -684,7 +684,7 @@ Channel( VideoItem( id: "4yosozyeIP4", name: "EEVblog 1491 - The MacGyver Project - Part 1", - length: Some(1706), + duration: Some(1706), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4yosozyeIP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRNAWkPQfuQirfiOdowD1iQlWrWg", @@ -725,7 +725,7 @@ Channel( VideoItem( id: "06JtC2DC_dQ", name: "EEVblog 1490 - Insane Jaycar Dumpster Sale! 2022", - length: Some(1700), + duration: Some(1700), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/06JtC2DC_dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDVIvEssIKji_8dyBYGYbpIqen7vQ", @@ -766,7 +766,7 @@ Channel( VideoItem( id: "piquT76w9TI", name: "EEVblog 1489 - Mystery Teardown!", - length: Some(1466), + duration: Some(1466), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/piquT76w9TI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTzIcGeRDwUyINtik50EQCOTxwiA", @@ -807,7 +807,7 @@ Channel( VideoItem( id: "pKuUKT-zU-g", name: "EEVblog 1488 - Tilt Five Augmented Reality AR Glasses - First Reaction!", - length: Some(2152), + duration: Some(2152), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pKuUKT-zU-g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6Rh4miI20yPy2kJaxul_wA3Now", @@ -848,7 +848,7 @@ Channel( VideoItem( id: "_R4wQQNSO6k", name: "EEVblog 1487 - Do Solar Micro Inverters Take Power at Night?", - length: Some(2399), + duration: Some(2399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_R4wQQNSO6k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEQVZ0yQPLZqwLdQednKWwLWqDmA", @@ -889,7 +889,7 @@ Channel( VideoItem( id: "ikp5BorIo_M", name: "EEVblog 1486 - What you DIDN\'T KNOW About Film Capacitor FAILURES!", - length: Some(1792), + duration: Some(1792), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ikp5BorIo_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBygGB8KC522NC15BhDC1WpuNKsgw", @@ -930,7 +930,7 @@ Channel( VideoItem( id: "7O-QckjCXNo", name: "eevBLAB 99 - AI SPAM BOT Youtube Space/Science/Tech Channels? - WTF", - length: Some(592), + duration: Some(592), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7O-QckjCXNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY1cRnrWQCbmlAzP5okMmIYjgdsg", @@ -971,7 +971,7 @@ Channel( VideoItem( id: "VutdTxF4E-0", name: "RIP The Old Garage Lab", - length: Some(115), + duration: Some(115), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VutdTxF4E-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlPpT2-UOGfm2A2djTLjCsygeqSw", @@ -1012,7 +1012,7 @@ Channel( VideoItem( id: "o7xfGuRaq94", name: "EEVblog 1485 - PedalCell CadenceX Bike Generator LOL FAIL!", - length: Some(1026), + duration: Some(1026), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/o7xfGuRaq94/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA7RRL2USBwkYXp9ouWTbtU-JHSg", @@ -1053,7 +1053,7 @@ Channel( VideoItem( id: "3WSIfHOv3fc", name: "EEVblog 1484 - Kaba Mas X-09 High Security Electronic Lock Teardown", - length: Some(1106), + duration: Some(1106), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3WSIfHOv3fc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClZroFRo115ZuxYhJ5rcCDO2ZPcQ", @@ -1094,7 +1094,7 @@ Channel( VideoItem( id: "8yXZJZCKImI", name: "EEVblog 1483 - Holy Mailbag Bomb Batman!", - length: Some(3373), + duration: Some(3373), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8yXZJZCKImI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBym7WfmrvKIjs2ClW-FOLtxbENzw", @@ -1135,7 +1135,7 @@ Channel( VideoItem( id: "vJ4pW6LKJWU", name: "EEVblog 1482 - Mains Capacitor Zener Regulator Circuit", - length: Some(1132), + duration: Some(1132), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vJ4pW6LKJWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaKgfAJ4NAeqoMIPZDavsTw_JD5w", @@ -1176,7 +1176,7 @@ Channel( VideoItem( id: "myqiqUE00fo", name: "EEVblog 1481 - Dodgy Dangerous Heater REPAIR", - length: Some(1622), + duration: Some(1622), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/myqiqUE00fo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3nqRnunVeYPk1_vdXP7IEv1E1Rg", @@ -1217,7 +1217,7 @@ Channel( VideoItem( id: "xIokNnjuam8", name: "EEVblog 1480 - Lightyear Zero Solar Powered Electric Car", - length: Some(1196), + duration: Some(1196), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xIokNnjuam8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRxCpyCftz0LJooMtxBcIWwaF6hw", @@ -1258,7 +1258,7 @@ Channel( VideoItem( id: "S3R4r2xvVYQ", name: "EEVblog 1479 - Is Your Calculator WRONG?", - length: Some(1066), + duration: Some(1066), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/S3R4r2xvVYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2ZW-UUXJGrtHphT2E53pFafr-1g", @@ -1299,7 +1299,7 @@ Channel( VideoItem( id: "RlwcdUnRw6w", name: "EEVblog 1478 - Waveform Update Rate Shootout - Tek 2 Series vs Others", - length: Some(1348), + duration: Some(1348), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RlwcdUnRw6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYaH7c8-BP8807GgNGML2WUNK8pg", @@ -1340,7 +1340,7 @@ Channel( VideoItem( id: "R2fw2g6WFbg", name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope", - length: Some(2718), + duration: Some(2718), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_live.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_live.snap index 834d87c..4fa906c 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_live.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_live.snap @@ -135,7 +135,7 @@ Channel( VideoItem( id: "csP93FGy0bs", name: "Chill Out Music Mix • 24/7 Live Radio | Relaxing Deep House, Chillout Lounge, Vocal & Instrumental", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/csP93FGy0bs/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq5TEpXIGH_OHZhn2_Jx7lp2kMUQ", @@ -176,7 +176,7 @@ Channel( VideoItem( id: "19hKXI1ENrY", name: "Deep House Radio | Relaxing & Chill House, Best Summer Mix 2022, Gym & Workout Music", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/19hKXI1ENrY/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmi9jgARxMYdZpIOLw5RhQkRx0Dg", @@ -217,7 +217,7 @@ Channel( VideoItem( id: "CqMUC5eXX7c", name: "Back To School / Work 📚 Deep Focus Chillout Mix | The Good Life Radio #4", - length: Some(4667), + duration: Some(4667), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CqMUC5eXX7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJglNaF89w0KFxzGn4Y3UAwu9ydg", @@ -258,7 +258,7 @@ Channel( VideoItem( id: "A77SYlXKQEM", name: "Chillout Lounge 🏖\u{fe0f} Calm & Relaxing Background Music | The Good Life Radio #3", - length: Some(1861), + duration: Some(1861), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/A77SYlXKQEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6c0iWB5IjXrbncP1JT2gvljTwyw", @@ -299,7 +299,7 @@ Channel( VideoItem( id: "72vkRHQfjbk", name: "Summer Lovers 💖 A Beautiful & Relaxing Chillout Deep House Mix | The Good Life Radio #2", - length: Some(1832), + duration: Some(1832), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/72vkRHQfjbk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBMAUBpqHTq2IalWplaJugEhf4eQ", @@ -340,7 +340,7 @@ Channel( VideoItem( id: "AMWMDhibROw", name: "Relaxing & Chill House 🌴 Summer \'21 Chill-Out Mix | The Good Life Radio #1", - length: Some(1949), + duration: Some(1949), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AMWMDhibROw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDO-i7ZMHpgILmTxjIvtFEDl3fTQ", @@ -381,7 +381,7 @@ Channel( VideoItem( id: "9UMxZofMNbA", name: "Chillout Lounge - Calm & Relaxing Background Music | Study, Work, Sleep, Meditation, Chill", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9UMxZofMNbA/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDc3KEjaAI_syibPmnpLN04x1Wv7g", @@ -422,7 +422,7 @@ Channel( VideoItem( id: "a2sEYVwBvX4", name: "Paratone - Heaven Is A Place On Earth (feat. kaii)", - length: Some(161), + duration: Some(161), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a2sEYVwBvX4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwBX3CEEc3ZK1SsP8iUbebtp5hUw", @@ -463,7 +463,7 @@ Channel( VideoItem( id: "JAY-prtJnGY", name: "Joseph Feinstein - Where I Belong", - length: Some(126), + duration: Some(126), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JAY-prtJnGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC79uFNaKWCm0lQ8_uxV0s2G0jJ-Q", @@ -504,7 +504,7 @@ Channel( VideoItem( id: "DySa8OrQDi4", name: "LA Vision & Gigi D\'Agostino - Hollywood", - length: Some(200), + duration: Some(200), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DySa8OrQDi4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzPj5ZqrnaLQELc8EDtgLlUhDdRQ", @@ -545,7 +545,7 @@ Channel( VideoItem( id: "NqzXULaB8MA", name: "LO - Home", - length: Some(163), + duration: Some(163), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NqzXULaB8MA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFvB5JbSQIUtb-pldtNWWHb2Y3SQ", @@ -586,7 +586,7 @@ Channel( VideoItem( id: "UGzy6uhZkmw", name: "Luca - Sunset", - length: Some(153), + duration: Some(153), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UGzy6uhZkmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD93d5foF1_yGd6ej5_8t-PM7ZCDw", @@ -627,7 +627,7 @@ Channel( VideoItem( id: "iuvapHKpW8A", name: "nourii - Better Off (feat. BCS)", - length: Some(126), + duration: Some(126), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iuvapHKpW8A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCsDj4nWrDpmF-BTY_9REtx8xiHjA", @@ -668,7 +668,7 @@ Channel( VideoItem( id: "n_1Nwht-Gh4", name: "Deep House Covers & Remixes of Popular Songs 2020 🌴 Deep House, G-House, Chill-Out Music Playlist", - length: Some(2940), + duration: Some(2940), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/n_1Nwht-Gh4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwRnMWNt4fNmmGR4THSsTh-9MiCw", @@ -709,7 +709,7 @@ Channel( VideoItem( id: "6TptI5BtP5U", name: "The Good Life Radio Mix #2 | Summer Memories ☀\u{fe0f} (Chill Music Playlist 2020)", - length: Some(3448), + duration: Some(3448), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6TptI5BtP5U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGvxAmGVff9uk5AOxBij56uB6azw", @@ -750,7 +750,7 @@ Channel( VideoItem( id: "36YnV9STBqc", name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/36YnV9STBqc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCe7OwcMt2h8bSNHbTTULV9-SST1Q", @@ -791,7 +791,7 @@ Channel( VideoItem( id: "7x6ii2TcsPE", name: "The Good Life Radio Mix #1 | Relaxing & Chill House Music Playlist 2020", - length: Some(2726), + duration: Some(2726), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7x6ii2TcsPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-CNpKCSMnLIscrYKNPX7DRZ0buA", @@ -832,7 +832,7 @@ Channel( VideoItem( id: "mxV5MBZYYDE", name: "Christmas Music with Vocals 🎅 Best Relaxing Christmas Songs 2020", - length: Some(5863), + duration: Some(5863), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mxV5MBZYYDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVUbM3MtN0zZcE_8lY4eyo-Ly5Kw", @@ -873,7 +873,7 @@ Channel( VideoItem( id: "hh2AOoPoAIo", name: "The Good Life Radio Mix 2019 🎅 Winter & Christmas Relax House Playlist [Best of Part 1]", - length: Some(2530), + duration: Some(2530), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hh2AOoPoAIo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMmrbiYHz-7STgazeW2PAuGCkCcg", @@ -914,7 +914,7 @@ Channel( VideoItem( id: "aFlvhtWsJ0g", name: "Chillout Playlist | Relaxing Summer Music Mix 2019 [Deep & Tropical House]", - length: Some(2483), + duration: Some(2483), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aFlvhtWsJ0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvMC2I82wG7eQPDQmnyC3RbUGFWg", @@ -955,7 +955,7 @@ Channel( VideoItem( id: "cD-d7u6fnEI", name: "Chill House Playlist | Relaxing Summer Music 2019", - length: Some(3165), + duration: Some(3165), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cD-d7u6fnEI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBU_f1nTElkLg9ic2eKjM6luGgVcw", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_shorts.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_shorts.snap index 0f8a1cb..46369d0 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_shorts.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_shorts.snap @@ -122,7 +122,7 @@ Channel( VideoItem( id: "JBUZE0mIlg8", name: "small but sure joy", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JBUZE0mIlg8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCRBlyIUBUm_aypWz4tGkrDNJxIZw", @@ -148,7 +148,7 @@ Channel( VideoItem( id: "SRrvxFc2b2c", name: "i don\'t believe in long distance relationships", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SRrvxFc2b2c/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLA0hJdOfUp-zMI-vW43sYnKgufocA", @@ -174,7 +174,7 @@ Channel( VideoItem( id: "l9TiwunjzgA", name: "long distance", - length: Some(1043), + duration: Some(1043), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/l9TiwunjzgA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjM6SZ7ScyfFRr13QdVmIvWEWWrQ", @@ -215,7 +215,7 @@ Channel( VideoItem( id: "cNx0ql9gnf4", name: "come over :)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cNx0ql9gnf4/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBvAKRZE2LyKIo6_6prX9pzfiWoVw", @@ -241,7 +241,7 @@ Channel( VideoItem( id: "fGQUWI4o__A", name: "Baskin Robbins in South Korea", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w", @@ -267,7 +267,7 @@ Channel( VideoItem( id: "Q73VTjdqVA8", name: "dry hot pot", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q73VTjdqVA8/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBfJXtFWfAnyMOvaJfvpYJ5WrhbSA", @@ -293,7 +293,7 @@ Channel( VideoItem( id: "pRVSdUxdsVw", name: "Repairing...", - length: Some(965), + duration: Some(965), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQWneuYcJcccgooBfa3WI4LdYF3w", @@ -334,7 +334,7 @@ Channel( VideoItem( id: "gTG2WDbiYGo", name: "time machine", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gTG2WDbiYGo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDw5Lw19mNLJnoIF3aCGkMbxvgILQ", @@ -360,7 +360,7 @@ Channel( VideoItem( id: "y5JK5YFp92g", name: "tiramissu", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/y5JK5YFp92g/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCR66ytQIBWWw_ajvgyaUdUawHVIg", @@ -386,7 +386,7 @@ Channel( VideoItem( id: "pvSWHm4wlxY", name: "having kids", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug", @@ -412,7 +412,7 @@ Channel( VideoItem( id: "2FJVhdOO0F0", name: "a health scare", - length: Some(1238), + duration: Some(1238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2FJVhdOO0F0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ambaz-euRsB9VG5ANaYFUUSEbg", @@ -453,7 +453,7 @@ Channel( VideoItem( id: "CqFGACRrWJE", name: "just do it", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CqFGACRrWJE/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyAIF4S_foRXsyvq16YCPJWNKewQ", @@ -479,7 +479,7 @@ Channel( VideoItem( id: "CutR_1SDDzY", name: "feels good to be back", - length: Some(1159), + duration: Some(1159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CutR_1SDDzY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAt413Uk4xhHjYwpLI5-DXuOsFouA", @@ -520,7 +520,7 @@ Channel( VideoItem( id: "DdGr6t2NqKc", name: "coming soon", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DdGr6t2NqKc/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDRYfxh25EjK3zuOJORNNahxeBanA", @@ -546,7 +546,7 @@ Channel( VideoItem( id: "jKS44NMWuXw", name: "adult money", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jKS44NMWuXw/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAIexckdN7FXJUgkeJvITHyzXw1TQ", @@ -572,7 +572,7 @@ Channel( VideoItem( id: "kx1YtJM_vbI", name: "a fig\'s journey", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kx1YtJM_vbI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAi03nhSbt84LL7PFD2ij8GmaDlLQ", @@ -598,7 +598,7 @@ Channel( VideoItem( id: "Sdbzs-1WWH0", name: "How to.. Mozzarella 🧀", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Sdbzs-1WWH0/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC8IkwAif4wXhBGxHiosiILbPCSBw", @@ -624,7 +624,7 @@ Channel( VideoItem( id: "9qBHyJIDous", name: "how to drink like a real korean", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9qBHyJIDous/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLB9Ib_E0siDiRMZ_GVHVxBfMd0Dkw", @@ -650,7 +650,7 @@ Channel( VideoItem( id: "mBeFDb4gp8s", name: "mr. krabs soup", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mBeFDb4gp8s/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCzAPzv16WTJLr4ma-sAz6fNkFL0g", @@ -676,7 +676,7 @@ Channel( VideoItem( id: "b38r1UYqoBQ", name: "in five years", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/b38r1UYqoBQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCGB9IpC2Enx5iZ-YCl0vEpMGpo9A", @@ -702,7 +702,7 @@ Channel( VideoItem( id: "KUz7oArksR4", name: "running away", - length: Some(1023), + duration: Some(1023), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KUz7oArksR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1NwuIgJuJy2oPAiHqMre6rbcuPA", @@ -743,7 +743,7 @@ Channel( VideoItem( id: "RdFk4WaifEo", name: "a weeknight dinner", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RdFk4WaifEo/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLBlKLBjBagaTQj24nYb-HkCQQcWHA", @@ -769,7 +769,7 @@ Channel( VideoItem( id: "GuyGyzZcumI", name: "McDonald\'s Michelin Burger", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA", @@ -795,7 +795,7 @@ Channel( VideoItem( id: "07Zipsb3-qU", name: "cwispy potato pancake", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/07Zipsb3-qU/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLARXBTZlNStCVemXSkHfAWksRogng", @@ -821,7 +821,7 @@ Channel( VideoItem( id: "3kaePnU6Clo", name: "authenticity is overrated", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3kaePnU6Clo/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDq0MY9dsMvr9Y6yaJ7069fgtdpGA", @@ -847,7 +847,7 @@ Channel( VideoItem( id: "rt4rXMftnpg", name: "you can kimchi anything (T&C applies)", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rt4rXMftnpg/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7WfSTGHkH2FEmn9gQ5E4AqpRtug", @@ -873,7 +873,7 @@ Channel( VideoItem( id: "DTyLUvbf128", name: "egg, soy, and perfect pot rice", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DTyLUvbf128/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAN1AtPya1D1NyiO0XYKOjIZIyhhQ", @@ -899,7 +899,7 @@ Channel( VideoItem( id: "DzjLBgIe_aI", name: "love language", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DzjLBgIe_aI/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDWVkrYrt64LvvxrMRfs29g_lGrNw", @@ -925,7 +925,7 @@ Channel( VideoItem( id: "sPb2gyN-hnE", name: "worth fighting for", - length: Some(1232), + duration: Some(1232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBidXnS47SJMkvOlqt2DgzHxr6wKQ", @@ -966,7 +966,7 @@ Channel( VideoItem( id: "9JboRKeJ2m4", name: "Rating Italian McDonald\'s", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9JboRKeJ2m4/hq720_2.jpg?sqp=-oaymwEdCJYDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLC7xktrbnAqJq2nHH9aDggULsb3Cg", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_upcoming.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_upcoming.snap index 0eb3553..97348c9 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_upcoming.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_upcoming.snap @@ -139,7 +139,7 @@ Channel( VideoItem( id: "B-KjpyR4n5Q", name: "The Online Manosphere", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/B-KjpyR4n5Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_J9WgOnkXvtw1uUhZASVDLPlrZg", @@ -180,7 +180,7 @@ Channel( VideoItem( id: "umDsCyZ67J0", name: "Ukraine - The Beginning of the End", - length: Some(614), + duration: Some(614), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/umDsCyZ67J0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBih3bLoQ9xphjCDt3lqXTLKtE52g", @@ -221,7 +221,7 @@ Channel( VideoItem( id: "dNgKGL8lQck", name: "Honest Russian Military Recruitment Video", - length: Some(62), + duration: Some(62), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dNgKGL8lQck/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrbxxCEBDfZP2wA0bIJpzbtmyARw", @@ -262,7 +262,7 @@ Channel( VideoItem( id: "UVWciFJeFNA", name: "Self-Driving Cars Will Only Make Traffic Worse", - length: Some(458), + duration: Some(458), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UVWciFJeFNA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJhcm03VJaYQU5xAIg2w5h0SOaUA", @@ -303,7 +303,7 @@ Channel( VideoItem( id: "vyWaax07_ks", name: "NEOM Is The Parody Of The Future", - length: Some(636), + duration: Some(636), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vyWaax07_ks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-sXnmtClcL6lcjjAR_05F1IpndA", @@ -344,7 +344,7 @@ Channel( VideoItem( id: "onQ0ICkLEJw", name: "I Got An Email From \"The Dubai Sheikh\'s Personal Friend\"", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/onQ0ICkLEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmwCI9t6a_pXPPteQ835LNPgcYbw", @@ -385,7 +385,7 @@ Channel( VideoItem( id: "yDEL1pTYOhs", name: "The \"Meritocracy\" Isn\'t Real", - length: Some(385), + duration: Some(385), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yDEL1pTYOhs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmKg0HtcuQfJUsjVj_3WIUtOkZDg", @@ -426,7 +426,7 @@ Channel( VideoItem( id: "EnVvlhhqWtw", name: "City Review - Prague: Beautiful and Disappointing", - length: Some(834), + duration: Some(834), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EnVvlhhqWtw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFUovL8XJ7tUzOh_sdB1ymKJS4Qg", @@ -467,7 +467,7 @@ Channel( VideoItem( id: "Oxz4oY0T85Y", name: "European International Rail SUCKS, Here\'s Why", - length: Some(810), + duration: Some(810), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Oxz4oY0T85Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdlPQSSzVGixQsH_uXsd1VVsfMcQ", @@ -508,7 +508,7 @@ Channel( VideoItem( id: "lxUEuOkblws", name: "Why the Straddling Bus Failed", - length: Some(614), + duration: Some(614), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lxUEuOkblws/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaUchMwc5d_yNfH9BM0VlexxjPtQ", @@ -549,7 +549,7 @@ Channel( VideoItem( id: "UG8jiKOtedk", name: "How Canadian Ukrainian Volunteer Got Exposed", - length: Some(538), + duration: Some(538), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UG8jiKOtedk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB7OMkifWaF0tbm5qu0IZmxuK7AtA", @@ -590,7 +590,7 @@ Channel( VideoItem( id: "bQld7iJJSyk", name: "Why Roads ALWAYS Fill Up, No Matter How Much We Widen Them", - length: Some(159), + duration: Some(159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bQld7iJJSyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-9aUtPGBCwAO2wl2JG5JnwWh-iA", @@ -631,7 +631,7 @@ Channel( VideoItem( id: "WUK0K5mdQ_s", name: "Egypt\'s New Capital is an Ozymandian Nightmare", - length: Some(870), + duration: Some(870), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WUK0K5mdQ_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCViMWL1-G3s7PBgMgo1mVdFSx9Rw", @@ -672,7 +672,7 @@ Channel( VideoItem( id: "LB-vsT1Sl68", name: "Why Car-Centric Cities are a GREAT Idea", - length: Some(369), + duration: Some(369), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LB-vsT1Sl68/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfLhC6VYMirWX_lL0eXhZCpAYabA", @@ -713,7 +713,7 @@ Channel( VideoItem( id: "p8NiM_p8n5A", name: "HE FIXED TRAFFIC", - length: Some(157), + duration: Some(157), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/p8NiM_p8n5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTl0EgGk8_v6gPMJY0IF5tUvDGAg", @@ -754,7 +754,7 @@ Channel( VideoItem( id: "U9YdnzOf4NQ", name: "Why a Mars Colony is a Stupid and Dangerous Idea", - length: Some(1000), + duration: Some(1000), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/U9YdnzOf4NQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARNVQBbhiSGasL6fMQUU1ITgHuDQ", @@ -795,7 +795,7 @@ Channel( VideoItem( id: "CH55WpJxF1s", name: "What #Elongate Is Really About", - length: Some(122), + duration: Some(122), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CH55WpJxF1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACITT6pFDi4KlXA0E6lLB5FHVxbQ", @@ -836,7 +836,7 @@ Channel( VideoItem( id: "PPcsZwUv350", name: "Vladimir Putin\'s Three Choices", - length: Some(505), + duration: Some(505), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PPcsZwUv350/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBnYUqduIFS2zR6BQwWIdWH0eyIng", @@ -877,7 +877,7 @@ Channel( VideoItem( id: "B78-FgNqdc8", name: "Was I WRONG About Electric Buses?", - length: Some(1536), + duration: Some(1536), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/B78-FgNqdc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4r2bdbKCxbgvGoKGauCaZDBp3mw", @@ -918,7 +918,7 @@ Channel( VideoItem( id: "JCXLwOMSDxk", name: "If We Treated Afghanistan Like Ukraine", - length: Some(92), + duration: Some(92), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JCXLwOMSDxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhu3_HO7U63sl-DBLhRbDllmFoRA", @@ -959,7 +959,7 @@ Channel( VideoItem( id: "IpIWswLYAbA", name: "Who\'s Winning the War for Ukraine?", - length: Some(646), + duration: Some(646), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/IpIWswLYAbA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpoUqVQJOt4bR1niy4QTCpbNo8cg", @@ -1000,7 +1000,7 @@ Channel( VideoItem( id: "NIItoD1Ebh0", name: "Old Habits Die Hard", - length: Some(107), + duration: Some(107), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NIItoD1Ebh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBHqsrLzPqmebGr4w1j40V31wgRcQ", @@ -1041,7 +1041,7 @@ Channel( VideoItem( id: "pENUV9DLa2g", name: "Anarcho-Capitalism In Practice III - The Final Attempt", - length: Some(600), + duration: Some(600), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pENUV9DLa2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmoujwlLKjddw_4xZGN0iY0-uO_g", @@ -1082,7 +1082,7 @@ Channel( VideoItem( id: "gFGQI8P9BMg", name: "How The Gravel Institute Lies To You About Ukraine", - length: Some(2472), + duration: Some(2472), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gFGQI8P9BMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBpJDqK5bFk3L2AuDsyN8SrCv4fKA", @@ -1123,7 +1123,7 @@ Channel( VideoItem( id: "AVLevneWvaE", name: "Why Russia Can\'t Achieve Air Supremacy In Ukraine", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AVLevneWvaE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjh4bMN4kEdZqI94bBJlK60-6WWA", @@ -1164,7 +1164,7 @@ Channel( VideoItem( id: "MfRcY90OccY", name: "Can Ukraine Actually WIN This?", - length: Some(606), + duration: Some(606), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MfRcY90OccY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxpbaMlVdngsFBMi1pYqCTkhnk4g", @@ -1205,7 +1205,7 @@ Channel( VideoItem( id: "dQXwreYzJ40", name: "Here\'s What Will Happen To Ukraine [Update: yep, called it]", - length: Some(397), + duration: Some(397), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dQXwreYzJ40/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCyh95CRe_cTECmF4XY9oq3jtFjw", @@ -1246,7 +1246,7 @@ Channel( VideoItem( id: "-OO3RiNMDB8", name: "Assessing The Russian Invasion Threat", - length: Some(655), + duration: Some(655), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-OO3RiNMDB8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWbC-UhcsGON1ERqF0BToXXwNXdA", @@ -1287,7 +1287,7 @@ Channel( VideoItem( id: "obMTYs30E9A", name: "Ukraine - The Country That Defied Vladimir Putin", - length: Some(2498), + duration: Some(2498), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/obMTYs30E9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsLbeOIYyrq_a3srmaShg1BXt6IA", @@ -1328,7 +1328,7 @@ Channel( VideoItem( id: "4-2bR1iFlhk", name: "\"Wait, Russia isn\'t in NATO?!\" Insane Debate on Ukraine, US Politics, and more!", - length: Some(12151), + duration: Some(12151), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4-2bR1iFlhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDi8mzVinfZpO33L7lijfeQJdsVuA", diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_channel_videos.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_channel_videos.snap index cefb6e4..9aa3c44 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_channel_videos.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_channel_videos.snap @@ -8,7 +8,7 @@ Paginator( VideoItem( id: "R2fw2g6WFbg", name: "EEVblog 1477 - TEARDOWN! - NEW Tektronix 2 Series Oscilloscope", - length: Some(2718), + duration: Some(2718), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/R2fw2g6WFbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwd6wqvFI0HcPpOkDW_XDzWSPH_w", @@ -43,7 +43,7 @@ Paginator( VideoItem( id: "JDXKrXJloSw", name: "EEVblog 1476 - Keithley 515A Wheatstone Bridge TEARDOWN & TUTORIAL", - length: Some(1721), + duration: Some(1721), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JDXKrXJloSw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCk0u4EnX8f6ud7s704sbv5UGFZug", @@ -78,7 +78,7 @@ Paginator( VideoItem( id: "H8ot_YPi6QU", name: "eevBLAB 98 - The Pressure Youtubers Are Under", - length: Some(431), + duration: Some(431), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/H8ot_YPi6QU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiimvgnZx6akYlMkU-hxSuIM33Mg", @@ -113,7 +113,7 @@ Paginator( VideoItem( id: "i1Ad5jfk_v4", name: "EEVblog 1475 - What\'s This SMD Part?", - length: Some(1785), + duration: Some(1785), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/i1Ad5jfk_v4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxhWKrpuy11lTv5po8m7OyQYxbvA", @@ -148,7 +148,7 @@ Paginator( VideoItem( id: "GHbo4v8pahc", name: "eevBLAB 97 - Is Apple Serious About Right To Repair? (The Verge)", - length: Some(1186), + duration: Some(1186), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GHbo4v8pahc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKNYL8XTxa9LDJKG6L7unv3CJG9Q", @@ -183,7 +183,7 @@ Paginator( VideoItem( id: "Uds-wLoaZmA", name: "EEVblog 1474 - Can You Measure Capacitors IN Circuit?", - length: Some(1407), + duration: Some(1407), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Uds-wLoaZmA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASo0gEqEXqljW-KjeCb2jcr8Wxkw", @@ -218,7 +218,7 @@ Paginator( VideoItem( id: "D9J-AmCcf4U", name: "EEVblog 1473 - How Your LCR Meter Works", - length: Some(1183), + duration: Some(1183), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/D9J-AmCcf4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO_KDd4KRJX5K0ea3of2pm_Pp3dw", @@ -253,7 +253,7 @@ Paginator( VideoItem( id: "Eoh-JKVQZwg", name: "EEVblog 1472 - Resistor Cube Problem SOLVED", - length: Some(1196), + duration: Some(1196), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Eoh-JKVQZwg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7JkB7fkv4gOeXl4-B9VWSSsbkDw", @@ -288,7 +288,7 @@ Paginator( VideoItem( id: "U81glZBDpIg", name: "EEVblog 1471 - Mailbag", - length: Some(2252), + duration: Some(2252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/U81glZBDpIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfgd3GSfLFioa89tLill31Zl7gOg", @@ -323,7 +323,7 @@ Paginator( VideoItem( id: "gLfxznVJ2q0", name: "Petition - Australian Standards Should be FREE", - length: Some(585), + duration: Some(585), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gLfxznVJ2q0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCSXOJMOfUPep7AbUFPFEW2e-KFA", @@ -358,7 +358,7 @@ Paginator( VideoItem( id: "GfihUkWPCQQ", name: "EEVblog 1470 - AC Basics Tutorial Part 3 - Complex Numbers are EASY!", - length: Some(1468), + duration: Some(1468), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GfihUkWPCQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTbyr1AEDanXKDJg18zCEDN5YKCg", @@ -393,7 +393,7 @@ Paginator( VideoItem( id: "yEG6pKUdIlg", name: "EEVblog 1469 - AC Basics Tutorial - Part 2 - Phasors", - length: Some(1147), + duration: Some(1147), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yEG6pKUdIlg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavMqXRQQP8Qs6jPDdCaZdjj28sw", @@ -428,7 +428,7 @@ Paginator( VideoItem( id: "wPzzPGzxD00", name: "EEVblog 1468 - Electronex Show Tour 2022", - length: Some(2850), + duration: Some(2850), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wPzzPGzxD00/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3HoFx0YDm9C54Wn8lPV-hqHmLBA", @@ -463,7 +463,7 @@ Paginator( VideoItem( id: "Tdge8vEODeY", name: "EEVblog 1467 - Stanford Solar Power at Nightime! BUSTED", - length: Some(836), + duration: Some(836), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Tdge8vEODeY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLhiajXRRNS9OAmsMeX1ploYVog", @@ -498,7 +498,7 @@ Paginator( VideoItem( id: "ebQ2Im5zfT0", name: "EEVblog 1466 - Dumpster Dive Xeon Server", - length: Some(1138), + duration: Some(1138), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ebQ2Im5zfT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBPfDfHepn92nrxb-l3GoEUJxNg", @@ -533,7 +533,7 @@ Paginator( VideoItem( id: "UrS5ezesA9s", name: "EEVblog 1465 - Your Multimeter Can Measure Inductors", - length: Some(596), + duration: Some(596), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UrS5ezesA9s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhubVMAa4lD0PEkWJwxngLFy2g5A", @@ -568,7 +568,7 @@ Paginator( VideoItem( id: "c5M8P6oe9xY", name: "EEVblog 1464 - TOP 5 Jellybean Comparators", - length: Some(2399), + duration: Some(2399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c5M8P6oe9xY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBbPtmLMOKuiIB4l1Z_VuF8ajH1g", @@ -603,7 +603,7 @@ Paginator( VideoItem( id: "9TDKP9RLlPs", name: "EEVblog 1463 - Mailbag", - length: Some(2664), + duration: Some(2664), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9TDKP9RLlPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBC8e8sMlrwsvUamlxaJGvSAB1vAQ", @@ -638,7 +638,7 @@ Paginator( VideoItem( id: "hwggIw2HQuQ", name: "eevBLAB 96 - BUSTED! - Dymo Gets WORSE!", - length: Some(347), + duration: Some(347), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hwggIw2HQuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrARGU_K_yrxFuO5Fx0a2sznKUCA", @@ -673,7 +673,7 @@ Paginator( VideoItem( id: "xzSDJRC0F6c", name: "EEVblog 1462 - Why Dymo Label Printers SUCK!", - length: Some(1353), + duration: Some(1353), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xzSDJRC0F6c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAG9svGIbJ61gBv2XurBBjdj7eWaA", @@ -708,7 +708,7 @@ Paginator( VideoItem( id: "9wuyPZjjR9k", name: "EEVblog 1461 - The MOSFET Search CHALLENGE", - length: Some(3505), + duration: Some(3505), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9wuyPZjjR9k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhLudpzPSKR-vnRpUF61-upI5W4A", @@ -743,7 +743,7 @@ Paginator( VideoItem( id: "vyJuMGEFbjQ", name: "EEVblog1460 - REPAIRING a LED Studio Light with a DUMPSTER LAPTOP!", - length: Some(1798), + duration: Some(1798), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vyJuMGEFbjQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLConLvhiiORxzI4W53cK838-oimWA", @@ -778,7 +778,7 @@ Paginator( VideoItem( id: "_pETMto-9iE", name: "EEVblog 1459 - Is it worth PARTS SALVAGING an Inkjet Printer/Scanner?", - length: Some(1588), + duration: Some(1588), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_pETMto-9iE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANwQQorgH71g8SZTkT6gi8SjkDCQ", @@ -813,7 +813,7 @@ Paginator( VideoItem( id: "MvFf9RSJUhk", name: "EEVblog 1458 - Microscope Polarising MAGIC!", - length: Some(942), + duration: Some(942), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MvFf9RSJUhk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOkBS4oJiQHsbt_NMdXftPeUaR8A", @@ -848,7 +848,7 @@ Paginator( VideoItem( id: "E6obq3T71vI", name: "EEVblog1457 - Old School Mailbag - ESC Burnout", - length: Some(1552), + duration: Some(1552), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E6obq3T71vI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA24jAiRp_-m1MJQATFhdbrRqFnHA", @@ -883,7 +883,7 @@ Paginator( VideoItem( id: "ZTwVQmUm6NY", name: "eevBLAB 95 - Why Are Youtube Playlists So BAD?", - length: Some(865), + duration: Some(865), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZTwVQmUm6NY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAi4YH3QhTYvY5be4zeqST3PZ7EBA", @@ -918,7 +918,7 @@ Paginator( VideoItem( id: "prQinQ4MWmU", name: "EEVblog 1456 - Sega Toys Homestar Planetarium REPAIR", - length: Some(899), + duration: Some(899), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/prQinQ4MWmU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDXaQgmCdFsIkM5Yt0Req7NWHELjQ", @@ -953,7 +953,7 @@ Paginator( VideoItem( id: "yMIzsFAztv4", name: "EEVblog 1455 - Capacitors Produce Current During Reflow Soldering! WTF!", - length: Some(894), + duration: Some(894), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yMIzsFAztv4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcBhR3clJQxbrPONzQJ9nUNd_0OA", @@ -988,7 +988,7 @@ Paginator( VideoItem( id: "QtqljdMwRyk", name: "EEVblog 1454 - Water from Air AGAIN! - The Kara Pure", - length: Some(1198), + duration: Some(1198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QtqljdMwRyk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDERzxdJPJQ7T_UhqojqFaACgzFvA", @@ -1023,7 +1023,7 @@ Paginator( VideoItem( id: "kcWwAweWjQg", name: "EEVblog 1453 - Elgato Key Light TEARDOWN", - length: Some(1048), + duration: Some(1048), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kcWwAweWjQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASIZUAaqbklehN0AG_xn6QDrREog", diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist.snap index 4dcbef3..eb0f46c 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist.snap @@ -8,7 +8,7 @@ Paginator( VideoItem( id: "zMPIobcM2j0", name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM", - length: Some(212), + duration: Some(212), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUSg9MA8=&rs=AOn4CLAuU5Z3UBZEtKPrFsMT8zuSdLpCaQ", @@ -49,7 +49,7 @@ Paginator( VideoItem( id: "f9g6NCHQrcE", name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)", - length: Some(230), + duration: Some(230), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw", @@ -90,7 +90,7 @@ Paginator( VideoItem( id: "CAVfEwrwT_o", name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)", - length: Some(227), + duration: Some(227), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw", @@ -131,7 +131,7 @@ Paginator( VideoItem( id: "VUr9JZQ8F2g", name: "Kontra K - Zwischen Himmel & Hölle (Official Video)", - length: Some(270), + duration: Some(270), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg", @@ -172,7 +172,7 @@ Paginator( VideoItem( id: "XQat6rNNbdQ", name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAfXnFLscSl_ts58Ud5Vic-qwrwsg", @@ -213,7 +213,7 @@ Paginator( VideoItem( id: "EQyU6fGDn0c", name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg", @@ -254,7 +254,7 @@ Paginator( VideoItem( id: "g4poKgQZX6w", name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg", @@ -295,7 +295,7 @@ Paginator( VideoItem( id: "YTHr7gxwYUQ", name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)", - length: Some(167), + duration: Some(167), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA", @@ -336,7 +336,7 @@ Paginator( VideoItem( id: "MfCSDn6q6j4", name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)", - length: Some(182), + duration: Some(182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg", @@ -377,7 +377,7 @@ Paginator( VideoItem( id: "gx9KFXb5x_o", name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)", - length: Some(166), + duration: Some(166), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ", @@ -418,7 +418,7 @@ Paginator( VideoItem( id: "d7R7DQ5tlQo", name: "RAF Camora - SAG NIX (Anthrazit RR) #02", - length: Some(205), + duration: Some(205), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg", @@ -459,7 +459,7 @@ Paginator( VideoItem( id: "cZPjgcqHSa8", name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]", - length: Some(294), + duration: Some(294), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg", @@ -500,7 +500,7 @@ Paginator( VideoItem( id: "ogDLdREonWY", name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)", - length: Some(198), + duration: Some(198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA", @@ -541,7 +541,7 @@ Paginator( VideoItem( id: "pRQpKprUUPY", name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ", @@ -582,7 +582,7 @@ Paginator( VideoItem( id: "qZoQw9b4uCo", name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g", @@ -623,7 +623,7 @@ Paginator( VideoItem( id: "q23qghoF6Nk", name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)", - length: Some(271), + duration: Some(271), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ", @@ -664,7 +664,7 @@ Paginator( VideoItem( id: "yU0aKa7PFBg", name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng", @@ -705,7 +705,7 @@ Paginator( VideoItem( id: "DVCAqvypaCc", name: "DARDAN - JUMP (prod. by Oster)", - length: Some(202), + duration: Some(202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw", @@ -746,7 +746,7 @@ Paginator( VideoItem( id: "XdnI7sm6LeQ", name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)", - length: Some(240), + duration: Some(240), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw", @@ -787,7 +787,7 @@ Paginator( VideoItem( id: "KcOXNSJtFLg", name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]", - length: Some(255), + duration: Some(255), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDggYyhyMA8=&rs=AOn4CLDP_rdjW8feJ1ZoIRxZT6P218hhdg", @@ -828,7 +828,7 @@ Paginator( VideoItem( id: "K0UxHXZwgsg", name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu", - length: Some(245), + duration: Some(245), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw", @@ -869,7 +869,7 @@ Paginator( VideoItem( id: "eyyNwOSQ3Yg", name: "MGP \"BAD BITCH\" (Official Video)", - length: Some(166), + duration: Some(166), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ", @@ -910,7 +910,7 @@ Paginator( VideoItem( id: "1yskotqNuXI", name: "RIN - Bros (prod. Minhtendo)", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw", @@ -951,7 +951,7 @@ Paginator( VideoItem( id: "C03n4AAiL9w", name: "Glasperlenspiel - Geiles Leben (Lyric Video)", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig", @@ -992,7 +992,7 @@ Paginator( VideoItem( id: "a2wNRTKRusM", name: "Moe Phoenix - Mohammad (prod. by AriBeatz)", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA", @@ -1033,7 +1033,7 @@ Paginator( VideoItem( id: "AIf61iHwWMQ", name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07", - length: Some(268), + duration: Some(268), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg", @@ -1074,7 +1074,7 @@ Paginator( VideoItem( id: "BixqbSRjY2Y", name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)", - length: Some(319), + duration: Some(319), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUiheMA8=&rs=AOn4CLBqs2J7SrhDv0y0nukTRhu3nBf0RQ", @@ -1115,7 +1115,7 @@ Paginator( VideoItem( id: "Acgy-3d4P6o", name: "Kontra K - Erfolg ist kein Glück (Official Video)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgXyhlMA8=&rs=AOn4CLBPlFkfape542W2wqX_C2tcWypxKQ", @@ -1156,7 +1156,7 @@ Paginator( VideoItem( id: "5M_yA9M7yNc", name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03", - length: Some(156), + duration: Some(156), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ", @@ -1197,7 +1197,7 @@ Paginator( VideoItem( id: "PjJuezhos3U", name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive", - length: Some(258), + duration: Some(258), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A", @@ -1238,7 +1238,7 @@ Paginator( VideoItem( id: "XMutaJI2-kc", name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]", - length: Some(262), + duration: Some(262), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw", @@ -1279,7 +1279,7 @@ Paginator( VideoItem( id: "Xac6Q7hcZkQ", name: "RIN - Monica Bellucci (prod. Alexis Troy)", - length: Some(228), + duration: Some(228), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q", @@ -1320,7 +1320,7 @@ Paginator( VideoItem( id: "JfwjsjBcDoU", name: "Helene Fischer - Achterbahn", - length: Some(222), + duration: Some(222), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ", @@ -1361,7 +1361,7 @@ Paginator( VideoItem( id: "zshiQUV3ohw", name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw", @@ -1402,7 +1402,7 @@ Paginator( VideoItem( id: "g1eTAt1_VAM", name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]", - length: Some(303), + duration: Some(303), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg", @@ -1443,7 +1443,7 @@ Paginator( VideoItem( id: "c3rLrFC8igY", name: "Dame - Auf die guten alten Zeiten [Official HD Video]", - length: Some(252), + duration: Some(252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgRig8MA8=&rs=AOn4CLDwPn1CndxsMh6zW-hj5sxAmTVMcA", @@ -1484,7 +1484,7 @@ Paginator( VideoItem( id: "1im4DNEYzEM", name: "Gzuz - Optimal (Jambeatz)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhMMA8=&rs=AOn4CLBx6JS1pZn9Qgq-BchE8fv8lUP6nA", @@ -1525,7 +1525,7 @@ Paginator( VideoItem( id: "8BUxw9ocM2s", name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)", - length: Some(184), + duration: Some(184), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA", @@ -1566,7 +1566,7 @@ Paginator( VideoItem( id: "g4cSpnGbHPE", name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)", - length: Some(201), + duration: Some(201), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgWyhCMA8=&rs=AOn4CLDm0FhfKylnfery4UqpUghgot5oaA", @@ -1607,7 +1607,7 @@ Paginator( VideoItem( id: "1Sdj9MiCowQ", name: "187 Strassenbande - 10 Jahre (Jambeatz)", - length: Some(296), + duration: Some(296), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShMMA8=&rs=AOn4CLAAZTsrfwImW7FvwIYWJ9K0JnNVkA", @@ -1648,7 +1648,7 @@ Paginator( VideoItem( id: "2DbR35g-0ZY", name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]", - length: Some(237), + duration: Some(237), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gHig8MA8=&rs=AOn4CLAAOdr62yoknUpc5OIvFP4ewD01dw", @@ -1689,7 +1689,7 @@ Paginator( VideoItem( id: "j09hpp3AxIE", name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]", - length: Some(272), + duration: Some(272), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw", @@ -1730,7 +1730,7 @@ Paginator( VideoItem( id: "J3GN6JXjV3g", name: "Wincent Weiss - Frische Luft", - length: Some(200), + duration: Some(200), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA", @@ -1771,7 +1771,7 @@ Paginator( VideoItem( id: "pULl-p02upM", name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]", - length: Some(240), + duration: Some(240), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g", @@ -1812,7 +1812,7 @@ Paginator( VideoItem( id: "O6By8JeCtQQ", name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)", - length: Some(210), + duration: Some(210), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ", @@ -1853,7 +1853,7 @@ Paginator( VideoItem( id: "NGn3IYQ7M7E", name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)", - length: Some(228), + duration: Some(228), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDIgYChyMA8=&rs=AOn4CLA2wpgBg-MXTT_iZyBlTP7ur2bZBw", @@ -1894,7 +1894,7 @@ Paginator( VideoItem( id: "o43oI5x86dI", name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)", - length: Some(166), + duration: Some(166), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg", @@ -1935,7 +1935,7 @@ Paginator( VideoItem( id: "7TNqUrINxzs", name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw", @@ -1976,7 +1976,7 @@ Paginator( VideoItem( id: "f3BD5Zm3cp0", name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEUgVihlMA8=&rs=AOn4CLAiVFr5c0yW81qlZDUAapLUrvLF5Q", @@ -2017,7 +2017,7 @@ Paginator( VideoItem( id: "sF4yTDp95Eo", name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)", - length: Some(203), + duration: Some(203), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw", @@ -2058,7 +2058,7 @@ Paginator( VideoItem( id: "1EwLNHg6ejY", name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)", - length: Some(224), + duration: Some(224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g", @@ -2099,7 +2099,7 @@ Paginator( VideoItem( id: "-l75qaSDWe8", name: "SXTN - Bongzimmer (Official Video)", - length: Some(287), + duration: Some(287), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ", @@ -2140,7 +2140,7 @@ Paginator( VideoItem( id: "7h7ntYLLrfQ", name: "Mark Forster - Kogong", - length: Some(223), + duration: Some(223), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA", @@ -2181,7 +2181,7 @@ Paginator( VideoItem( id: "ApUl3Ops69M", name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1", - length: Some(179), + duration: Some(179), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q", @@ -2222,7 +2222,7 @@ Paginator( VideoItem( id: "2YcJ8Wightw", name: "GZUZ - CL500 (Jambeatz)", - length: Some(152), + duration: Some(152), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ", @@ -2263,7 +2263,7 @@ Paginator( VideoItem( id: "W3q8Od5qJio", name: "Rammstein - Du Hast (Official 4K Video)", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA", @@ -2304,7 +2304,7 @@ Paginator( VideoItem( id: "WPFLAjmWCtk", name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO", - length: Some(268), + duration: Some(268), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ", @@ -2345,7 +2345,7 @@ Paginator( VideoItem( id: "tC76tIp0kBk", name: "MoTrip - So wie du bist (feat. Lary)", - length: Some(312), + duration: Some(312), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ", @@ -2386,7 +2386,7 @@ Paginator( VideoItem( id: "kiMG_JV2gbo", name: "Adel Tawil \"Lieder\" (Official Lyrics Video)", - length: Some(230), + duration: Some(230), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww", @@ -2427,7 +2427,7 @@ Paginator( VideoItem( id: "CrYYg_atdtk", name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw", @@ -2468,7 +2468,7 @@ Paginator( VideoItem( id: "XTPGpBBwt1w", name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)", - length: Some(299), + duration: Some(299), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg", @@ -2509,7 +2509,7 @@ Paginator( VideoItem( id: "uC08L4xxjNM", name: "Max Giesinger - 80 Millionen (Offizielles Video)", - length: Some(257), + duration: Some(257), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q", @@ -2550,7 +2550,7 @@ Paginator( VideoItem( id: "5fAoV_AAMf0", name: "Mark Forster - Bauch und Kopf (Videoclip)", - length: Some(257), + duration: Some(257), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg", @@ -2591,7 +2591,7 @@ Paginator( VideoItem( id: "u5Vz7obL460", name: "Tim Bendzko - Keine Maschine (Offizielles Video)", - length: Some(202), + duration: Some(202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFIgXihlMA8=&rs=AOn4CLC1InTb9tzurJ8KYVVxYlr_mAviGw", @@ -2632,7 +2632,7 @@ Paginator( VideoItem( id: "ZPJlyRv_IGI", name: "Deichkind - Leider Geil (Official Video)", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGH8gLigsMA8=&rs=AOn4CLAsa5xqoVmmalzKDlxm2W274NBygg", @@ -2673,7 +2673,7 @@ Paginator( VideoItem( id: "s2SLbln-JwE", name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!", - length: Some(172), + duration: Some(172), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ", @@ -2714,7 +2714,7 @@ Paginator( VideoItem( id: "28xHtRw6pG8", name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ", @@ -2755,7 +2755,7 @@ Paginator( VideoItem( id: "joWoKqUTRvc", name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]", - length: Some(204), + duration: Some(204), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ", @@ -2796,7 +2796,7 @@ Paginator( VideoItem( id: "XNMFTqhcNrE", name: "Mark Forster - Flash mich (Videoclip)", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw", @@ -2837,7 +2837,7 @@ Paginator( VideoItem( id: "v3vPLgJ9FX8", name: "Cheat Codes - Sex (Official Video)", - length: Some(260), + duration: Some(260), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ", @@ -2878,7 +2878,7 @@ Paginator( VideoItem( id: "UFXOd179kOA", name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag", @@ -2919,7 +2919,7 @@ Paginator( VideoItem( id: "4xRsDnKgHZc", name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw", @@ -2960,7 +2960,7 @@ Paginator( VideoItem( id: "mE3IjoEqMqY", name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg", @@ -3001,7 +3001,7 @@ Paginator( VideoItem( id: "E7e5vxKerqA", name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)", - length: Some(195), + duration: Some(195), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw", @@ -3042,7 +3042,7 @@ Paginator( VideoItem( id: "axmZ_5Rx4Go", name: "Adel Tawil \"Zuhause\" (Official Music Video)", - length: Some(210), + duration: Some(210), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw", @@ -3083,7 +3083,7 @@ Paginator( VideoItem( id: "44Ig6BsOCYA", name: "Olexesh - PURPLE HAZE (Offizielles Video)", - length: Some(279), + duration: Some(279), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA", @@ -3124,7 +3124,7 @@ Paginator( VideoItem( id: "3iLBFEJjdN0", name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)", - length: Some(242), + duration: Some(242), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ", @@ -3165,7 +3165,7 @@ Paginator( VideoItem( id: "M-ncq2eHF_k", name: "Philipp Poisel - Ich will nur (Offizielles Video)", - length: Some(233), + duration: Some(233), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgUyhAMA8=&rs=AOn4CLAMdawKceSh6Dzs15D6GxrLI5K_rQ", @@ -3206,7 +3206,7 @@ Paginator( VideoItem( id: "cgb-zp9DDHg", name: "Bushido X Shindy - Brot brechen", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgYShJMA8=&rs=AOn4CLDlEBGR7d_j3XjTUqjAe6Ymzsyb5g", @@ -3247,7 +3247,7 @@ Paginator( VideoItem( id: "Q7ZXg3KQLt0", name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)", - length: Some(407), + duration: Some(407), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA", @@ -3288,7 +3288,7 @@ Paginator( VideoItem( id: "ysAEZOwp5rM", name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ", @@ -3329,7 +3329,7 @@ Paginator( VideoItem( id: "m5vfng33SVE", name: "Philipp Dittberner - Das ist dein Leben (Official Video)", - length: Some(282), + duration: Some(282), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ", @@ -3370,7 +3370,7 @@ Paginator( VideoItem( id: "yMfgjVlGbUE", name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)", - length: Some(1622), + duration: Some(1622), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA", @@ -3411,7 +3411,7 @@ Paginator( VideoItem( id: "OQIYEPe6DWY", name: "Kraftwerk - Das Model", - length: Some(262), + duration: Some(262), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gHSgjMA8=&rs=AOn4CLATOckzhpynBc2knPq7R4_a1tHfVw", @@ -3452,7 +3452,7 @@ Paginator( VideoItem( id: "5FS8RIH7BpI", name: "GENETIKK - Wünsch dir was (Official HD Video)", - length: Some(303), + duration: Some(303), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ", @@ -3493,7 +3493,7 @@ Paginator( VideoItem( id: "zSRKgFB9piY", name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )", - length: Some(256), + duration: Some(256), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ", @@ -3534,7 +3534,7 @@ Paginator( VideoItem( id: "e4eHhgwHCME", name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]", - length: Some(275), + duration: Some(275), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A", @@ -3575,7 +3575,7 @@ Paginator( VideoItem( id: "q3hZvho7jNk", name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu", - length: Some(222), + duration: Some(222), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA", @@ -3616,7 +3616,7 @@ Paginator( VideoItem( id: "0nWysyj_Z4Y", name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ", @@ -3657,7 +3657,7 @@ Paginator( VideoItem( id: "aGCcLWU0OVo", name: "SIDO - Gürtel am Arm", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw", @@ -3698,7 +3698,7 @@ Paginator( VideoItem( id: "OQsXLK4MeEA", name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama", - length: Some(400), + duration: Some(400), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw", @@ -3739,7 +3739,7 @@ Paginator( VideoItem( id: "xm7dxIqOO2M", name: "KURDO - Halbmond (prod. by Amir & Kostas)", - length: Some(272), + duration: Some(272), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ", @@ -3780,7 +3780,7 @@ Paginator( VideoItem( id: "jlaaByab4Zk", name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)", - length: Some(224), + duration: Some(224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ", @@ -3821,7 +3821,7 @@ Paginator( VideoItem( id: "KG9-jSqXz4U", name: "Oft Gefragt - AnnenMayKantereit (Official Video)", - length: Some(205), + duration: Some(205), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhVMA8=&rs=AOn4CLBxjTyoo39W0zf7cntnv35M9-2-Aw", @@ -3862,7 +3862,7 @@ Paginator( VideoItem( id: "7dISZnwsBSA", name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)", - length: Some(284), + duration: Some(284), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA", @@ -3903,7 +3903,7 @@ Paginator( VideoItem( id: "F_PPdS-PB14", name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]", - length: Some(253), + duration: Some(253), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg", @@ -3944,7 +3944,7 @@ Paginator( VideoItem( id: "DMg9idvVY8M", name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]", - length: Some(173), + duration: Some(173), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw", @@ -3985,7 +3985,7 @@ Paginator( VideoItem( id: "DGEmoSFI94Y", name: "SDP - Kurz für immer bleiben", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g", @@ -4026,7 +4026,7 @@ Paginator( VideoItem( id: "BtZufymxHvE", name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)", - length: Some(159), + duration: Some(159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgYihiMA8=&rs=AOn4CLBk573xWrbGYjsGZKTLo6inp8DKjw", @@ -4067,7 +4067,7 @@ Paginator( VideoItem( id: "xFnlPF3KUqo", name: "Johannes Oerding - Jemanden wie dich (Musikvideo)", - length: Some(235), + duration: Some(235), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xFnlPF3KUqo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3CtkM4WHFt8EfDbOiE2oUbEi91Q", diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_recommendations.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_recommendations.snap index 327f062..e7bdd50 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_recommendations.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_recommendations.snap @@ -8,7 +8,7 @@ Paginator( Video(VideoItem( id: "WPdWvnAAurg", name: "aespa 에스파 \'Savage\' MV", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", @@ -45,7 +45,7 @@ Paginator( Video(VideoItem( id: "Y8JFxS1HlDo", name: "IVE 아이브 \'LOVE DIVE\' MV", - length: Some(179), + duration: Some(179), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", @@ -82,7 +82,7 @@ Paginator( Video(VideoItem( id: "NoYKBAajoyo", name: "EVERGLOW (에버글로우) - DUN DUN MV", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", @@ -119,7 +119,7 @@ Paginator( Video(VideoItem( id: "yQUU29NwNF4", name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw", @@ -156,7 +156,7 @@ Paginator( Video(VideoItem( id: "NU611fxGyPU", name: "aespa 에스파 \'Black Mamba\' Dance Practice", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", @@ -193,7 +193,7 @@ Paginator( Video(VideoItem( id: "EaswWiwMVs8", name: "Stray Kids \"소리꾼(Thunderous)\" M/V", - length: Some(199), + duration: Some(199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw", @@ -230,7 +230,7 @@ Paginator( Video(VideoItem( id: "Ujb-gvqsoi0", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", - length: Some(182), + duration: Some(182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", @@ -267,7 +267,7 @@ Paginator( Video(VideoItem( id: "gQlMMD8auMs", name: "BLACKPINK - ‘Pink Venom’ M/V", - length: Some(194), + duration: Some(194), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gQlMMD8auMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCj78qKZEzgUEGZFed9G0gU30GOLw", @@ -304,7 +304,7 @@ Paginator( Video(VideoItem( id: "BL-aIpCLWnU", name: "Black Mamba", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw", @@ -341,7 +341,7 @@ Paginator( Video(VideoItem( id: "Jh4QFaPmdss", name: "(G)I-DLE - \'TOMBOY\' Official Music Video", - length: Some(198), + duration: Some(198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", @@ -378,7 +378,7 @@ Paginator( Video(VideoItem( id: "Fc-fa6cAe2c", name: "KAI 카이 \'음 (Mmmh)\' MV", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Fc-fa6cAe2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDstHiMkONiE2lMJVWO9-yOeF1GkA", @@ -415,7 +415,7 @@ Paginator( Video(VideoItem( id: "dYRITmpFbJ4", name: "aespa 에스파 \'Girls\' MV", - length: Some(269), + duration: Some(269), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", @@ -452,7 +452,7 @@ Paginator( Video(VideoItem( id: "mH0_XpSHkZo", name: "TWICE \"MORE & MORE\" M/V", - length: Some(241), + duration: Some(241), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mH0_XpSHkZo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCSj0FWw50vVV42c19quxnLJJDg2w", @@ -489,7 +489,7 @@ Paginator( Video(VideoItem( id: "uR8Mrt1IpXg", name: "Red Velvet 레드벨벳 \'Psycho\' MV", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", @@ -526,7 +526,7 @@ Paginator( Video(VideoItem( id: "f5_wn8mexmM", name: "TWICE \"The Feels\" M/V", - length: Some(232), + duration: Some(232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f5_wn8mexmM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-tykU4D6qLBX-nq1pKpdhgUkOFw", @@ -563,7 +563,7 @@ Paginator( Video(VideoItem( id: "Ky5RT5oGg0w", name: "aespa 에스파 \'Black Mamba\' The Debut Stage", - length: Some(287), + duration: Some(287), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ky5RT5oGg0w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJkgSdPQbJFvU3MAgGaK16luJMyQ", @@ -600,7 +600,7 @@ Paginator( Video(VideoItem( id: "gU2HqP4NxUs", name: "BLACKPINK - ‘Pretty Savage’ 1011 SBS Inkigayo", - length: Some(208), + duration: Some(208), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ", @@ -637,7 +637,7 @@ Paginator( Video(VideoItem( id: "KhTeiaCezwM", name: "[MV] MAMAMOO (마마무) - HIP", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", @@ -674,7 +674,7 @@ Paginator( Video(VideoItem( id: "uxmP4b2a0uY", name: "EXO 엑소 \'Obsession\' MV", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uxmP4b2a0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBrxdx72hHbvjdKHWiwEHwmBtaQg", diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_search.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_search.snap index 41bedad..92b4860 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_search.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_search.snap @@ -8,7 +8,7 @@ Paginator( Video(VideoItem( id: "N5AKQflK1TU", name: "When you impulse buy...", - length: Some(60), + duration: Some(60), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/N5AKQflK1TU/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAsKUEXxvFyA6J9cUPJlYYtRBjxmg", @@ -40,7 +40,7 @@ Paginator( Video(VideoItem( id: "OzIFALQ_YtA", name: "taste testing gam!", - length: Some(60), + duration: Some(60), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OzIFALQ_YtA/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLD1E-eWjZrzHcfzh-DBWeZ6ewxNNg", @@ -72,7 +72,7 @@ Paginator( Video(VideoItem( id: "zYHB38UlzE0", name: "Q&A l relationships, burnout, privilege, college advice, living alone, and life after youtube?", - length: Some(775), + duration: Some(775), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zYHB38UlzE0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8--BbjAvsTyJg680DxjOYtxPmgw", @@ -109,7 +109,7 @@ Paginator( Video(VideoItem( id: "GvutfmW26JQ", name: "👹stay sour 🍋", - length: Some(52), + duration: Some(52), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GvutfmW26JQ/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLATzHy4VrMbKmNT14yfqCUBvElmpQ", @@ -141,7 +141,7 @@ Paginator( Video(VideoItem( id: "gK-jLnvVsb0", name: "Contradicting myself", - length: Some(1381), + duration: Some(1381), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A", @@ -178,7 +178,7 @@ Paginator( Video(VideoItem( id: "NudTbo2CJMY", name: "Flying to London", - length: Some(1078), + duration: Some(1078), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ", @@ -215,7 +215,7 @@ Paginator( Video(VideoItem( id: "Nc0HzyDRjm0", name: "Stekki-don ㅣ After Hours ep.2", - length: Some(749), + duration: Some(749), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Nc0HzyDRjm0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAwvID8-W_Ap8qGo17-LcvO2EFXUQ", @@ -252,7 +252,7 @@ Paginator( Video(VideoItem( id: "pvSWHm4wlxY", name: "having kids", - length: Some(60), + duration: Some(60), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pvSWHm4wlxY/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDt7ZAwQoObfa5A7gC_hJnU1WH4Ug", @@ -284,7 +284,7 @@ Paginator( Video(VideoItem( id: "fGQUWI4o__A", name: "Baskin Robbins in South Korea", - length: Some(53), + duration: Some(53), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fGQUWI4o__A/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDyPuI762qzLAZM0QikxjFKVpoF9w", @@ -316,7 +316,7 @@ Paginator( Video(VideoItem( id: "GuyGyzZcumI", name: "McDonald\'s Michelin Burger", - length: Some(59), + duration: Some(59), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GuyGyzZcumI/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDtmyilZAgMw8VWNy518etIKi4phA", @@ -348,7 +348,7 @@ Paginator( Video(VideoItem( id: "6VGG19W08UQ", name: "Nostalgia is a powerful ingredient", - length: Some(52), + duration: Some(52), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6VGG19W08UQ/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDMwP_7D3vLsNxwKorwHfB3CH8Ufg", @@ -380,7 +380,7 @@ Paginator( Video(VideoItem( id: "p3Xhx6aQEXo", name: "Jjajangmyun ㅣ Doob Gourmand ep.2", - length: Some(664), + duration: Some(664), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/p3Xhx6aQEXo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBgdlq5Jo12Sh6E6Q5Q7Dt9dcI7Xw", @@ -417,7 +417,7 @@ Paginator( Video(VideoItem( id: "35Gu3Q6qEn4", name: "Deal Breakers", - length: Some(60), + duration: Some(60), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/35Gu3Q6qEn4/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLAuZwNttZi9nuuNpt4ddruoeyebHg", @@ -449,7 +449,7 @@ Paginator( Video(VideoItem( id: "JoUdBrUpBN0", name: "Jjambbong, jjajangmyeon\'s biggest rival", - length: Some(56), + duration: Some(56), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JoUdBrUpBN0/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLDgEw8JDViwrHKRTv9wcjolELJgJg", @@ -481,7 +481,7 @@ Paginator( Video(VideoItem( id: "l76ovWsPLi8", name: "Jjagglee, Ricotta Persimmon Toast, Plants, and Pringles! l Home Alone All Day Vlog", - length: Some(673), + duration: Some(673), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/l76ovWsPLi8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzoSXa3HTC78qSTARfNPUN3PAomA", @@ -518,7 +518,7 @@ Paginator( Video(VideoItem( id: "zt1Lx9L619w", name: "The biggest privilege my rich friends have", - length: Some(58), + duration: Some(58), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zt1Lx9L619w/hq720_2.jpg?sqp=-oaymwEdCI4CEOADSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCqMZy8XJJZH_CVWMBkIeDCC98brw", diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap index 026117e..171c57f 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap @@ -8,7 +8,7 @@ Paginator( Video(VideoItem( id: "mRmlXh7Hams", name: "Extra 3 vom 12.10.2022 im NDR | extra 3 | NDR", - length: Some(1839), + duration: Some(1839), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mRmlXh7Hams/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbO4lI0dDo_r85A1fi9XQS0rNiOQ", @@ -40,7 +40,7 @@ Paginator( Video(VideoItem( id: "LsXC5r64Pvc", name: "Most Rarest Plays In Baseball History", - length: Some(1975), + duration: Some(1975), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LsXC5r64Pvc/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB2KXmgKxrJVUy3Naqi_R-R2X92FA", @@ -72,7 +72,7 @@ Paginator( Video(VideoItem( id: "dwPmd1GqQHE", name: "90S RAP & HIPHOP MIX - Notorious B I G , Dr Dre, 50 Cent, Snoop Dogg, 2Pac, DMX, Lil Jon and more", - length: Some(5457), + duration: Some(5457), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dwPmd1GqQHE/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAyGcLGzFkfdEmqqohpxZsGOM9Kw", @@ -104,7 +104,7 @@ Paginator( Video(VideoItem( id: "qxI-Ob8lpLE", name: "Schlatt\'s Chips Tier List", - length: Some(1071), + duration: Some(1071), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qxI-Ob8lpLE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBtEO5eB17tODb5Ek9GRoQwwVGtvA", @@ -141,7 +141,7 @@ Paginator( Video(VideoItem( id: "qmrzTUmZ4UU", name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", - length: Some(2043), + duration: Some(2043), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", @@ -178,7 +178,7 @@ Paginator( Video(VideoItem( id: "4q4vpQCIZ6w", name: "🌉 Manhattan Jazz 💖 l Relaxing Jazz Piano Music l Background Music", - length: Some(23229), + duration: Some(23229), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4q4vpQCIZ6w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4DKjgt5VJBRX2pH_KzI4Ru9AMaQ", @@ -215,7 +215,7 @@ Paginator( Video(VideoItem( id: "Z_k31kqZxaE", name: "1 in 1,000,000 NBA Moments", - length: Some(567), + duration: Some(567), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Z_k31kqZxaE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovxnIKW7TCP3XBcG4x-Acw10OBA", @@ -252,7 +252,7 @@ Paginator( Video(VideoItem( id: "zE-a5eqvlv8", name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbIAO-SIuWTC9f2AKu6Yp9nB0BwQ", @@ -289,7 +289,7 @@ Paginator( Video(VideoItem( id: "gNlOk0LXi5M", name: "Soll ich dir 1g GOLD schenken? oder JEMAND anderen DOPPELT?", - length: Some(704), + duration: Some(704), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gNlOk0LXi5M/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAy3JbiDcqUTwF6NS69UnX715q90w", @@ -326,7 +326,7 @@ Paginator( Video(VideoItem( id: "dbMvZjs8Yc8", name: "Brad Pitt- Die Revanche eines Sexsymbols | Doku HD | ARTE", - length: Some(3137), + duration: Some(3137), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dbMvZjs8Yc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6HnYSCQFmEQ1V5qlFf5fblOpv-g", @@ -363,7 +363,7 @@ Paginator( Video(VideoItem( id: "mFxi3lOAcFs", name: "Craziest Soviet Machines You Won\'t Believe Exist - Part 1", - length: Some(1569), + duration: Some(1569), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mFxi3lOAcFs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCgPz_lsa3ENFNi2sC_uraWrUIuBQ", @@ -400,7 +400,7 @@ Paginator( Video(VideoItem( id: "eu7ubm7g59E", name: "People Hated Me For Using This Slab", - length: Some(1264), + duration: Some(1264), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eu7ubm7g59E/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCg_b-6U2Pux_tZqAY8jkIa1JoTew", @@ -437,7 +437,7 @@ Paginator( Video(VideoItem( id: "TRGHIN2PGIA", name: "Christian Bale Breaks Down His Most Iconic Characters | GQ", - length: Some(1381), + duration: Some(1381), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMxhmIbADGzAlH1jNl6RN-ZU0eEQ", @@ -474,7 +474,7 @@ Paginator( Video(VideoItem( id: "w3tENzcssDU", name: "NFL Trick Plays But They Get Increasingly Higher IQ", - length: Some(599), + duration: Some(599), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/w3tENzcssDU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCZHp6o6cV9HNNJXPlI1FKi6S58qg", @@ -511,7 +511,7 @@ Paginator( Video(VideoItem( id: "gUAd2XXzH7w", name: "⚓\u{fe0f}Found ABANDONED SHIP!!! Big CRUISE SHIP on a desert island☠\u{fe0f} Where did the people go?!?", - length: Some(2949), + duration: Some(2949), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gUAd2XXzH7w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDaBSyUxw88zjCr_Az868dEnhMrug", @@ -548,7 +548,7 @@ Paginator( Video(VideoItem( id: "YpGjaJ1ettI", name: "[Working BGM] Comfortable music that makes you feel positive -- Morning Mood -- Daily Routine", - length: Some(3651), + duration: Some(3651), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YpGjaJ1ettI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjAMJifo4Bg-vXUdHXyWYRHSf-Sw", @@ -585,7 +585,7 @@ Paginator( Video(VideoItem( id: "rPAhFD8hKxQ", name: "Survival Camping 9ft/3m Under Snow - Giant Winter Bushcraft Shelter and Quinzee", - length: Some(1301), + duration: Some(1301), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rPAhFD8hKxQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCY0Xhznr6RKZ-EG1G5C1M34h8ugA", @@ -622,7 +622,7 @@ Paginator( Video(VideoItem( id: "2rye4u-cCNk", name: "Pink Panther Fights Off Pests | 54 Minute Compilation | The Pink Panther Show", - length: Some(3158), + duration: Some(3158), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2rye4u-cCNk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCi4Tt2tz-kk-cumb7SEfzzgixj5A", @@ -659,7 +659,7 @@ Paginator( Video(VideoItem( id: "O0xAlfSaBNQ", name: "FC Nantes vs. SC Freiburg – Highlights & Tore | UEFA Europa League", - length: Some(326), + duration: Some(326), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O0xAlfSaBNQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDe-1NUODMNivJw5r5J5Wd16PMsqA", @@ -696,7 +696,7 @@ Paginator( Video(VideoItem( id: "Mhs9Sbnw19o", name: "Dramatisches Duell: 400 Jahre altes Kästchen erzielt zig-fachen Wunschpreis! | Bares für Rares XXL", - length: Some(744), + duration: Some(744), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Mhs9Sbnw19o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkxXdE8JNS0S6_Dhl-aY7FRmbL9g", @@ -733,7 +733,7 @@ Paginator( Video(VideoItem( id: "Bzzp5Cay7DI", name: "Sweet Jazz - Cool autumn Bossa Nova & October Jazz Positive Mood", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Bzzp5Cay7DI/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAKcYaDyG1yocH1e2_BIyl5FGKWPw", @@ -770,7 +770,7 @@ Paginator( Video(VideoItem( id: "SlskTqc9CEc", name: "The Chick-Fil-A Full Menu Challenge", - length: Some(613), + duration: Some(613), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SlskTqc9CEc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBjDpJq0J5r8jvLwIQG2HCvsoj8nw", @@ -807,7 +807,7 @@ Paginator( Video(VideoItem( id: "CwRvM2TfYbs", name: "Gentle healing music of health and to calm the nervous system, deep relaxation! Say Life Yes", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CwRvM2TfYbs/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj3HTq1K0KCuiuZdyh_by4VUZWeA", @@ -844,7 +844,7 @@ Paginator( Video(VideoItem( id: "7jz0pXSe_kI", name: "Craziest \"Fine...I\'ll Do it Myself\" Moments in Sports History (PART 2)", - length: Some(1822), + duration: Some(1822), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7jz0pXSe_kI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEUQzJHcD0s2BgP1znPupwsxf48w", diff --git a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_android.snap b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_android.snap index 696c919..5b0b4f9 100644 --- a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_android.snap +++ b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_android.snap @@ -7,7 +7,7 @@ VideoPlayer( id: "pPvd8UxmSbQ", name: "Inspiring Cinematic Uplifting (Creative Commons)", description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), - length: 163, + duration: 163, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi_webp/pPvd8UxmSbQ/default.webp", diff --git a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktop.snap b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktop.snap index 8de2d4a..68cd7f6 100644 --- a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktop.snap +++ b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktop.snap @@ -7,7 +7,7 @@ VideoPlayer( id: "pPvd8UxmSbQ", name: "Inspiring Cinematic Uplifting (Creative Commons)", description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), - length: 163, + duration: 163, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSNHImLtGal2a95M5oyTT_uuTZlw", diff --git a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktopmusic.snap b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktopmusic.snap index 19b2530..fa9f936 100644 --- a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktopmusic.snap +++ b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_desktopmusic.snap @@ -7,7 +7,7 @@ VideoPlayer( id: "pPvd8UxmSbQ", name: "Inspiring Cinematic Uplifting", description: None, - length: 163, + duration: 163, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AOn4CLC-0nIQMyPuy8CtzqTMl6z1rmG_XQ", diff --git a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_ios.snap b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_ios.snap index c5b2870..c068095 100644 --- a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_ios.snap +++ b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_ios.snap @@ -7,7 +7,7 @@ VideoPlayer( id: "pPvd8UxmSbQ", name: "Inspiring Cinematic Uplifting (Creative Commons)", description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), - length: 163, + duration: 163, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/mqdefault.jpg", diff --git a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_tvhtml5embed.snap b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_tvhtml5embed.snap index ab41d4a..82d769b 100644 --- a/src/client/snapshots/rustypipe__client__player__tests__map_player_data_tvhtml5embed.snap +++ b/src/client/snapshots/rustypipe__client__player__tests__map_player_data_tvhtml5embed.snap @@ -7,7 +7,7 @@ VideoPlayer( id: "pPvd8UxmSbQ", name: "Inspiring Cinematic Uplifting (Creative Commons)", description: Some("► Download Music: http://bit.ly/2QLufeh\nImportant to know! You can download this track for free through Patreon. You will pay only for new tracks! So join others and let\'s make next track together!\n\n► MORE MUSIC: Become my patron and get access to all our music from Patreon library. More Info here: http://bit.ly/2JJDFHb\n\n► Additional edit versions of this track you can download here: http://bit.ly/2WdRinT (5 versions)\n--------------------- \n\n►DESCRIPTION:\nInspiring Cinematic Uplifting Trailer Background - epic music for trailer video project with powerful drums, energetic orchestra and gentle piano melody. This motivational cinematic theme will work as perfect background for beautiful epic moments, landscapes, nature, drone video, motivational products and achievements.\n--------------------- \n\n► LICENSE:\n● If you need a license for your project, you can purchase it here: \nhttps://1.envato.market/ajicu (Audiojungle)\nhttps://bit.ly/3fWZZuI (Pond5)\n--------------------- \n\n► LISTEN ON:\n● Spotify - https://spoti.fi/2sHm3UH\n● Apple Music - https://apple.co/3qBjbUO\n--------------------- \n\n► SUBSCRIBE FOR MORE: \nPatreon: http://bit.ly/2JJDFHb\nYoutube: http://bit.ly/2AYBzfA\nFacebook: http://bit.ly/2T6dTx5\nInstagram: http://bit.ly/2BHJ8rB\nTwitter: http://bit.ly/2MwtOlT\nSoundCloud: http://bit.ly/2IwVVmt\nAudiojungle: https://1.envato.market/ajrsm\nPond5: https://bit.ly/2TLi1rW\n--------------------- \n►Photo by Vittorio Staffolani from Pexels\n--------------------- \n\nFAQ:\n\n► Can I use this music in my videos? \n● Sure! Just download this track and you are ready to use it! We only ask to credit us. \n-------------------- \n\n► What is \"Creative Commons\"? \nCreative Commons is a system that allows you to legally use “some rights reserved” music, movies, images, and other content — all for free. Licensees may copy, distribute, display and perform the work and make derivative works and remixes based on it only if they give the author or licensor the credits.\n-------------------- \n\n► Will I have any copyright issues with this track?\n● No, you should not have any copyright problems with this track!\n-------------------- \n\n► Is it necessary to become your patron?\n● No it\'s not necessary. But we recommend you to become our patron because you will get access to huge library of music. You will download only highest quality files. You will find additional edited versions of every track. You always be tuned with our news. You will find music not only from Roman Senyk but also from another talented authors.\n-------------------- \n\n► Why I received a copyright claim when I used this track?\n● Do not panic! This is very common situation. Content ID fingerprint system can mismatch our music. Just dispute the claim by showing our original track. Or send us the link to your video (romansenykmusic@gmail.com) and attach some screenshot with claim information. Claim will be released until 24 hours!\n\n► How to credit you in my video?\n● Just add to the description of your project information about Author, Name of Song and the link to our original track. Or copy and paste:\n\nMusic Info: Inspiring Cinematic Uplifting by RomanSenykMusic.\nMusic Link: https://youtu.be/pPvd8UxmSbQ\n--------------------- \n\n► If you have any questions, you can write in the comments for this video or by email: romansenykmusic@gmail.com\n--------------------- \n\nStay tuned! The best is yet to come! \nThanks For Listening!\nRoman Senyk"), - length: 163, + duration: 163, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pPvd8UxmSbQ/default.jpg", diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_cont.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_cont.snap index 22d1aa2..2362dd3 100644 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_cont.snap +++ b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_cont.snap @@ -8,7 +8,7 @@ Paginator( PlaylistVideo( id: "zMPIobcM2j0", name: "ZUNA feat. AZET & NOIZY - NUMMER 1 prod. by DJ A-BOOM", - length: 212, + duration: 212, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zMPIobcM2j0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUVzgKNBFY6In3YbZuWpZ60oilnQ", @@ -39,7 +39,7 @@ Paginator( PlaylistVideo( id: "f9g6NCHQrcE", name: "AZET ft. ZUNA & NOIZY - KRIMINELL (prod. by DJ A-BOOM)", - length: 230, + duration: 230, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f9g6NCHQrcE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMGepmuIe_XAharqN6EnCXvp0xYw", @@ -70,7 +70,7 @@ Paginator( PlaylistVideo( id: "CAVfEwrwT_o", name: "Rooz x MoTrip - Immer Wieder (eng: Again and Again) (prod SOTT)", - length: 227, + duration: 227, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CAVfEwrwT_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUrGnudhiLRS7_j5qb_973rHrTMw", @@ -101,7 +101,7 @@ Paginator( PlaylistVideo( id: "VUr9JZQ8F2g", name: "Kontra K - Zwischen Himmel & Hölle (Official Video)", - length: 270, + duration: 270, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VUr9JZQ8F2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_wUNlasFg6HhHNUdiLvaGljPqRg", @@ -132,7 +132,7 @@ Paginator( PlaylistVideo( id: "XQat6rNNbdQ", name: "ZUNA - AYE prod. by LUCRY #KMNSTREET VOL. 7", - length: 220, + duration: 220, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XQat6rNNbdQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALH-TVmccxyBnh-y3ShIBrdDw93g", @@ -163,7 +163,7 @@ Paginator( PlaylistVideo( id: "EQyU6fGDn0c", name: "RAF Camora - CORLEONE (prod. by X-Plosive,The Cratez & RAF Camora)", - length: 220, + duration: 220, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EQyU6fGDn0c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZtiHGorHDDYBp-sPHB2MACq4XJg", @@ -194,7 +194,7 @@ Paginator( PlaylistVideo( id: "g4poKgQZX6w", name: "Ufo361 - „BEVERLY HILLS“ (prod. von AT Beatz/Jimmy Torrio) [Official HD Video]", - length: 219, + duration: 219, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g4poKgQZX6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBog509zw2F56xrdDsQkeRiuEC-xg", @@ -225,7 +225,7 @@ Paginator( PlaylistVideo( id: "YTHr7gxwYUQ", name: "DARDAN X LUCIANO - AIRMAX GEGEN KOPF (prod. by Leryk)", - length: 167, + duration: 167, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YTHr7gxwYUQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgyAHaOHTo5EebRbB0J0b6nA_-aA", @@ -256,7 +256,7 @@ Paginator( PlaylistVideo( id: "MfCSDn6q6j4", name: "YONII - DIRECTION prod. by LUCRY (Official 4K Video)", - length: 182, + duration: 182, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MfCSDn6q6j4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEG2udEnlreWP8ezpx5j-1RpYrwg", @@ -287,7 +287,7 @@ Paginator( PlaylistVideo( id: "gx9KFXb5x_o", name: "Anstandslos & Durchgeknallt - Egal ft. Jasmiina (Official Video)", - length: 166, + duration: 166, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gx9KFXb5x_o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQmzWXiU6YGpce9EAK0b1z2Y_QyQ", @@ -318,7 +318,7 @@ Paginator( PlaylistVideo( id: "d7R7DQ5tlQo", name: "RAF Camora - SAG NIX (Anthrazit RR) #02", - length: 205, + duration: 205, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/d7R7DQ5tlQo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeUBwyhvVq_h9-oRTQ82-tcP7cYg", @@ -349,7 +349,7 @@ Paginator( PlaylistVideo( id: "cZPjgcqHSa8", name: "Olexesh - BWA feat. Celo & Abdi, Hanybal (prod. von Drunken Masters) [Official Video]", - length: 294, + duration: 294, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cZPjgcqHSa8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnL4R2RjYxajSHM2MYHHPIGSEbHg", @@ -380,7 +380,7 @@ Paginator( PlaylistVideo( id: "ogDLdREonWY", name: "AZET - KETTEN CARTIER (Beat by zeeko & Veteran / prod. by DJ A-Boom)", - length: 198, + duration: 198, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ogDLdREonWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCE-WB-D8k22SnqNqjlGIv3PopaKA", @@ -411,7 +411,7 @@ Paginator( PlaylistVideo( id: "pRQpKprUUPY", name: "Moe Phoenix - Ching Chang Chong (prod. by FL3X & Unik)", - length: 226, + duration: 226, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pRQpKprUUPY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1RCyBcVxcI7USDT0EdCYwzsgYbQ", @@ -442,7 +442,7 @@ Paginator( PlaylistVideo( id: "qZoQw9b4uCo", name: "PAYY x ARDIAN BUJUPI - Handschellen (Prod. by Remoe & Kostas Karagiozidis) [ OFFICIAL VIDEO ]", - length: 221, + duration: 221, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qZoQw9b4uCo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_Yap-tgk3XSsxA3-WPIDbffMP5g", @@ -473,7 +473,7 @@ Paginator( PlaylistVideo( id: "q23qghoF6Nk", name: "AZET - GJYNAH (beat by Lucry) (Official 4K Video)", - length: 271, + duration: 271, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/q23qghoF6Nk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAon_vcMLc5GY3dZ857wU4_6sM7bQ", @@ -504,7 +504,7 @@ Paginator( PlaylistVideo( id: "yU0aKa7PFBg", name: "Helene Fischer | Herzbeben (Live aus dem Kesselhaus München)", - length: 206, + duration: 206, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yU0aKa7PFBg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmZE8ywbjxjg8l1xwMeSJzMj27Ng", @@ -535,7 +535,7 @@ Paginator( PlaylistVideo( id: "DVCAqvypaCc", name: "DARDAN - JUMP (prod. by Oster)", - length: 202, + duration: 202, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DVCAqvypaCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzU84UNl1l4W0cTdgmX9xthBVhHw", @@ -566,7 +566,7 @@ Paginator( PlaylistVideo( id: "XdnI7sm6LeQ", name: "RAF Camora - Andere Liga (prod. Beataura & RAF Camora)", - length: 240, + duration: 240, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XdnI7sm6LeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALhffgTUDPZfO74mZauERCfDWLFw", @@ -597,7 +597,7 @@ Paginator( PlaylistVideo( id: "KcOXNSJtFLg", name: "Sugar MMFK - Trikot von Paris (prod. by Penacho) [4K VIDEO]", - length: 255, + duration: 255, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KcOXNSJtFLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtf7BnKkQGWA9CJSEwH_-oYzka5w", @@ -628,7 +628,7 @@ Paginator( PlaylistVideo( id: "K0UxHXZwgsg", name: "FLER ✖\u{fe0f}Pfirsich/Late Check-Out ✖\u{fe0f}► [ official Video ] prod. by Simes Add. Vocals by Mosenu", - length: 245, + duration: 245, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/K0UxHXZwgsg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD1XTfZEJtsHmu1PYtlGFwz4bAiOw", @@ -659,7 +659,7 @@ Paginator( PlaylistVideo( id: "eyyNwOSQ3Yg", name: "MGP \"BAD BITCH\" (Official Video)", - length: 166, + duration: 166, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eyyNwOSQ3Yg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrGr9LT69Q4tZzNwFIuUzoUAYwSQ", @@ -690,7 +690,7 @@ Paginator( PlaylistVideo( id: "1yskotqNuXI", name: "RIN - Bros (prod. Minhtendo)", - length: 219, + duration: 219, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1yskotqNuXI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLABT4efReL1QrSECDJwROBI-pRCzw", @@ -721,7 +721,7 @@ Paginator( PlaylistVideo( id: "C03n4AAiL9w", name: "Glasperlenspiel - Geiles Leben (Lyric Video)", - length: 211, + duration: 211, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/C03n4AAiL9w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCKvhEqesIgEalpxUZClNFcg65cig", @@ -752,7 +752,7 @@ Paginator( PlaylistVideo( id: "a2wNRTKRusM", name: "Moe Phoenix - Mohammad (prod. by AriBeatz)", - length: 197, + duration: 197, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a2wNRTKRusM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBKdUFUQEPrf091_3-GxUDfOuwzA", @@ -783,7 +783,7 @@ Paginator( PlaylistVideo( id: "AIf61iHwWMQ", name: "RAF Camora feat. UFO 361, GZUZ & Bonez MC - WAFFEN (Anthrazit RR) #07", - length: 268, + duration: 268, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AIf61iHwWMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOB2LLlsczwY-nRhzA0m4rzWF7yg", @@ -814,7 +814,7 @@ Paginator( PlaylistVideo( id: "BixqbSRjY2Y", name: "RAF Camora - ALLES PROBIERT feat. BONEZ MC (prod.by Beataura & RAF Camora)", - length: 319, + duration: 319, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BixqbSRjY2Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrOaouRgB68UYhr338njl3BEVTdg", @@ -845,7 +845,7 @@ Paginator( PlaylistVideo( id: "Acgy-3d4P6o", name: "Kontra K - Erfolg ist kein Glück (Official Video)", - length: 226, + duration: 226, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Acgy-3d4P6o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBOvR8ORBuQ6zpDKCqfjS2CoAFvA", @@ -876,7 +876,7 @@ Paginator( PlaylistVideo( id: "5M_yA9M7yNc", name: "RAF Camora - GOTHAM CITY (Anthrazit RR) #03", - length: 156, + duration: 156, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5M_yA9M7yNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCviCUA-ubhSSDyG7yt8Q1FEbCdtQ", @@ -907,7 +907,7 @@ Paginator( PlaylistVideo( id: "PjJuezhos3U", name: "Fard - \"LIEBE MACHT BLIND\" (Official Video) prod.by Abaz & X-Plosive", - length: 258, + duration: 258, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PjJuezhos3U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAulYAOlEdmCEOUhn3IQDk6lWuC5A", @@ -938,7 +938,7 @@ Paginator( PlaylistVideo( id: "XMutaJI2-kc", name: "18 Karat ✖\u{fe0f}• MAMA IST NICHT STOLZ •✖\u{fe0f} [ official Video ]", - length: 262, + duration: 262, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XMutaJI2-kc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCJIA4Omo1CkTXkOzYVdNbP0Mkrw", @@ -969,7 +969,7 @@ Paginator( PlaylistVideo( id: "Xac6Q7hcZkQ", name: "RIN - Monica Bellucci (prod. Alexis Troy)", - length: 228, + duration: 228, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Xac6Q7hcZkQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkwIz_hDDGLXX8i3uaKaWIl9ZH1Q", @@ -1000,7 +1000,7 @@ Paginator( PlaylistVideo( id: "JfwjsjBcDoU", name: "Helene Fischer - Achterbahn", - length: 222, + duration: 222, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JfwjsjBcDoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMhxxaiLymi4ZQ3WvJpovkdQfqSQ", @@ -1031,7 +1031,7 @@ Paginator( PlaylistVideo( id: "zshiQUV3ohw", name: "MOE PHOENIX feat. VEYSEL - GAUNER (prod. by Ghana Beats)", - length: 226, + duration: 226, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zshiQUV3ohw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqPtA9IBm0Dp_o89aj1F18oYvRnw", @@ -1062,7 +1062,7 @@ Paginator( PlaylistVideo( id: "g1eTAt1_VAM", name: "Nimo - HYPE feat. Celo & Abdi (prod. von Matveï) [Official 4K Video]", - length: 303, + duration: 303, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g1eTAt1_VAM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuGSL6ChVGrfHZvlpcgOnkQmDnkg", @@ -1093,7 +1093,7 @@ Paginator( PlaylistVideo( id: "c3rLrFC8igY", name: "Dame - Auf die guten alten Zeiten [Official HD Video]", - length: 252, + duration: 252, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c3rLrFC8igY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8th_cJuzgJBvTHkU0F7_1o_EeSg", @@ -1124,7 +1124,7 @@ Paginator( PlaylistVideo( id: "1im4DNEYzEM", name: "Gzuz - Optimal (Jambeatz)", - length: 209, + duration: 209, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1im4DNEYzEM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCK7w05DebTnm9tXPT2AF4BYZQkpg", @@ -1155,7 +1155,7 @@ Paginator( PlaylistVideo( id: "8BUxw9ocM2s", name: "EULE aka Jazzy Gudd - Stehaufmädchen (Official Video)", - length: 184, + duration: 184, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8BUxw9ocM2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD07FNMfJFNvAE1cQaM6d0TKN3thA", @@ -1186,7 +1186,7 @@ Paginator( PlaylistVideo( id: "g4cSpnGbHPE", name: "CAPITAL BRA & KING KHALIL - ZWEISTELLIGE HAFTSTRAFEN (PROD. SAVEN MUSIQ)", - length: 201, + duration: 201, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g4cSpnGbHPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxbM8Us6Xq4TC42SgIawdzsI5kBw", @@ -1217,7 +1217,7 @@ Paginator( PlaylistVideo( id: "1Sdj9MiCowQ", name: "187 Strassenbande - 10 Jahre (Jambeatz)", - length: 296, + duration: 296, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1Sdj9MiCowQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiHVp4uTcgnNiLXVp8txVAsQLRRg", @@ -1248,7 +1248,7 @@ Paginator( PlaylistVideo( id: "2DbR35g-0ZY", name: "Ufo361 - \"DER PATE\" (prod. von Broke Boys) [Official HD Video]", - length: 237, + duration: 237, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2DbR35g-0ZY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oyx0LTAyq3KN833dpoMqO0pPlQ", @@ -1279,7 +1279,7 @@ Paginator( PlaylistVideo( id: "j09hpp3AxIE", name: "Die Toten Hosen // „Tage wie diese\" [Offizielles Musikvideo]", - length: 272, + duration: 272, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/j09hpp3AxIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AYFv29sGfmmdT8U1dqKUjY5ALw", @@ -1310,7 +1310,7 @@ Paginator( PlaylistVideo( id: "J3GN6JXjV3g", name: "Wincent Weiss - Frische Luft", - length: 200, + duration: 200, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/J3GN6JXjV3g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB66Ro2vGeZvHM0dnqbT6HVGtuQNA", @@ -1341,7 +1341,7 @@ Paginator( PlaylistVideo( id: "pULl-p02upM", name: "Eunique ► CHECK (feat. Xatar) ◄ music by Lucry / prod. by Michael Jackson [Official Video]", - length: 240, + duration: 240, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pULl-p02upM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjH5lXg2mtjBxznFQpauBgpZ6S5g", @@ -1372,7 +1372,7 @@ Paginator( PlaylistVideo( id: "O6By8JeCtQQ", name: "KING KHALIL FT. CELO & ABDI - ALLES RICHTIG SO (PROD.BY THE CRATEZ)", - length: 210, + duration: 210, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O6By8JeCtQQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeEDlx_Qtv47nY5CUFqHFv3eJAJQ", @@ -1403,7 +1403,7 @@ Paginator( PlaylistVideo( id: "NGn3IYQ7M7E", name: "LUCIANO - VORANKOMMEN (prod. by Chryziz Beats)", - length: 228, + duration: 228, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NGn3IYQ7M7E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB52YZY551SNIySzi-d8PMMx5p4qA", @@ -1434,7 +1434,7 @@ Paginator( PlaylistVideo( id: "o43oI5x86dI", name: "Gzuz feat. LX- Schnapp! (prod. P.M.B.)", - length: 166, + duration: 166, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/o43oI5x86dI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeGB5wc8URrV5zjwsfhU2-lAd2Bg", @@ -1465,7 +1465,7 @@ Paginator( PlaylistVideo( id: "7TNqUrINxzs", name: "Veysel - Besser als 50 Cent (OFFICIAL HD VIDEO) prod. by Fonty", - length: 197, + duration: 197, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7TNqUrINxzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGpJi_1puIgwODMepICvhX3qrmvw", @@ -1496,7 +1496,7 @@ Paginator( PlaylistVideo( id: "f3BD5Zm3cp0", name: "BONEZ MC & RAF CAMORA - PALMEN AUS GOLD", - length: 231, + duration: 231, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f3BD5Zm3cp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrTx5VwXz29kwhWDvtUqUsMl832Q", @@ -1527,7 +1527,7 @@ Paginator( PlaylistVideo( id: "sF4yTDp95Eo", name: "YONII - LAMPEDUSA prod. by LUCRY (Official 4K Video)", - length: 203, + duration: 203, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sF4yTDp95Eo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvg9CIthGa9KJrDHLjeZjkDegElw", @@ -1558,7 +1558,7 @@ Paginator( PlaylistVideo( id: "1EwLNHg6ejY", name: "Mert ft. SOOLKING - AJAJAJ (prod. by ARIBEATZ)", - length: 224, + duration: 224, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1EwLNHg6ejY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxADlCvmeGhe-SPNkvZcVQk7wu4g", @@ -1589,7 +1589,7 @@ Paginator( PlaylistVideo( id: "-l75qaSDWe8", name: "SXTN - Bongzimmer (Official Video)", - length: 287, + duration: 287, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-l75qaSDWe8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMJGvaVHhQX1wQsr-3Kd2djDVIRQ", @@ -1620,7 +1620,7 @@ Paginator( PlaylistVideo( id: "7h7ntYLLrfQ", name: "Mark Forster - Kogong", - length: 223, + duration: 223, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7h7ntYLLrfQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtAzQLSNQvigkTqhdfBgz8WSOyTA", @@ -1651,7 +1651,7 @@ Paginator( PlaylistVideo( id: "ApUl3Ops69M", name: "AZET - FAST LIFE (prod. by m3) #KMNSTREET VOL. 1", - length: 179, + duration: 179, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ApUl3Ops69M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDb2436I_Kp7y4gMe6w7nh_DN0F2Q", @@ -1682,7 +1682,7 @@ Paginator( PlaylistVideo( id: "2YcJ8Wightw", name: "GZUZ - CL500 (Jambeatz)", - length: 152, + duration: 152, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2YcJ8Wightw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBafY_AaRX5vaAIfpdctKTL8ZbUqQ", @@ -1713,7 +1713,7 @@ Paginator( PlaylistVideo( id: "W3q8Od5qJio", name: "Rammstein - Du Hast (Official Video)", - length: 236, + duration: 236, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W3q8Od5qJio/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8BHWAiUz5cUmZdLkDTTIS7w5bA", @@ -1744,7 +1744,7 @@ Paginator( PlaylistVideo( id: "WPFLAjmWCtk", name: "SIDO - Astronaut (feat. Andreas Bourani) OFFICIAL VIDEO", - length: 268, + duration: 268, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPFLAjmWCtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6n25WXYSKiK6KbfsZk-monR1BQ", @@ -1775,7 +1775,7 @@ Paginator( PlaylistVideo( id: "tC76tIp0kBk", name: "MoTrip - So wie du bist (feat. Lary)", - length: 312, + duration: 312, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tC76tIp0kBk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBCSXdft-cKXNbKDFWX-UBvjgjeOQ", @@ -1806,7 +1806,7 @@ Paginator( PlaylistVideo( id: "kiMG_JV2gbo", name: "Adel Tawil \"Lieder\" (Official Lyrics Video)", - length: 230, + duration: 230, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kiMG_JV2gbo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDuETow7IpKT30ZdSsh-9L6ns1Uww", @@ -1837,7 +1837,7 @@ Paginator( PlaylistVideo( id: "CrYYg_atdtk", name: "Marteria, Yasha, Miss Platnum - Lila Wolken (Official Video)", - length: 231, + duration: 231, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CrYYg_atdtk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_8mGL48FutWtNIFldaMsVmhlhnw", @@ -1868,7 +1868,7 @@ Paginator( PlaylistVideo( id: "XTPGpBBwt1w", name: "K.I.Z. - Hurra die Welt geht unter ft. Henning May (Official Video)", - length: 299, + duration: 299, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XTPGpBBwt1w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcYXhOsrGetd_0wuibgBFV7YBnIg", @@ -1899,7 +1899,7 @@ Paginator( PlaylistVideo( id: "uC08L4xxjNM", name: "Max Giesinger - 80 Millionen (Offizielles Video)", - length: 257, + duration: 257, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uC08L4xxjNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOc-MPZ_rsmax81mL3f8AgLsX90Q", @@ -1930,7 +1930,7 @@ Paginator( PlaylistVideo( id: "5fAoV_AAMf0", name: "Mark Forster - Bauch und Kopf (Videoclip)", - length: 257, + duration: 257, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5fAoV_AAMf0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfOpErDWIsYZ61_NlNduG5z2W5Cg", @@ -1961,7 +1961,7 @@ Paginator( PlaylistVideo( id: "u5Vz7obL460", name: "Tim Bendzko - Keine Maschine (Offizielles Video)", - length: 202, + duration: 202, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/u5Vz7obL460/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBUhjoBjfVBzy7k9bgwicb4in_wQ", @@ -1992,7 +1992,7 @@ Paginator( PlaylistVideo( id: "ZPJlyRv_IGI", name: "Deichkind - Leider Geil (Official Video)", - length: 189, + duration: 189, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZPJlyRv_IGI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-VCnGYvXMSkYOdKLReH9Dlt8G_A", @@ -2023,7 +2023,7 @@ Paginator( PlaylistVideo( id: "s2SLbln-JwE", name: "BIBI & TINA \" Jungs gegen Mädchen - MÄDCHEN GEGEN JUNGS - Das offizielle Video!", - length: 172, + duration: 172, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s2SLbln-JwE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDURk566C-Rh1vwMamXVandCsnDvQ", @@ -2054,7 +2054,7 @@ Paginator( PlaylistVideo( id: "28xHtRw6pG8", name: "AZET - PATTE FLIESST prod. by LUCRY #KMNSTREET VOL. 5", - length: 206, + duration: 206, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/28xHtRw6pG8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZB8XpsXloeCqWZpyZt8YNvV2IxQ", @@ -2085,7 +2085,7 @@ Paginator( PlaylistVideo( id: "joWoKqUTRvc", name: "KC Rebell ► ALLES & NICHTS ◄ [ official Video ]", - length: 204, + duration: 204, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/joWoKqUTRvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwlxydPxzE_jwb1rNbqmjdMEEoQ", @@ -2116,7 +2116,7 @@ Paginator( PlaylistVideo( id: "XNMFTqhcNrE", name: "Mark Forster - Flash mich (Videoclip)", - length: 236, + duration: 236, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XNMFTqhcNrE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTr_B4ekTBT9hupTStE4MOf52PVw", @@ -2147,7 +2147,7 @@ Paginator( PlaylistVideo( id: "v3vPLgJ9FX8", name: "Cheat Codes - Sex (Official Video)", - length: 260, + duration: 260, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/v3vPLgJ9FX8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_hmNsTwTENDy4Bjh6gh__yW3GIQ", @@ -2178,7 +2178,7 @@ Paginator( PlaylistVideo( id: "UFXOd179kOA", name: "GZUZ - EBBE & FLUT (mit Xatar & Hanybal)", - length: 213, + duration: 213, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UFXOd179kOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-tY05WssNwj08bjU_P1qVrXP3Ag", @@ -2209,7 +2209,7 @@ Paginator( PlaylistVideo( id: "4xRsDnKgHZc", name: "ZUNA feat. NIMO - HOL MIR DEIN COUSIN (Official 4K Video)", - length: 206, + duration: 206, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4xRsDnKgHZc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2YQRMQrDjFZXKHm-HPOKNZY-kmw", @@ -2240,7 +2240,7 @@ Paginator( PlaylistVideo( id: "mE3IjoEqMqY", name: "Hanybal - VANILLA SKY mit Nimo (prod. von Lucry) [Official 4K Video]", - length: 211, + duration: 211, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mE3IjoEqMqY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARArW0ieGDVRQ4Qhp8JWepnfeDtg", @@ -2271,7 +2271,7 @@ Paginator( PlaylistVideo( id: "E7e5vxKerqA", name: "DARDAN FT. ENO - WER MACHT PARA? (Official Video)", - length: 195, + duration: 195, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E7e5vxKerqA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYmNJ23r8Y5wE4xpfNz2ms6i3omw", @@ -2302,7 +2302,7 @@ Paginator( PlaylistVideo( id: "axmZ_5Rx4Go", name: "Adel Tawil \"Zuhause\" (Official Music Video)", - length: 210, + duration: 210, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/axmZ_5Rx4Go/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh0E0WIHz_QeECpxh9OcCQgP80Tw", @@ -2333,7 +2333,7 @@ Paginator( PlaylistVideo( id: "44Ig6BsOCYA", name: "Olexesh - PURPLE HAZE (Offizielles Video)", - length: 279, + duration: 279, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/44Ig6BsOCYA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAwH-0B_Aadbi2O9ba4EJUr3kyCA", @@ -2364,7 +2364,7 @@ Paginator( PlaylistVideo( id: "3iLBFEJjdN0", name: "SIDO - Löwenzahn feat. Olexesh (prod. by DJ Desue & x-plosive)", - length: 242, + duration: 242, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3iLBFEJjdN0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pjLj4MppP5puOVVw960xZHlEZQ", @@ -2395,7 +2395,7 @@ Paginator( PlaylistVideo( id: "M-ncq2eHF_k", name: "Philipp Poisel - Ich will nur (Offizielles Video)", - length: 233, + duration: 233, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/M-ncq2eHF_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbtYmxd63hnsRbe3Sgr6IEtxaKXg", @@ -2426,7 +2426,7 @@ Paginator( PlaylistVideo( id: "-AJoJ-ggiKI", name: "LX & Maxwell feat. Gzuz - HaifischNikez (Jambeatz)", - length: 215, + duration: 215, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-AJoJ-ggiKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcSPvvf03RP2Q6cd3h3G2Zz42XMQ", @@ -2457,7 +2457,7 @@ Paginator( PlaylistVideo( id: "cgb-zp9DDHg", name: "Bushido X Shindy - Brot brechen", - length: 191, + duration: 191, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cgb-zp9DDHg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoszXFG4nQrodmF7kDKDCpBahWnQ", @@ -2488,7 +2488,7 @@ Paginator( PlaylistVideo( id: "Q7ZXg3KQLt0", name: "KOLLEGAH - Genozid (prod. von B-Case & Alexis Troy) (Official HD Video)", - length: 407, + duration: 407, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q7ZXg3KQLt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCntzPVc1exjqTv4dMIRNj9l_fPFA", @@ -2519,7 +2519,7 @@ Paginator( PlaylistVideo( id: "ysAEZOwp5rM", name: "KOLLEGAH - John Gotti (prod. von Alexis Troy) (Official HD Video)", - length: 207, + duration: 207, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ysAEZOwp5rM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAq4pm6ReaUxi45Ao_rQqFb-zTDqQ", @@ -2550,7 +2550,7 @@ Paginator( PlaylistVideo( id: "m5vfng33SVE", name: "Philipp Dittberner - Das ist dein Leben (Official Video)", - length: 282, + duration: 282, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/m5vfng33SVE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCy3rZ_vNJbHC6MPjBKfkH9OF4KxQ", @@ -2581,7 +2581,7 @@ Paginator( PlaylistVideo( id: "yMfgjVlGbUE", name: "SpongeBOZZ - SFTB/Apocalyptic Infinity/Payback #forsundiego (Prod. by Digital Drama)", - length: 1622, + duration: 1622, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yMfgjVlGbUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCImbZOtOhsu1n5GRh-mVYWhoCNGA", @@ -2612,7 +2612,7 @@ Paginator( PlaylistVideo( id: "OQIYEPe6DWY", name: "Kraftwerk - Das Model", - length: 262, + duration: 262, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OQIYEPe6DWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcpI8_iSbWLFjaRFSoXae9jGhSkQ", @@ -2643,7 +2643,7 @@ Paginator( PlaylistVideo( id: "5FS8RIH7BpI", name: "GENETIKK - Wünsch dir was (Official HD Video)", - length: 303, + duration: 303, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5FS8RIH7BpI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAuSraLlm5j-ap1h2ePrD79sxdoNQ", @@ -2674,7 +2674,7 @@ Paginator( PlaylistVideo( id: "zSRKgFB9piY", name: "Keine ist wie Du - Joel Brandenstein & Chrisoula Botsika ( Gregor Meyle Acoustic Cover )", - length: 256, + duration: 256, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zSRKgFB9piY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbaAoyp05Ae7eWUZvCAzFdRN6BMQ", @@ -2705,7 +2705,7 @@ Paginator( PlaylistVideo( id: "e4eHhgwHCME", name: "Kollegah & Farid Bang ✖\u{fe0f}STURMMASKE AUF ✖\u{fe0f} [official video]", - length: 275, + duration: 275, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/e4eHhgwHCME/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj3vRRbJlmnPr4rqKRkmZs-JIN7A", @@ -2736,7 +2736,7 @@ Paginator( PlaylistVideo( id: "q3hZvho7jNk", name: "KC Rebell ✖\u{fe0f} PAPER ✖\u{fe0f} [ official Video ] GEE Futuristic, Nikki 3k & Joshimixu", - length: 222, + duration: 222, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/q3hZvho7jNk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLwp5luIJpaNOWk7bSXdYfTn0sBA", @@ -2767,7 +2767,7 @@ Paginator( PlaylistVideo( id: "0nWysyj_Z4Y", name: "Nimo - FLOUZ KOMMT FLOUZ GEHT (prod. von Jimmy Torrio) [Official 4K Video]", - length: 191, + duration: 191, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0nWysyj_Z4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGu4QNzr3EMjQcAiTkPrm3q60nQ", @@ -2798,7 +2798,7 @@ Paginator( PlaylistVideo( id: "aGCcLWU0OVo", name: "SIDO - Gürtel am Arm", - length: 218, + duration: 218, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aGCcLWU0OVo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDArDAbvY0RsPSuJPBh4uyPYSr4Bw", @@ -2829,7 +2829,7 @@ Paginator( PlaylistVideo( id: "OQsXLK4MeEA", name: "JBB 2013 - SpongeBOZZ vs. Gio (Finale HR) prod. by Digital Drama", - length: 400, + duration: 400, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OQsXLK4MeEA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZWiGbF4RrO7JLpICvTuC-eHpfuw", @@ -2860,7 +2860,7 @@ Paginator( PlaylistVideo( id: "xm7dxIqOO2M", name: "KURDO - Halbmond (prod. by Amir & Kostas)", - length: 272, + duration: 272, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xm7dxIqOO2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxxl3-2dozhr306-FrORMGygKXoQ", @@ -2891,7 +2891,7 @@ Paginator( PlaylistVideo( id: "jlaaByab4Zk", name: "Mc Yankoo feat. Milica Todorovic - Ljubi me budalo (official Video)", - length: 224, + duration: 224, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jlaaByab4Zk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBG5CJRj0SjU1Vm1l9EIGnWOG1mUQ", @@ -2922,7 +2922,7 @@ Paginator( PlaylistVideo( id: "KG9-jSqXz4U", name: "Oft Gefragt - AnnenMayKantereit (Official Video)", - length: 205, + duration: 205, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KG9-jSqXz4U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdiXgKroQCc_4uA9cgiCKIDKbUYg", @@ -2953,7 +2953,7 @@ Paginator( PlaylistVideo( id: "7dISZnwsBSA", name: "Prinz Pi - 1,40m (feat. Philipp Dittberner)", - length: 284, + duration: 284, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7dISZnwsBSA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2ZhuSJUc-O8GnUa12UH5Z08qWlA", @@ -2984,7 +2984,7 @@ Paginator( PlaylistVideo( id: "F_PPdS-PB14", name: "Nimo - IDÉAL (prod. von SOTT) [Official 4K Video]", - length: 253, + duration: 253, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F_PPdS-PB14/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcbTSt6Q1Xo8sqLnyEbbXSuLBcg", @@ -3015,7 +3015,7 @@ Paginator( PlaylistVideo( id: "DMg9idvVY8M", name: "Nimo - BITTER (prod. von Jimmy Torrio) [Official 4K Video]", - length: 173, + duration: 173, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DMg9idvVY8M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIg_8ZAGGj-OC9R8sh4txS_8bQHw", @@ -3046,7 +3046,7 @@ Paginator( PlaylistVideo( id: "DGEmoSFI94Y", name: "SDP - Kurz für immer bleiben", - length: 218, + duration: 218, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DGEmoSFI94Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2H8YGPqxgGisgCPfV-svTSrBY3g", @@ -3077,7 +3077,7 @@ Paginator( PlaylistVideo( id: "BtZufymxHvE", name: "LX & Maxwell - Ausser Kontrolle (Jambeatz)", - length: 159, + duration: 159, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BtZufymxHvE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNkUFpFYV3Tnk-NnRMwuHuQlxl-g", diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_live.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_live.snap index 004c6f0..9ac46a7 100644 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_live.snap +++ b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_live.snap @@ -11,7 +11,7 @@ Playlist( VideoItem( id: "G1eQAxaim7I", name: "Bracket Stage Day 6 | MSI 2023", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G1eQAxaim7I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAec-R8N3ePlZu5R4vXvQ-b5rDjlw", @@ -52,7 +52,7 @@ Playlist( VideoItem( id: "e2ikfdaqgQw", name: "(REBROADCAST) Brackets Stage Day 5 | MSI 2023", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/e2ikfdaqgQw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVijuor2a5yElnWqnlONL8bBtadg", @@ -93,7 +93,7 @@ Playlist( VideoItem( id: "eeRJ6gKEdGw", name: "MAD vs. G2 | Bracket Stage Day 5 | MSI 2023", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eeRJ6gKEdGw/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJnEZdD6DPyuxAirKBBVvf8tf1EA", @@ -134,7 +134,7 @@ Playlist( VideoItem( id: "f6_LVfu4TBM", name: "C9 vs. BLG | Brackets Stage Day 3 | MSI 2023", - length: Some(16296), + duration: Some(16296), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/f6_LVfu4TBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3bXUGDK_XN1sd4SpY5uyqKPLcXg", @@ -175,7 +175,7 @@ Playlist( VideoItem( id: "k1T5q5vCseA", name: "MAD vs. T1 | Brackets Stage Day 2 | MSI 2023", - length: Some(14656), + duration: Some(14656), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/k1T5q5vCseA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKwXBozWNoyoPOTLxU-KTEcPdGNg", @@ -216,7 +216,7 @@ Playlist( VideoItem( id: "SfSRvJAepao", name: "GEN vs. G2 | Brackets Stage Day 1 | MSI 2023", - length: Some(17253), + duration: Some(17253), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SfSRvJAepao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHSVlRBTH5fTkJuZZ1TM023aiRJw", @@ -257,7 +257,7 @@ Playlist( VideoItem( id: "iLh5u7b9cBA", name: "Grand Final | 2021 Mid-Season Invitational", - length: Some(22019), + duration: Some(22019), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iLh5u7b9cBA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf-JLHFDDTrEh0PNDOf0YFDC8Gng", @@ -298,7 +298,7 @@ Playlist( VideoItem( id: "H0-Xedaum2M", name: "DK vs. MAD | Semifinals Day 2 | 2021 Mid-Season Invitational | DWG KIA vs. MAD Lions", - length: Some(20799), + duration: Some(20799), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/H0-Xedaum2M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAyxdqkPntzMldI_O4fj7DknKtedg", @@ -339,7 +339,7 @@ Playlist( VideoItem( id: "SfRj_PfmD1o", name: "RNG vs. PSG | Semifinals Day 1 | 2021 Mid-Season Invitational | Royal Never Give Up vs. PSG Talon", - length: Some(17930), + duration: Some(17930), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SfRj_PfmD1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXykcy-nthXWw7ZJBiXh5k2PRidg", @@ -380,7 +380,7 @@ Playlist( VideoItem( id: "Ey7gCktJKxs", name: "Groups Day 6 | 2021 Mid-Season Invitational", - length: Some(26565), + duration: Some(26565), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ey7gCktJKxs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADorMS1EykOI1XejSGx9oZ8fRdsw", @@ -421,7 +421,7 @@ Playlist( VideoItem( id: "A0zFe_YqSmk", name: "(REBROADCAST) LEC/LCS Superstar Showdown | All-Star Event 2020", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/A0zFe_YqSmk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9AouCkLOruMF-a6GpHbusSO51VA", @@ -462,7 +462,7 @@ Playlist( VideoItem( id: "s1bRE7hHEFQ", name: "(REBROADCAST) LCK/LPL Superstar Showdown | All-Star Event 2020", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s1bRE7hHEFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFE2VvCKI9WbFGauIQjOEpXzJkgw", @@ -503,7 +503,7 @@ Playlist( VideoItem( id: "JyrZr3adP9o", name: "(REBROADCAST) LEC/LCS Underdog Uprising | All-Star Event 2020", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JyrZr3adP9o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDSe8Rt1Z2WVvwWSOwCXPvrlIpGg", @@ -544,7 +544,7 @@ Playlist( VideoItem( id: "_HieTC6XHzg", name: "The Americas | Monuments of Power Seasonal Tournament", - length: Some(24819), + duration: Some(24819), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_HieTC6XHzg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXu5atOXzFyrWOHIgEJBIINbNgYw", @@ -585,7 +585,7 @@ Playlist( VideoItem( id: "iDg1__bD4Pg", name: "OG vs. G2 | Playoffs Round 3 | LEC Spring | Origen vs. G2 Esports (2020)", - length: Some(21800), + duration: Some(21800), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iDg1__bD4Pg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ6dTtMZGDgsBGEVIyDASGSEiKiQ", @@ -626,7 +626,7 @@ Playlist( VideoItem( id: "i9lwd0rkKj0", name: "C9 vs. EG | Playoffs Round 2 | LCS Spring Split | Cloud9 vs. Evil Geniuses (2020)", - length: Some(17920), + duration: Some(17920), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/i9lwd0rkKj0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcU2lnI3YdS8-_n_C_JLPwGsuRlg", @@ -667,7 +667,7 @@ Playlist( VideoItem( id: "Id5lJcI0w5w", name: "FNC vs. MAD | Playoffs Round 2 | LEC Spring | Fnatic vs. MAD Lions (2020)", - length: Some(16280), + duration: Some(16280), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Id5lJcI0w5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdTZD3sa5NQWB0TBqLuHn0uPoYHA", @@ -708,7 +708,7 @@ Playlist( VideoItem( id: "6_jP8fxeiM0", name: "FLY vs. GG | Playoffs Round 1 | LCS Spring Split | FlyQuest vs. Golden Guardians (2020)", - length: Some(15646), + duration: Some(15646), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6_jP8fxeiM0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAbZuV71R4bD0Qno7bEtiA-VB2qqg", @@ -749,7 +749,7 @@ Playlist( VideoItem( id: "1QgMXWEDNr8", name: "Week 8 Day 1 | LEC Spring Split (2020)", - length: Some(28130), + duration: Some(28130), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1QgMXWEDNr8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaNPojzZIDSWY0uwV469pql68VmQ", @@ -790,7 +790,7 @@ Playlist( VideoItem( id: "Q0tddAzhBiA", name: "2019 All-Star Event: Day 3", - length: Some(26378), + duration: Some(26378), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q0tddAzhBiA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF0R5UdX_lgiUkM5ebll38HarV_g", @@ -831,7 +831,7 @@ Playlist( VideoItem( id: "xFAUCYK0ltI", name: "2019 All-Star Event: Day 2", - length: Some(28589), + duration: Some(28589), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xFAUCYK0ltI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDm5ZuBI4L0jmMCygrM93wILLj_qQ", @@ -872,7 +872,7 @@ Playlist( VideoItem( id: "u4LNyvbOPMQ", name: "2019 All-Star Event: Day 1", - length: Some(25967), + duration: Some(25967), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/u4LNyvbOPMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6_67njGnGOut8X8MltMAfKicA8A", @@ -913,7 +913,7 @@ Playlist( VideoItem( id: "ojes5ULOqhc", name: "G2 vs. FPX | Finals | 2019 World Championship | G2 Esports vs. FunPlus Phoenix", - length: Some(42901), + duration: Some(42901), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ojes5ULOqhc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAstiHqJRwyKG7CTswwMfVY3H1XhQ", @@ -954,7 +954,7 @@ Playlist( VideoItem( id: "prBto1zrirs", name: "Red Bull Rise of the Elements Invitational (Day 2)", - length: Some(22332), + duration: Some(22332), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/prBto1zrirs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDn7-K82Puf2rNIdrM5_esqEYBb1A", @@ -995,7 +995,7 @@ Playlist( VideoItem( id: "sRBHLewK5-0", name: "Red Bull Rise of the Elements Invitational (Day 1)", - length: Some(35261), + duration: Some(35261), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sRBHLewK5-0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2j62QeYg43w94lEUIh71_suXppQ", @@ -1036,7 +1036,7 @@ Playlist( VideoItem( id: "euppkm2ztdM", name: "Groups Day 8 | 2019 World Championship", - length: Some(27138), + duration: Some(27138), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/euppkm2ztdM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUKthHPGA5IQVK1psj53zHWg_O1g", @@ -1077,7 +1077,7 @@ Playlist( VideoItem( id: "FQ0Tw6EuQRk", name: "Groups Day 7 | 2019 World Championship", - length: Some(27869), + duration: Some(27869), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FQ0Tw6EuQRk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd0UcTflY5R2FMpYH0ndRYIeB-8A", @@ -1118,7 +1118,7 @@ Playlist( VideoItem( id: "KvcqXRNVH9M", name: "Groups Day 6 | 2019 World Championship", - length: Some(29407), + duration: Some(29407), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KvcqXRNVH9M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmqmJPsjuvnBrJaJ79wX4HxnrtRw", @@ -1159,7 +1159,7 @@ Playlist( VideoItem( id: "srFwxG-e5SQ", name: "Groups Day 5 | 2019 World Championship", - length: Some(29310), + duration: Some(29310), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/srFwxG-e5SQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCpamG0koxWwHXEjacOAEKUzRXHOg", @@ -1200,7 +1200,7 @@ Playlist( VideoItem( id: "EN4W4O-leW4", name: "Groups Day 4 | 2019 World Championship", - length: Some(27544), + duration: Some(27544), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EN4W4O-leW4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdEWMFaBol4tK-obwLs7-UrbFxYA", @@ -1241,7 +1241,7 @@ Playlist( VideoItem( id: "16O-OqVSj78", name: "Groups Day 3 | 2019 World Championship", - length: Some(27787), + duration: Some(27787), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/16O-OqVSj78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6fOlnXog4cAvNq9KBSj1ZVhGt-g", @@ -1282,7 +1282,7 @@ Playlist( VideoItem( id: "2Fa_EnY3AyI", name: "IG vs. JDG | Round 1 | LPL Regional Qualifier | Invictus Gaming vs. JD Gaming (2019)", - length: Some(19872), + duration: Some(19872), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2Fa_EnY3AyI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzEvZy2AzjuEwPrc6HEB9bQ_IifQ", @@ -1323,7 +1323,7 @@ Playlist( VideoItem( id: "O4vl13XhEXk", name: "(REBROADCAST) TSM vs. CG | Quarterfinals Day 1 | LCS Summer Split (2019)", - length: Some(13839), + duration: Some(13839), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O4vl13XhEXk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLApiEn5mhalZEe23902mlEsGZe53A", @@ -1364,7 +1364,7 @@ Playlist( VideoItem( id: "qnz4VC7jaQg", name: "Week 5 Day 2 | LCS Summer Split (2019)", - length: Some(27224), + duration: Some(27224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qnz4VC7jaQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkiAk6gorlhecUv_Fdu5CZAUS8cA", @@ -1405,7 +1405,7 @@ Playlist( VideoItem( id: "ZXUTMEOkPd8", name: "Week 4 Day 2 | LCS Summer Split (2019)", - length: Some(28136), + duration: Some(28136), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZXUTMEOkPd8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCl90692Yu6ZCs-EQtjtmNfAqicsw", @@ -1446,7 +1446,7 @@ Playlist( VideoItem( id: "qkurBGLdrYc", name: "Play-In Draw Show | 2019 Mid-Season Invitational", - length: Some(5589), + duration: Some(5589), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qkurBGLdrYc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWDbFYHKPPgZWYnpAH_I8NkTIdSw", @@ -1487,7 +1487,7 @@ Playlist( VideoItem( id: "iaZoFqcQauQ", name: "VSG vs. KT - ESS vs. JAG| Round 1 | LCK Summer Promotion (2019)", - length: Some(19229), + duration: Some(19229), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iaZoFqcQauQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdgsIUjDiII5xmTBXL0yJ5D_ymUg", @@ -1528,7 +1528,7 @@ Playlist( VideoItem( id: "V5uwgkx-dWw", name: "The Dive Live @ STL | Spring Finals (2019)", - length: Some(10905), + duration: Some(10905), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/V5uwgkx-dWw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAPOA_Appn-PUvqvP9YtwyOqYjcw", @@ -1569,7 +1569,7 @@ Playlist( VideoItem( id: "twx9WFSWGuI", name: "HLE vs. KT - KZ vs. GRF | Week 10 Day 2 | LCK Spring Split (2019)", - length: Some(17619), + duration: Some(17619), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/twx9WFSWGuI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2sxbdz5s3atLGJPGFQBcrpFzw7Q", @@ -1610,7 +1610,7 @@ Playlist( VideoItem( id: "PH9u7c_6vkk", name: "(REBROADCAST) 2018 All-Star Event: Day 1", - length: Some(26998), + duration: Some(26998), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PH9u7c_6vkk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAcet50MJc_TuXxoLTUZWtF_klwqg", @@ -1651,7 +1651,7 @@ Playlist( VideoItem( id: "8yt60WWCyro", name: "(REBROADCAST) 2018 All-Star Event: Day 2", - length: Some(22513), + duration: Some(22513), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8yt60WWCyro/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAmLmu3C70JM-8OrfgJvXtdGk_yOA", @@ -1692,7 +1692,7 @@ Playlist( VideoItem( id: "ksaG3KvyRuM", name: "(REBROADCAST) FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)", - length: Some(17792), + duration: Some(17792), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ksaG3KvyRuM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtUULLHFN-bDBtejGRQXeqAXKz3Q", @@ -1733,7 +1733,7 @@ Playlist( VideoItem( id: "kLM4Pah5BOg", name: "FNC vs. IG | Finals | World Championship | Fnatic vs. Invictus Gaming (2018)", - length: Some(16909), + duration: Some(16909), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kLM4Pah5BOg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_HEPvPOoM-H5cn8eKB3hYTI3qhA", @@ -1774,7 +1774,7 @@ Playlist( VideoItem( id: "178rKXU7JLw", name: "(REBROADCAST) FNC vs. C9 | Semifinal | World Championship | Fnatic vs. Cloud9 (2018)", - length: Some(13676), + duration: Some(13676), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/178rKXU7JLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF_nWtAqaiEq5ZhTaQZF7ljzS4Dg", @@ -1815,7 +1815,7 @@ Playlist( VideoItem( id: "K2wc3tvwHPw", name: "(REBROADCAST) G2 vs. IG | Semifinal | World Championship | G2 Esports vs. Invictus Gaming (2018)", - length: Some(12914), + duration: Some(12914), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/K2wc3tvwHPw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS64LheAsybx0esJDA64Ia6GgNw", @@ -1856,7 +1856,7 @@ Playlist( VideoItem( id: "6px5QTgCNhA", name: "(REBROADCAST) C9 vs. AFS - FNC vs. EDG | Quarterfinals Day 2 | 2018 World Championship", - length: Some(27422), + duration: Some(27422), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6px5QTgCNhA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8a4cryD26Zigkjp2glGZMAzltNQ", @@ -1897,7 +1897,7 @@ Playlist( VideoItem( id: "nljxMmzFK4s", name: "(REBROADCAST) KT vs. IG - RNG vs. G2 | Quarterfinals Day 1 | 2018 World Championship", - length: Some(35934), + duration: Some(35934), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nljxMmzFK4s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdOiwwM_S7VRkZyFl_35lQmOZSLQ", @@ -1938,7 +1938,7 @@ Playlist( VideoItem( id: "q0Z2vytKUQ0", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 8", - length: Some(26434), + duration: Some(26434), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/q0Z2vytKUQ0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzY2x0VBqkFJTP7bBZLjQrsELMlQ", @@ -1979,7 +1979,7 @@ Playlist( VideoItem( id: "ILjZQp6UFFs", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 7", - length: Some(22695), + duration: Some(22695), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ILjZQp6UFFs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDswF4og8mMHnElcHXmk4fWX_Odfg", @@ -2020,7 +2020,7 @@ Playlist( VideoItem( id: "n4IIRmF7iXs", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 6", - length: Some(29727), + duration: Some(29727), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/n4IIRmF7iXs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKSijfzAkiRAMND-8pArMptw0R_w", @@ -2061,7 +2061,7 @@ Playlist( VideoItem( id: "sYu_jF6ih3c", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 5", - length: Some(27421), + duration: Some(27421), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sYu_jF6ih3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCf-vBRXhpKHzTUDOwZZW256gSlzg", @@ -2102,7 +2102,7 @@ Playlist( VideoItem( id: "qXG1RCEZoh8", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 4", - length: Some(22957), + duration: Some(22957), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qXG1RCEZoh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCxEK00Of3hYUA79k7fy_BoJKm68w", @@ -2143,7 +2143,7 @@ Playlist( VideoItem( id: "wipHTkJcV2g", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 3", - length: Some(10817), + duration: Some(10817), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wipHTkJcV2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7ENiQeGLBaeEEW5cX_0-QyN6ByA", @@ -2184,7 +2184,7 @@ Playlist( VideoItem( id: "P0EHhWMcEMQ", name: "(REBROADCAST) 2018 World Championship: Group Stage Day 2", - length: Some(26051), + duration: Some(26051), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/P0EHhWMcEMQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClIWW0SHy1cVFIjCdmNhnf5JIjYA", @@ -2225,7 +2225,7 @@ Playlist( VideoItem( id: "w3hbpaD3zsM", name: "(REBROADCAST) G2 vs. INF - GRX vs. SUP | Play-In Knockouts | 2018 World Championship", - length: Some(32025), + duration: Some(32025), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/w3hbpaD3zsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzDVbWhEvklYq6CSTppvlibBqlrw", @@ -2266,7 +2266,7 @@ Playlist( VideoItem( id: "58Lhxzj8DsI", name: "(REBROADCAST) C9 vs. GMB - EDG vs. DFM | Play-In Knockouts | 2018 World Championship", - length: Some(28827), + duration: Some(28827), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/58Lhxzj8DsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjEmr7L55ABPcAdZcRz28uq8Ifw", @@ -2307,7 +2307,7 @@ Playlist( VideoItem( id: "22yDZ5WZpA4", name: "(REBROADCAST) 2018 World Championship: Play-In Day 4", - length: Some(26890), + duration: Some(26890), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/22yDZ5WZpA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdlbKelcczYsmECaSiQ2r1mwk6Dw", @@ -2348,7 +2348,7 @@ Playlist( VideoItem( id: "iC6Fz9uUepk", name: "(REBROADCAST) 2018 World Championship: Play-In Day 3", - length: Some(26780), + duration: Some(26780), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iC6Fz9uUepk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2tpNtmMiLhKohSZBODekwBuNUnQ", @@ -2389,7 +2389,7 @@ Playlist( VideoItem( id: "bNskvqxedow", name: "(REBROADCAST) 2018 World Championship: Play-In Day 2", - length: Some(23337), + duration: Some(23337), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bNskvqxedow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF5uns6inQftxlGdgjyNT7hOnnFw", @@ -2430,7 +2430,7 @@ Playlist( VideoItem( id: "Sm1LmwghwcA", name: "BTC vs. MVP | Day 4 | LCK Spring Promotion | Team Battlecomics vs. MVP (2019)", - length: Some(14759), + duration: Some(14759), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Sm1LmwghwcA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaHny-WRN-mXTvaqxo3OQ-GlOmkA", @@ -2471,7 +2471,7 @@ Playlist( VideoItem( id: "mtqnA3Jh3ig", name: "BTC vs. DWG | Day 2 | LCK Spring Promotion | Team Battlecomics vs. DAMWON Gaming (2019)", - length: Some(16587), + duration: Some(16587), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mtqnA3Jh3ig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAa4WUrB19WsutFfEDsIupCFFVlA", @@ -2512,7 +2512,7 @@ Playlist( VideoItem( id: "uQAiGTmAvFQ", name: "(REBROADCAST) S04 vs. G2 | Final | EU LCS Regional Qualifier (2018)", - length: Some(17359), + duration: Some(17359), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uQAiGTmAvFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWUVb2NPq89SrZS7BppKGi8lMYrA", @@ -2553,7 +2553,7 @@ Playlist( VideoItem( id: "WrlWqcawOnE", name: "G2 vs. SPY | Round 2 | EU LCS Regional Qualifier | G2 Esports vs. Splyce (2018)", - length: Some(24439), + duration: Some(24439), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WrlWqcawOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsCTbEOJrElm7iYgRXVnf4GqDdgg", @@ -2594,7 +2594,7 @@ Playlist( VideoItem( id: "s9lFG8o9a6s", name: "EDG vs. JDG | Round 1 | LPL Regional Qualifier | Edward Gaming vs. JD Gaming (2018)", - length: Some(28081), + duration: Some(28081), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s9lFG8o9a6s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArfENrcbL8BY_f2DyyzbODSOn5FQ", @@ -2635,7 +2635,7 @@ Playlist( VideoItem( id: "Cd5SJe5Pf3M", name: "(REBROADCAST) SPY vs. MSF | Round 1 | EU LCS Regional Qualifier (2018)", - length: Some(20830), + duration: Some(20830), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Cd5SJe5Pf3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXpL1gSmWZ0OBajE7mCsHqLpHqoA", @@ -2676,7 +2676,7 @@ Playlist( VideoItem( id: "_hGU5DNRC0Y", name: "SPY vs. MSF | Round 1 | EU LCS Regional Qualifier | Splyce vs. Misfits Gaming (2018)", - length: Some(24359), + duration: Some(24359), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_hGU5DNRC0Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbFqZhyO-NPJkjPW6TQXgRk8oxCQ", @@ -2717,7 +2717,7 @@ Playlist( VideoItem( id: "fr-yiGaRRao", name: "(REBROADCAST) S04 vs. FNC | Finals | EU LCS Summer (2018)", - length: Some(17878), + duration: Some(17878), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fr-yiGaRRao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCr3rI-JP9Tb-RvdaWdQJLclNqqlg", @@ -2758,7 +2758,7 @@ Playlist( VideoItem( id: "3kQc5eEJ0ds", name: "EDG vs. JDG | Round 2 | LPL Summer Playoffs | Edward Gaming vs. JD Gaming (2018)", - length: Some(15156), + duration: Some(15156), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3kQc5eEJ0ds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAfntTV9t6PHrClBaGgkRT8njyc5g", @@ -2799,7 +2799,7 @@ Playlist( VideoItem( id: "gynnT1i3TsE", name: "RNG vs. TOP | Round 2 | LPL Summer Playoffs | Royal Never Give Up vs. Topsports Gaming (2018)", - length: Some(15850), + duration: Some(15850), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gynnT1i3TsE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB4sbHCjzLbp9g8FMaBXcmS7o4LIQ", @@ -2840,7 +2840,7 @@ Playlist( VideoItem( id: "YM2XgQ7OGKI", name: "The Dive: Live from Oakland", - length: Some(7420), + duration: Some(7420), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YM2XgQ7OGKI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2Je3-9D5WsxKf0xf8RRsv9NkuOw", @@ -2881,7 +2881,7 @@ Playlist( VideoItem( id: "bcJYNWDWCz8", name: "POV Stream | FNC Hylissang | Semifinals | EU LCS Summer Split (2018)", - length: Some(12719), + duration: Some(12719), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bcJYNWDWCz8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3zWItAHRbS2Bv2eBS1Y09NJjTnA", @@ -2922,7 +2922,7 @@ Playlist( VideoItem( id: "6J6oBjmjpvA", name: "FPX vs. EDG - SS vs. WE | Week 11 Day 1 | LPL Summer Split (2018)", - length: Some(22136), + duration: Some(22136), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6J6oBjmjpvA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAvvdBMr-dm-pbsNXulGJCxF04Pbg", @@ -2963,7 +2963,7 @@ Playlist( VideoItem( id: "cgsJ7SsZdxk", name: "(REBROADCAST) G2 vs. MSF | Quarterfinals | EU LCS Summer (2018)", - length: Some(14319), + duration: Some(14319), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cgsJ7SsZdxk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrkh6HD3j7H5vxPunSCcS0WvOTZQ", @@ -3004,7 +3004,7 @@ Playlist( VideoItem( id: "T62zlBmloo8", name: "POV Stream | G2 Perkz | Quarterfinals | EU LCS Summer Split (2018)", - length: Some(10294), + duration: Some(10294), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/T62zlBmloo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDScrnvnLzThZptM9QrTHLBYsq0IQ", @@ -3045,7 +3045,7 @@ Playlist( VideoItem( id: "NOVxAEtu20U", name: "C9A vs. FLYA | Semifinals | NA Academy Summer Split | C9 Academy vs. FLY Academy (2018)", - length: Some(17701), + duration: Some(17701), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NOVxAEtu20U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqHCRMLW7uj1fkMYO9k8-IDWPwIw", @@ -3086,7 +3086,7 @@ Playlist( VideoItem( id: "mKdQQ44oLa0", name: "POV Stream | SPY Odoamne | Quarterfinals | EU LCS Summer Split (2018)", - length: Some(19451), + duration: Some(19451), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mKdQQ44oLa0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6Lnf_nAhaOz9TJj-KxQrraulmaA", @@ -3127,7 +3127,7 @@ Playlist( VideoItem( id: "vHZdBkFRD9Q", name: "SNG vs. VG - JDG vs. IG | Week 10 Day 3| LPL Summer Split (2018)", - length: Some(19755), + duration: Some(19755), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vHZdBkFRD9Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNNAMpIgYAwxP0ys8a5HUtsWePkQ", @@ -3168,7 +3168,7 @@ Playlist( VideoItem( id: "FmaHvMUxWso", name: "GRF vs. AFS | Round 2 | LCK Summer Playoffs | Griffin vs. Afreeca Freecs (2018)", - length: Some(21819), + duration: Some(21819), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FmaHvMUxWso/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB94OCuz0M4oYxwqOcpUE8pMJTccQ", @@ -3209,7 +3209,7 @@ Playlist( VideoItem( id: "2kGzzR_vlNM", name: "FPX vs. SS | Week 9 Day 5 | LPL Summer Split (2018)", - length: Some(11244), + duration: Some(11244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2kGzzR_vlNM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAS0zYTOjxMj4pWyPrB0lRu-WRuQ", @@ -3250,7 +3250,7 @@ Playlist( VideoItem( id: "GBa3IM39Hyo", name: "NA Academy Summer Split (2018) | Week 2 Day 2", - length: Some(20037), + duration: Some(20037), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GBa3IM39Hyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAGkLqe-martteiLTYH57IztUrPEw", @@ -3291,7 +3291,7 @@ Playlist( VideoItem( id: "KwG0hE485_k", name: "POV Stream | S04 Nukeduck | Week 9 | EU LCS Summer Split (2018)", - length: Some(4157), + duration: Some(4157), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KwG0hE485_k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3v3jjPXRiP_LgbL3lvrqe7fbdXg", @@ -3332,7 +3332,7 @@ Playlist( VideoItem( id: "lr31odgHt2c", name: "VG vs. JDG - LGD vs. IG | Week 9 Day 4 | LPL Summer Split (2018)", - length: Some(20601), + duration: Some(20601), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lr31odgHt2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkoncTBbDMzTsKPPI7577pdDnTtQ", @@ -3373,7 +3373,7 @@ Playlist( VideoItem( id: "YAe0kfvsQGk", name: "CGA vs. FLYA | Quarterfinals Day 1 | NA Academy Summer Split (2018)", - length: Some(23680), + duration: Some(23680), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YAe0kfvsQGk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKy96uTs82fVINHZn1V5pzPOTHew", @@ -3414,7 +3414,7 @@ Playlist( VideoItem( id: "Dr9SRrRWPNo", name: "OMG vs. EDG - FPX vs. WE | Week 9 Day 1 | LPL Summer Split (2018)", - length: Some(19018), + duration: Some(19018), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Dr9SRrRWPNo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAaNS5exSDvr234gLv_lEDHP6eRdw", @@ -3455,7 +3455,7 @@ Playlist( VideoItem( id: "Y3pICd8FHFI", name: "POV Stream | G2 Perkz | Week 8 | EU LCS Summer Split (2018)", - length: Some(3184), + duration: Some(3184), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y3pICd8FHFI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXEMAoe4Q7djr2gmrfdyEP8aWhZQ", @@ -3496,7 +3496,7 @@ Playlist( VideoItem( id: "YT1vPiTn1eI", name: "TOP vs. FPX - WE vs. EDG - OMG vs. RW | Week 8 Day 5 | LPL Summer Split (2018)", - length: Some(34489), + duration: Some(34489), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YT1vPiTn1eI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAY9-6hYO652_UWGVrbbvawGa6s9A", @@ -3537,7 +3537,7 @@ Playlist( VideoItem( id: "oGNm5gCCMGY", name: "(REBROADCAST) EU LCS Summer Split (2018) | Week 8 Day 1", - length: Some(24028), + duration: Some(24028), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oGNm5gCCMGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuyX9FnPq3MFfVdcv7njedQiLjlA", @@ -3578,7 +3578,7 @@ Playlist( VideoItem( id: "gbmTaLw-3i0", name: "WE vs. TOP - FPX vs. OMG | Week 8 Day 1 | LPL Summer Split (2018)", - length: Some(19248), + duration: Some(19248), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gbmTaLw-3i0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg51LZ1zbbHd9xLxfuEaIGb4ep4g", @@ -3619,7 +3619,7 @@ Playlist( VideoItem( id: "qq_EhiJoQg4", name: "LGD vs. FPX - BLG vs. WE | Week 7 Day 4 | LPL Summer Split (2018)", - length: Some(21853), + duration: Some(21853), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qq_EhiJoQg4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZ2CsPgM6kx4qMGSIJJtCsWA8k4A", @@ -3660,7 +3660,7 @@ Playlist( VideoItem( id: "CzczOzdUfIM", name: "HLE vs. MVP - JAG vs. KT | Week 7 Day 3 | LCK Summer Split (2018)", - length: Some(24106), + duration: Some(24106), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CzczOzdUfIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMcLRoEZSzjuKR_TMztpslGTmY_g", @@ -3701,7 +3701,7 @@ Playlist( VideoItem( id: "TbKELxKkiTw", name: "RW vs. EDG | Week 7 Day 4 | LPL Summer Split (2018)", - length: Some(10205), + duration: Some(10205), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TbKELxKkiTw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBO0bWOdj-TgOb49fRptDZUAJGCww", @@ -3742,7 +3742,7 @@ Playlist( VideoItem( id: "MeDei67Zr4E", name: "BLG vs. FPX - VG vs. RW | Week 7 Day 1 | LPL Summer Split (2018)", - length: Some(18248), + duration: Some(18248), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MeDei67Zr4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPsnZgv4WAFI_ULwdjXkIgCoskWg", @@ -3783,7 +3783,7 @@ Playlist( VideoItem( id: "sQP1mk4G9mg", name: "NA LCS Summer (2018) | Week 6 Day 2", - length: Some(25630), + duration: Some(25630), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sQP1mk4G9mg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFD_l6CcmfulXBzMtQzuc-ZfrfLA", @@ -3824,7 +3824,7 @@ Playlist( VideoItem( id: "RK4olvfXT5g", name: "POV Stream | S04 Nukeduck | Week 6 | EU LCS Summer Split (2018)", - length: Some(3079), + duration: Some(3079), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RK4olvfXT5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqcBh47BxOEhoECPaePJuIMOLZoQ", @@ -3865,7 +3865,7 @@ Playlist( VideoItem( id: "YexHW88A5Wg", name: "BBQ vs. HLE - JAG vs. SKT | Week 6 Day 4 | LCK Summer Split (2018)", - length: Some(20830), + duration: Some(20830), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YexHW88A5Wg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByMY9DN-kTcbtG9BMF4M2S7dI5uQ", @@ -3906,7 +3906,7 @@ Playlist( VideoItem( id: "UvV0Miw17mU", name: "VG vs. FPX - RNG vs. WE | Week 6 Day 4 | LPL Summer Split (2018)", - length: Some(19509), + duration: Some(19509), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UvV0Miw17mU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzWkKXl3h0P068_xdkJDfQSglSGw", @@ -3947,7 +3947,7 @@ Playlist( VideoItem( id: "nvCq0PidTB0", name: "KZ vs. KT - GEN vs. GRF | Week 6 Day 3 | LCK Summer Split (2018)", - length: Some(23704), + duration: Some(23704), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nvCq0PidTB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQc8yz7HNxKrg6Vv--W_xzwdfOnw", @@ -3988,7 +3988,7 @@ Playlist( VideoItem( id: "79cK5C6nQbg", name: "POV Stream | FNC Hylissang | Week 5 | EU LCS Summer Split (2018)", - length: Some(2878), + duration: Some(2878), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/79cK5C6nQbg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMy7RDVDH6joZbXr0ngfi3Wsr_nQ", @@ -4029,7 +4029,7 @@ Playlist( VideoItem( id: "8DYyu2cW-Ok", name: "GRF vs. KT - SKT vs. HLE | Week 5 Day 5 | LCK Summer Split (2018)", - length: Some(23108), + duration: Some(23108), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8DYyu2cW-Ok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZd_smHTzLcvfVkVXiOsKEIpFPuQ", @@ -4070,7 +4070,7 @@ Playlist( VideoItem( id: "pjJwzd06acg", name: "IG vs. TOP - SNG vs. EDG | Week 5 Day 5 | LPL Summer Split (2018)", - length: Some(19864), + duration: Some(19864), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pjJwzd06acg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlt220pFX6dtn2MdNi_l8-QG5c6Q", diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_long.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_long.snap index 8ae472e..5be597f 100644 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_long.snap +++ b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_long.snap @@ -11,7 +11,7 @@ Playlist( VideoItem( id: "Bkj3IVIO2Os", name: "Stereoact feat. Kerstin Ott - Die Immer Lacht (Official Video HD)", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Bkj3IVIO2Os/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCdvrHLT_gdx5zxxO6SPig0sRLshQ", @@ -52,7 +52,7 @@ Playlist( VideoItem( id: "8rRj5ZXRNko", name: "Uzzah - Faded Love (Official Lyrics Video)", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8rRj5ZXRNko/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGMgYyhjMA8=&rs=AOn4CLBJHMbtsiMa4OaReWs02k9vxDVU5Q", @@ -93,7 +93,7 @@ Playlist( VideoItem( id: "lHZtcC67yrY", name: "Andreas Gabalier - Hulapalu", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lHZtcC67yrY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEYbpOXNx1VkAE7MDYQxK30ySK3Q", @@ -134,7 +134,7 @@ Playlist( VideoItem( id: "TSkVVVBS9k8", name: "BAUSA - Was du Liebe nennst (Official Music Video) [prod. von Bausa, Jugglerz & The Cratez]", - length: Some(237), + duration: Some(237), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TSkVVVBS9k8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHZwNmGrLnYEsd6H7vzVAl0wDccw", @@ -175,7 +175,7 @@ Playlist( VideoItem( id: "lc-cnCRhE7c", name: "Kay One feat. Pietro Lombardi - Señorita (prod. by Stard Ova)", - length: Some(250), + duration: Some(250), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lc-cnCRhE7c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAr2qEMqH5qnJkqLU-CRGFgoDN1DQ", @@ -216,7 +216,7 @@ Playlist( VideoItem( id: "3ryohiCVq3M", name: "Namika - Lieblingsmensch (Official Video)", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3ryohiCVq3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnminoxsvobc_U0CE2lgZm9_0qeQ", @@ -257,7 +257,7 @@ Playlist( VideoItem( id: "BNHamTwxJ6Q", name: "Roland Kaiser, Maite Kelly - Warum hast du nicht nein gesagt (Club Mix / Videoclip)", - length: Some(217), + duration: Some(217), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BNHamTwxJ6Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2EhfLWBk74_06c21rrSdz7tOrGQ", @@ -298,7 +298,7 @@ Playlist( VideoItem( id: "5mqelmYUcI0", name: "Kay One - Louis Louis (prod. by Stard Ova)", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5mqelmYUcI0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwnyUxowXZ244j5y8alOFPC0vX-Q", @@ -339,7 +339,7 @@ Playlist( VideoItem( id: "k9EYjn5f_nE", name: "Andreas Bourani - Auf uns (Official Video)", - length: Some(244), + duration: Some(244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/k9EYjn5f_nE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCyAbU3awWGYzOrjTrmQbVV7ifNXg", @@ -380,7 +380,7 @@ Playlist( VideoItem( id: "fkMg_X9lHMc", name: "Marteria - Kids (2 Finger an den Kopf) [Offizielles Video]", - length: Some(230), + duration: Some(230), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fkMg_X9lHMc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8Ugdq8rK6ypi11IMafwoaTagQ7Q", @@ -421,7 +421,7 @@ Playlist( VideoItem( id: "4wOoLLDXbDY", name: "CRO - Easy (Official Version)", - length: Some(195), + duration: Some(195), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4wOoLLDXbDY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8UXJLvwcuTIhh4Vi5GTeC40Up7w", @@ -462,7 +462,7 @@ Playlist( VideoItem( id: "Z_mf9aCHag8", name: "KC Rebell feat. Moé ► BIST DU REAL ◄ [ official Video 4K ] | Dagi Bee", - length: Some(186), + duration: Some(186), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Z_mf9aCHag8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo2HLlXaCQEKzkHjBVsS0yqDQexQ", @@ -503,7 +503,7 @@ Playlist( VideoItem( id: "cZ58odQo87A", name: "SDP feat. Adel Tawil - Ich will nur dass du weißt", - length: Some(222), + duration: Some(222), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cZ58odQo87A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO8i1BvBLWn_LuKwvOwyZQNWxZgA", @@ -544,7 +544,7 @@ Playlist( VideoItem( id: "1il3RFk5Okw", name: "Mark Forster - Chöre (Willkommen bei den Hartmanns Version)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1il3RFk5Okw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDy8VAlVslYo3IXr7Cier_CGEh3aA", @@ -585,7 +585,7 @@ Playlist( VideoItem( id: "8WQMBv2deYQ", name: "CRO - Traum (Official Version)", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8WQMBv2deYQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCeZJ96xE-bI9aQybOxIbOOZj8W5g", @@ -626,7 +626,7 @@ Playlist( VideoItem( id: "vGrfFzagzHs", name: "CRO - Whatever (Official Version)", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vGrfFzagzHs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5eTJevRx2iLio640dzb5l5ViNNA", @@ -667,7 +667,7 @@ Playlist( VideoItem( id: "1gDbpWC_9pE", name: "Sarah Connor - Wie schön Du bist (Official Video)", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1gDbpWC_9pE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLRfYnE54l7T8UX4HYeIQqpkQJYw", @@ -708,7 +708,7 @@ Playlist( VideoItem( id: "p-AWcCCbBHw", name: "Nimo - HEUTE MIT MIR (prod. von PzY) [Official 4K Video]", - length: Some(256), + duration: Some(256), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/p-AWcCCbBHw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7Mf1odYlMKp9fElxeWX5BZ6I-kQ", @@ -749,7 +749,7 @@ Playlist( VideoItem( id: "RPN88D_HjMU", name: "Xavier Naidoo - Ich kenne nichts (Das so schön ist wie du) [Official Video]", - length: Some(332), + duration: Some(332), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RPN88D_HjMU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNkYiCJsMDWsLD8SoTG7fGjA2h1A", @@ -790,7 +790,7 @@ Playlist( VideoItem( id: "5PST7Ld4wWU", name: "Max Giesinger - Wenn sie tanzt (Offizielles Video)", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5PST7Ld4wWU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBd_J44LO8vi882xka68dBcawvkFw", @@ -831,7 +831,7 @@ Playlist( VideoItem( id: "opoDBF_b-fg", name: "ALLIGATOAH - WILLST DU (OFFICIAL HD VERSION AGGRO.TV)", - length: Some(307), + duration: Some(307), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/opoDBF_b-fg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAymd4m1ekevbFUIs-zGRuhlpfI-g", @@ -872,7 +872,7 @@ Playlist( VideoItem( id: "AMT9IOyXmBM", name: "SIDO feat. Mark Forster - Einer dieser Steine (Official Video)", - length: Some(258), + duration: Some(258), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AMT9IOyXmBM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvYWerCDxj5Xrgz6bz5j0Xr7-YOQ", @@ -913,7 +913,7 @@ Playlist( VideoItem( id: "VP5B1UmgHfc", name: "SDP feat. Sido - Ne Leiche", - length: Some(328), + duration: Some(328), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VP5B1UmgHfc/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gFCgUMA8=&rs=AOn4CLCteTEN-lCVEO4GSydpfXRPqxFPUw", @@ -954,7 +954,7 @@ Playlist( VideoItem( id: "vcuQpbs0yT0", name: "KURDO - YA SALAM (prod. by Kostas Karagiozidis & Dj Tuneruno )", - length: Some(224), + duration: Some(224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vcuQpbs0yT0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCDn8gtSond6Yn5MLlzZDv_IrS-zQ", @@ -995,7 +995,7 @@ Playlist( VideoItem( id: "LeMLVEJLruQ", name: "Gestört aber GeiL feat. Sebastian Hämer - Ich & Du (Official Video HD)", - length: Some(229), + duration: Some(229), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LeMLVEJLruQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDKCM7JzUUlgc-EgWM4lOn3g6qLw", @@ -1036,7 +1036,7 @@ Playlist( VideoItem( id: "MtDPKJSsBgc", name: "Mark Forster - Au Revoir (Videoclip) ft. Sido", - length: Some(227), + duration: Some(227), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MtDPKJSsBgc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFPEql4pa1PPNZMBCe0ZHR7nfh1g", @@ -1077,7 +1077,7 @@ Playlist( VideoItem( id: "4tDpYxNYqPg", name: "Kerstin Ott - Scheissmelodie (Offizielles Musikvideo)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4tDpYxNYqPg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmM1gywMKE8-hbZ42Wdsul8hlleg", @@ -1118,7 +1118,7 @@ Playlist( VideoItem( id: "EkWjaoH7k6w", name: "Adel Tawil - Ist da jemand (Official Video)", - length: Some(251), + duration: Some(251), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EkWjaoH7k6w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4WbamH3V3SpCVPeC4_Rs3v3tF8w", @@ -1159,7 +1159,7 @@ Playlist( VideoItem( id: "tERRFWuYG48", name: "Barfuß Am Klavier - AnnenMayKantereit", - length: Some(202), + duration: Some(202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tERRFWuYG48/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCFhWEwvzfax4dm8E1GnztHWxUYuw", @@ -1200,7 +1200,7 @@ Playlist( VideoItem( id: "wCcJuN47UcY", name: "Revolverheld feat. Marta Jandová - Halt Dich an mir fest (Offizielles Musikvideo)", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wCcJuN47UcY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLA5LeFhIoLs3UAwKeDVnoLtwo8K5w", @@ -1241,7 +1241,7 @@ Playlist( VideoItem( id: "qdtLCfEcPL4", name: "Peter Fox - Alles neu (offizielles Video)", - length: Some(272), + duration: Some(272), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qdtLCfEcPL4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAC0F0ZEumZfz7z85oUCm7c14Ta3A", @@ -1282,7 +1282,7 @@ Playlist( VideoItem( id: "wjXUBG15eZ8", name: "257ers - Holz (Official HD Video)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wjXUBG15eZ8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw3Swj8ibFWFcgpsexNE0N_w_BUQ", @@ -1323,7 +1323,7 @@ Playlist( VideoItem( id: "HBjDZMJUduo", name: "Laserkraft 3D - Nein Mann (official Video)", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HBjDZMJUduo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCOR8giEhNzblFrPfgfUqwQ2UEy7g", @@ -1364,7 +1364,7 @@ Playlist( VideoItem( id: "xkXQQ0IAbk0", name: "MIAMI YACINE - BON VOYAGE prod. by AriBeatz (Official 4K Video)", - length: Some(159), + duration: Some(159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xkXQQ0IAbk0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoi1jtQunAO2qbyn9GXNcSrgSEPg", @@ -1405,7 +1405,7 @@ Playlist( VideoItem( id: "DraA3PUuoQc", name: "Pocahontas - AnnenMayKantereit", - length: Some(192), + duration: Some(192), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DraA3PUuoQc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq-oBTOdVzgce4FdS5tHTBe3eKlA", @@ -1446,7 +1446,7 @@ Playlist( VideoItem( id: "wMIGQp4YhuU", name: "Xavier Naidoo - Alles kann besser werden [Official Video]", - length: Some(269), + duration: Some(269), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wMIGQp4YhuU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXuvRD27RqHtAyFm48dMnsYrUlbg", @@ -1487,7 +1487,7 @@ Playlist( VideoItem( id: "38lrK74voaI", name: "Olexesh - MAGISCH feat. Edin (prod. von PzY) [Official 4K Video]", - length: Some(270), + duration: Some(270), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/38lrK74voaI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVoqbTLnv6uPAj7t0HrAn5GAK_Jg", @@ -1528,7 +1528,7 @@ Playlist( VideoItem( id: "2qW9rOSFF1M", name: "BONEZ MC & RAF CAMORA - AN IHNEN VORBEI", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2qW9rOSFF1M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLHCbKTgchLUipdthOFsHIMos8eA", @@ -1569,7 +1569,7 @@ Playlist( VideoItem( id: "tMILH6UEfPA", name: "Veysel - Kleiner Cabrón (OFFICIAL HD VIDEO) prod. by Macloud", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tMILH6UEfPA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTUsW-P8-fIzLCRb-Xt-2Ky4I58w", @@ -1610,7 +1610,7 @@ Playlist( VideoItem( id: "izHB2EdMngg", name: "Vanessa Mai - Ich sterb für dich (Official Video)", - length: Some(190), + duration: Some(190), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/izHB2EdMngg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC5CFXBJ0W9DQQZ_tiM6gP12e1aug", @@ -1651,7 +1651,7 @@ Playlist( VideoItem( id: "haECT-SerHk", name: "Helene Fischer - Atemlos durch die Nacht", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/haECT-SerHk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB5wAkVuIyWU6lEavR0LDUJ-e9G_w", @@ -1692,7 +1692,7 @@ Playlist( VideoItem( id: "cVikZ8Oe_XA", name: "Falco - Rock Me Amadeus (Official Video)", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cVikZ8Oe_XA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRKYqET6zOciMAnASNDuj_vEWhHA", @@ -1733,7 +1733,7 @@ Playlist( VideoItem( id: "drFsXLChrWc", name: "257ers - Holland (Official HD Video)", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/drFsXLChrWc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHzQXboNJT9agtNoiAYeGBQT7u9Q", @@ -1774,7 +1774,7 @@ Playlist( VideoItem( id: "1EMFt7m_8yE", name: "SDP - Ich muss immer an dich denken", - length: Some(217), + duration: Some(217), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1EMFt7m_8yE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gUygTMA8=&rs=AOn4CLBOV1cHPcLmIF0gKSmu5j1RZ9XTtg", @@ -1815,7 +1815,7 @@ Playlist( VideoItem( id: "_yWU0lFghxU", name: "Seeed - Ding (official Video)", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_yWU0lFghxU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo9Yn5w6pbo5JylVv3XuhFvz_-jw", @@ -1856,7 +1856,7 @@ Playlist( VideoItem( id: "XlD-LO3ogFM", name: "Mark Forster - Wir sind groß (Lyric Video)", - length: Some(204), + duration: Some(204), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XlD-LO3ogFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDtxcZ0KznZi1B8TC_zDO4EAhSi2w", @@ -1897,7 +1897,7 @@ Playlist( VideoItem( id: "nAzjWqNfgvc", name: "Gestört aber GeiL & Koby Funk feat. Wincent Weiss - Unter Meiner Haut (Official Video HD)", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nAzjWqNfgvc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAn2zwZvNQZDxYyEakap6O-qscr_w", @@ -1938,7 +1938,7 @@ Playlist( VideoItem( id: "PySC3RGhZJU", name: "CRO - Bad Chick (Official Version)", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PySC3RGhZJU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNUnL8j0tGJ2fsmqLaE7WMEkYToQ", @@ -1979,7 +1979,7 @@ Playlist( VideoItem( id: "G-iwLoyH6ZE", name: "CAPITAL BRA - NUR NOCH GUCCI (prod. The Cratez x Hoodboyz)", - length: Some(232), + duration: Some(232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G-iwLoyH6ZE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLBIe3Gr5VkhHVW2-vmSh7khbpWVUA", @@ -2020,7 +2020,7 @@ Playlist( VideoItem( id: "fgCOUO-s8nY", name: "Jupiter Jones - Still (Videoclip)", - length: Some(238), + duration: Some(238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fgCOUO-s8nY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0_6dsucrR1b1SFRH3mWIW4aG2MA", @@ -2061,7 +2061,7 @@ Playlist( VideoItem( id: "m-Ik3yy728Y", name: "Andreas Bourani - Auf anderen Wegen (Official Video)", - length: Some(245), + duration: Some(245), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/m-Ik3yy728Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdf4h8llXdfJ-OKgHzWj3IOWlnYQ", @@ -2102,7 +2102,7 @@ Playlist( VideoItem( id: "U0_UYW5Y4cM", name: "Andreas Gabalier - I sing a Liad für Di", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/U0_UYW5Y4cM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBl8yQKNQcbq4noIXXbagrBI2cuzA", @@ -2143,7 +2143,7 @@ Playlist( VideoItem( id: "rsrDYTEicq8", name: "RAF CAMORA - Primo (prod. X-Plosive & RAF Camora)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rsrDYTEicq8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAUWuhlHy43NeJWne-7SoaXRm_ctw", @@ -2184,7 +2184,7 @@ Playlist( VideoItem( id: "2aU4wRgl_0E", name: "Ufo361 - \"Nice Girl 2.0\" (prod. von AT Beatz) [Official HD Video]", - length: Some(169), + duration: Some(169), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2aU4wRgl_0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgYigvMA8=&rs=AOn4CLBj0RHC0Whmrzg2QyLRXziGny_rNg", @@ -2225,7 +2225,7 @@ Playlist( VideoItem( id: "FzcJxJAxFtw", name: "VEYSEL & MOZZIK - TI AMO (OFFICIAL VIDEO)", - length: Some(267), + duration: Some(267), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FzcJxJAxFtw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZChlMA8=&rs=AOn4CLAyzFFm0iraqh04myGY7Iwdjaz1Dg", @@ -2266,7 +2266,7 @@ Playlist( VideoItem( id: "2hyibXdOp5w", name: "XAVAS (Xavier Naidoo & Kool Savas) \"Schau nicht mehr zurück\" (Official HD Video 2012)", - length: Some(234), + duration: Some(234), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2hyibXdOp5w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAd-py6tq-UGFdYc5FqW5ljYJ8HKw", @@ -2307,7 +2307,7 @@ Playlist( VideoItem( id: "YaKG5cUVB30", name: "Ali Bumaye - Sex ohne Grund feat. Shindy", - length: Some(166), + duration: Some(166), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YaKG5cUVB30/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGDYgVih_MA8=&rs=AOn4CLB1So27J3KTakO1MV-OkY7KlGu7oQ", @@ -2348,7 +2348,7 @@ Playlist( VideoItem( id: "Ahwc-ouFeTQ", name: "ALLIGATOAH - Willst Du (OFFICIAL VIDEO) \'Triebwerke\' Album (HITBOX)", - length: Some(224), + duration: Some(224), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ahwc-ouFeTQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO4zch0lItASVd_nSl1E2_GBr1QQ", @@ -2389,7 +2389,7 @@ Playlist( VideoItem( id: "SoImFhORKpg", name: "Bonez MC & RAF Camora feat. Gzuz & Maxwell - Kontrollieren (prod. by Beataura & RAF Camora)", - length: Some(232), + duration: Some(232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SoImFhORKpg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRnP4vZtk2hUwHQ_hDsfN3iDMe9Q", @@ -2430,7 +2430,7 @@ Playlist( VideoItem( id: "jP4-XrbGt3M", name: "Mark Forster - Sowieso (Official Video)", - length: Some(161), + duration: Some(161), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jP4-XrbGt3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzLDUfpE6upRMnrDEqvp2BZrtCkw", @@ -2471,7 +2471,7 @@ Playlist( VideoItem( id: "Yy2RsG4lnm4", name: "Anna-Maria Zimmermann - 1000 Träume weit (Tornero)", - length: Some(254), + duration: Some(254), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Yy2RsG4lnm4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWChSMA8=&rs=AOn4CLCxUywS0PujveirI2Ge3MGi_Omlfw", @@ -2512,7 +2512,7 @@ Playlist( VideoItem( id: "388e_8mu1t4", name: "SDP feat. Sido - Die Nacht von Freitag auf Montag", - length: Some(241), + duration: Some(241), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/388e_8mu1t4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1op5KQFtiQ3GJv_yt8lcCojrRWw", @@ -2553,7 +2553,7 @@ Playlist( VideoItem( id: "dHHtPi-j7dQ", name: "Wolkenfrei - Wolke 7 (Offizielles Video)", - length: Some(239), + duration: Some(239), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dHHtPi-j7dQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZKYNdCzFGKh8z1XPSXT42h8EegQ", @@ -2594,7 +2594,7 @@ Playlist( VideoItem( id: "d8ERTCVXIUE", name: "Ali As feat. Namika – Lass sie tanzen (Square Dance) // prod. ELI", - length: Some(251), + duration: Some(251), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/d8ERTCVXIUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRc1pnQEIAdibeOsDU5HUkjq6tEw", @@ -2635,7 +2635,7 @@ Playlist( VideoItem( id: "vQXn3EzzYY4", name: "Frei.Wild - Weil Du mich nur verarscht hast (2011) [Offizieller Videoclip]", - length: Some(208), + duration: Some(208), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vQXn3EzzYY4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCqfVJX6ABnvqJSkj7Hyw6f4rV2TA", @@ -2676,7 +2676,7 @@ Playlist( VideoItem( id: "zA-BTpC-yvI", name: "AZET feat. RAF CAMORA - QA BONE (Official Audio)", - length: Some(202), + duration: Some(202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zA-BTpC-yvI/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE4gXChlMA8=&rs=AOn4CLBkH-lnzH83AI28xUBWA-ELuE28QQ", @@ -2717,7 +2717,7 @@ Playlist( VideoItem( id: "rnzIN9H_G10", name: "LEA - Leiser (Pseudo Video)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rnzIN9H_G10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2pFb14I8adKkilycBZCpcF0j5xQ", @@ -2758,7 +2758,7 @@ Playlist( VideoItem( id: "fcBbT1GTxqM", name: "Kay One - Ich brech die Herzen", - length: Some(229), + duration: Some(229), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fcBbT1GTxqM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGH8gFSgxMA8=&rs=AOn4CLC0M2hJ0_SW5zjBuLh8h96RKHuBvQ", @@ -2799,7 +2799,7 @@ Playlist( VideoItem( id: "wCDsm_dt1cI", name: "KLUBBB3 - Du schaffst das schon (Offizielles Video)", - length: Some(190), + duration: Some(190), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wCDsm_dt1cI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJisdr1A-P-lXCyrM0RoJRUyPDAQ", @@ -2840,7 +2840,7 @@ Playlist( VideoItem( id: "4j3AOJV1J8I", name: "23 - Bushido & Sido feat. Peter Maffay - Erwachsen sein", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4j3AOJV1J8I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBt7kmNDbeo0vtVApiHs2J5zMaylg", @@ -2881,7 +2881,7 @@ Playlist( VideoItem( id: "RtuW08ZIgvg", name: "Söhne Mannheims - Und wenn ein Lied [Official Video]", - length: Some(249), + duration: Some(249), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RtuW08ZIgvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDM7u-sy9EvIS8VMTjJ9cLcM47zQA", @@ -2922,7 +2922,7 @@ Playlist( VideoItem( id: "cbTXqKBIQ40", name: "Philipp Poisel - Eiserner Steg (Klavier Version) - Offizielles Video", - length: Some(250), + duration: Some(250), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cbTXqKBIQ40/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgXihUMA8=&rs=AOn4CLAF0HVb8hFfclGtL2LXX-kBxl50Nw", @@ -2963,7 +2963,7 @@ Playlist( VideoItem( id: "oSd0Lph4luY", name: "MIKE SINGER - DEJA VU (Offizielles Video)", - length: Some(229), + duration: Some(229), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oSd0Lph4luY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUSdlW64Vrr23hmhIBXoXWA5UuhQ", @@ -3004,7 +3004,7 @@ Playlist( VideoItem( id: "oq0rrYrufYU", name: "JORIS - Herz über Kopf (Official Video)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oq0rrYrufYU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYbbtDe_9DmmmA3qpRrk3NphV69Q", @@ -3045,7 +3045,7 @@ Playlist( VideoItem( id: "0-P_YkS0z8s", name: "KC Rebell feat. Summer Cem ► AUGENBLICK ◄ [ official Video ] 4K", - length: Some(208), + duration: Some(208), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0-P_YkS0z8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBo7ZebER3EyU-cxcGJKMYdTZqVXA", @@ -3086,7 +3086,7 @@ Playlist( VideoItem( id: "4BAKb2p450Q", name: "Tim Bendzko - Nur Noch Kurz Die Welt Retten (Offizielles Video)", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4BAKb2p450Q/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-DoACuAiKAgwIABABGGUgXChJMA8=&rs=AOn4CLBQz7BrG-FtU-G_9vRd8aUdskRrVQ", @@ -3127,7 +3127,7 @@ Playlist( VideoItem( id: "yqObMM_QzVQ", name: "Casper - Im Ascheregen", - length: Some(303), + duration: Some(303), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yqObMM_QzVQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEsgZShZMA8=&rs=AOn4CLBoJTeRO6ARhLifQ_JSzkMpJsbfXA", @@ -3168,7 +3168,7 @@ Playlist( VideoItem( id: "dlvStoOyEzE", name: "Alligatoah - Du bist schön (Official Video)", - length: Some(246), + duration: Some(246), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dlvStoOyEzE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfTATo6sXEoKHxikJD9t9Hg3E01g", @@ -3209,7 +3209,7 @@ Playlist( VideoItem( id: "VNttGAaek2U", name: "Revolverheld - Lass Uns Gehen (Offizielles Musikvideo)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VNttGAaek2U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwcuHMTixpi0vJg-4G20w5fbqI4w", @@ -3250,7 +3250,7 @@ Playlist( VideoItem( id: "TxZMfufRJfo", name: "Oft Gefragt - AnnenMayKantereit (Official Video)", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TxZMfufRJfo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhWEPjvLiv1Khiuod09arTjc8g7A", @@ -3291,7 +3291,7 @@ Playlist( VideoItem( id: "6agT2asF4as", name: "CAPO - MON CHÉRI ft. NIMO (prod. von Zeeko & Veteran) [Official Audio]", - length: Some(230), + duration: Some(230), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6agT2asF4as/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gGyhXMA8=&rs=AOn4CLBJHfWuSafCA1Ps5tkucBNXDZ47SQ", @@ -3332,7 +3332,7 @@ Playlist( VideoItem( id: "EcW0n83La5A", name: "DIE LOCHIS - LIEBLINGSLIED (Offizielles Video) | BEREIT FÜR @YouAreHero ?", - length: Some(212), + duration: Some(212), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EcW0n83La5A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfc1-Y5K_6Jjjs4e7wJRasjkAvqg", @@ -3373,7 +3373,7 @@ Playlist( VideoItem( id: "_b61hg8UlZM", name: "CAPO – Lambo Diablo GT feat. Nimo (prod. Von SOTT & Veteran & Zeeko) [Official Audio]", - length: Some(285), + duration: Some(285), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_b61hg8UlZM/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gEygWMA8=&rs=AOn4CLDKZqTZ1RolhUZ6N1TBH_xHISnWGg", @@ -3414,7 +3414,7 @@ Playlist( VideoItem( id: "kDMFranvFuQ", name: "Joel Brandenstein - Diese Liebe (Offizielles Musikvideo)", - length: Some(359), + duration: Some(359), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kDMFranvFuQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVFYsYNdvEy9fuONolAtBkZRvc9A", @@ -3455,7 +3455,7 @@ Playlist( VideoItem( id: "1apku0pVDeE", name: "Wincent Weiss - Feuerwerk (Official Video)", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1apku0pVDeE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgkN2roTs3SdVc46CRRd4BIi4k7Q", @@ -3496,7 +3496,7 @@ Playlist( VideoItem( id: "g6JYzOjglBs", name: "Seeed - Aufstehn (official Video)", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g6JYzOjglBs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkmBTXk2YaRyjaTgjq4bwcpzWWGA", @@ -3537,7 +3537,7 @@ Playlist( VideoItem( id: "GYK-NfOo7b4", name: "Seeed - Dickes B (official Video)", - length: Some(240), + duration: Some(240), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GYK-NfOo7b4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAavUCF3vlRnCAL2QsfDgMOh5aHaQ", @@ -3578,7 +3578,7 @@ Playlist( VideoItem( id: "omUuR45iU0g", name: "KC Rebell feat. Summer Cem: \"HAYVAN\" [official Video]", - length: Some(291), + duration: Some(291), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/omUuR45iU0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNyuNT14kxJH-TQe-PUes0vkP2bw", @@ -3619,7 +3619,7 @@ Playlist( VideoItem( id: "w7BE3inS-NM", name: "Adel Tawil - Bis hier und noch weiter (Official Video) ft. KC Rebell, Summer Cem", - length: Some(228), + duration: Some(228), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/w7BE3inS-NM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe887jFMndrO7vV9mifoa6a1Ectg", @@ -3660,7 +3660,7 @@ Playlist( VideoItem( id: "FM-5BPMnhm0", name: "SDP feat. Weekend - Tanz aus der Reihe!", - length: Some(234), + duration: Some(234), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FM-5BPMnhm0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUFO3IacA956tmnSO4Tkq_5bJJDg", @@ -3701,7 +3701,7 @@ Playlist( VideoItem( id: "MnNZNfixTOw", name: "Philipp Poisel - Wie soll ein Mensch das ertragen", - length: Some(278), + duration: Some(278), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MnNZNfixTOw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AHUBoAC4AOKAgwIABABGGUgWShHMA8=&rs=AOn4CLCuEjvonMHcDqcShO6UJbDrzshyDg", @@ -3742,7 +3742,7 @@ Playlist( VideoItem( id: "qe80EeU8cT8", name: "Xavier Naidoo - Wann (feat. Cassandra Steen) [Official Video]", - length: Some(327), + duration: Some(327), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qe80EeU8cT8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATTKLPexjqGruzgsU7M3Kldk0J2w", @@ -3783,7 +3783,7 @@ Playlist( VideoItem( id: "-s2-6KYgqpQ", name: "Alligatoah - Narben (Official Video)", - length: Some(264), + duration: Some(264), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-s2-6KYgqpQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWniVg-b300HVTRYrQGrrSK1G8uw", @@ -3824,7 +3824,7 @@ Playlist( VideoItem( id: "RSlp874hESE", name: "Kollegah & Farid Bang - \"ZIEH DEN RUCKSACK AUS\" [ official Video ]", - length: Some(162), + duration: Some(162), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RSlp874hESE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU7YZ5dh9VaC9R5wfTKYMChxTplQ", @@ -3865,7 +3865,7 @@ Playlist( VideoItem( id: "oTI3tRQ_-3k", name: "SDP - Wenn ich groß bin", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oTI3tRQ_-3k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkk0a9nwy9qYSc-V0ZRSIGS_Wttg", @@ -3906,7 +3906,7 @@ Playlist( VideoItem( id: "_okA84gaEJw", name: "SXTN - Von Party zu Party (Official Video)", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_okA84gaEJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDA6bykIGVF3WqUx3emOpgnuapb0w", @@ -3947,7 +3947,7 @@ Playlist( VideoItem( id: "pLHnnJRaP7Q", name: "House Rockerz - HerzRasen (Official Video HD)", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pLHnnJRaP7Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDFElTxgC4PWAel2yN43ku_gWpLtw", @@ -3988,7 +3988,7 @@ Playlist( VideoItem( id: "H2hGrsExuyc", name: "GZUZ \"Was Hast Du Gedacht\" (WSHH Exclusive - Official Music Video)", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/H2hGrsExuyc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_OAq5Mb2xjIZW5dNyKZRWJ7PLsA", @@ -4029,7 +4029,7 @@ Playlist( VideoItem( id: "RsZvjqG2lec", name: "Tim Bendzko - Wenn Worte meine Sprache wären (Offizielles Video)", - length: Some(196), + duration: Some(196), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RsZvjqG2lec/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBh5wlp7smaJJU4TQy1iKD1U2sqQQ", @@ -4070,7 +4070,7 @@ Playlist( VideoItem( id: "qYRCiQ6d35w", name: "BONEZ MC & RAF CAMORA feat GZUZ - MÖRDER", - length: Some(240), + duration: Some(240), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qYRCiQ6d35w/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgWShVMA8=&rs=AOn4CLC2U3dzqvzsZhxZKif1rwtE6vQ8Vg", diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_nomusic.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_nomusic.snap index a2587f1..310c3cd 100644 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_nomusic.snap +++ b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_nomusic.snap @@ -11,7 +11,7 @@ Playlist( VideoItem( id: "X82TrticM4A", name: "Minecraft SHINE (Trailer)", - length: Some(80), + duration: Some(80), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/X82TrticM4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaqqikBYqqsuVR1SPVW1HPS7a0sA", @@ -52,7 +52,7 @@ Playlist( VideoItem( id: "RPGLMuxkLCs", name: "DAS LAGERFEUERLIED - Minecraft SHINE #001 [Deutsch/HD]", - length: Some(1356), + duration: Some(1356), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RPGLMuxkLCs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLYpK285ZyD2y-ipNU2fC_HzhiRg", @@ -93,7 +93,7 @@ Playlist( VideoItem( id: "z-ALpnnQLrk", name: "MAGISCHES FURZMONSTER - Minecraft SHINE #002 [Deutsch/HD]", - length: Some(1039), + duration: Some(1039), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/z-ALpnnQLrk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLDDABxzfLeE-dQaBBNKG0CJdOWw", @@ -134,7 +134,7 @@ Playlist( VideoItem( id: "_rrbTTv8zcQ", name: "UNTERIRDISCHE RIESENPILZHÖHLEN - Minecraft SHINE #003 [Deutsch/HD]", - length: Some(1447), + duration: Some(1447), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_rrbTTv8zcQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0Br8sAmhv9UlFtwHaK6y3PlxIpQ", @@ -175,7 +175,7 @@ Playlist( VideoItem( id: "JE16OKTawLw", name: "BESTE AXT IM SPIEL GEFUNDEN?! - Minecraft SHINE #004 [Deutsch/HD]", - length: Some(1238), + duration: Some(1238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JE16OKTawLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRk4X8dtihNq68ay7rpARzN9peiQ", @@ -216,7 +216,7 @@ Playlist( VideoItem( id: "RQNY0Wzm7DQ", name: "ERZERAUSCH IM MINENSCHACHT - Minecraft SHINE #005 [Deutsch/HD]", - length: Some(1405), + duration: Some(1405), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RQNY0Wzm7DQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMKr2vJvhKw6bxFVsgfR9p5kRuCQ", @@ -257,7 +257,7 @@ Playlist( VideoItem( id: "uhy24PKBkd0", name: "FUSIONSOFEN & ERSTER IM NETHER?! - Minecraft SHINE #006 [Deutsch/HD]", - length: Some(1569), + duration: Some(1569), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uhy24PKBkd0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-pynU_AAsgCDh38L8QmHXXryZfg", @@ -298,7 +298,7 @@ Playlist( VideoItem( id: "OL1hQadBHfs", name: "EPISCHER ROGUEDUNGEON - Minecraft SHINE #007 [Deutsch/HD]", - length: Some(1534), + duration: Some(1534), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OL1hQadBHfs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeyicluHNPCNdAKEUTLrHE9Rfmtg", @@ -339,7 +339,7 @@ Playlist( VideoItem( id: "Zge_SUfk0r8", name: "DIAMANTZOMBIES auf NETHEREBENE - Minecraft SHINE #008 [Deutsch/HD]", - length: Some(1726), + duration: Some(1726), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Zge_SUfk0r8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9jHtok-baqRLQPZowWsXeVQBA6Q", @@ -380,7 +380,7 @@ Playlist( VideoItem( id: "yFGIeU_IDE4", name: "HÖLLISCHE SCHLACHT um 2 DIAMANTBLÖCKE - Minecraft SHINE #009 [Deutsch/HD]", - length: Some(1669), + duration: Some(1669), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yFGIeU_IDE4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCx02JGJneEQtn_YD7K8KOt3vC26w", @@ -421,7 +421,7 @@ Playlist( VideoItem( id: "P6MVqfQzPIg", name: "MAGISCHER OBSIDIANTOTEM?! - Minecraft SHINE #010 [Deutsch/HD]", - length: Some(1526), + duration: Some(1526), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/P6MVqfQzPIg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLRzxVNwZaMeOU1ls17wlYDsnvZA", @@ -462,7 +462,7 @@ Playlist( VideoItem( id: "9n0pLDn8Z_I", name: "GRÜNER FEUEROGER & WITHERWARZEN - Minecraft SHINE #011 [Deutsch/HD]", - length: Some(1482), + duration: Some(1482), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9n0pLDn8Z_I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq9_4Ov8kvuTP3uuI7ie8kSCySyw", @@ -503,7 +503,7 @@ Playlist( VideoItem( id: "oXbx2YtIkeQ", name: "MYSTERIÖSES Grab & ONYX ohne ENDE!! - Minecraft SHINE #012 [Deutsch/HD]", - length: Some(1518), + duration: Some(1518), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oXbx2YtIkeQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBaTkueS0xkMnM6mdCK7vVmH0C-XQ", @@ -544,7 +544,7 @@ Playlist( VideoItem( id: "pfBBTTwxo8Q", name: "ATLANTIS ENTDECKT!! - Minecraft SHINE #013 [Deutsch/HD]", - length: Some(1479), + duration: Some(1479), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pfBBTTwxo8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAyzmwdAwcL_ryhGWUi1AB59h8lA", @@ -585,7 +585,7 @@ Playlist( VideoItem( id: "WxtRqzxSAh0", name: "ZUSAMMENFASSUNG & Nodop\'s ANGRIFF - Minecraft SHINE #014 [Deutsch/HD]", - length: Some(1902), + duration: Some(1902), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WxtRqzxSAh0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqT5FSFwps0oUUjwVYqrDMYhC5Nw", @@ -626,7 +626,7 @@ Playlist( VideoItem( id: "ianUckvxtLw", name: "FRIEDHOFDUNGEON mit NODÖPCHEN - Minecraft SHINE #016 [Deutsch/HD]", - length: Some(1766), + duration: Some(1766), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ianUckvxtLw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIR3LJOBV1CWi3qKugn4d_x8lAEg", @@ -667,7 +667,7 @@ Playlist( VideoItem( id: "eb2Ghj1g1ic", name: "Die BESTE FALLE aller ZEITEN!! - Minecraft SHINE #015 [Deutsch/HD]", - length: Some(1324), + duration: Some(1324), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eb2Ghj1g1ic/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDiXr6emf5xDnVWPBJvi3lVWa_Khg", @@ -708,7 +708,7 @@ Playlist( VideoItem( id: "8TpEsyVtCog", name: "MEGAGEMETZEL zu FÜNFT - Minecraft SHINE #017 [Deutsch/HD]", - length: Some(1629), + duration: Some(1629), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8TpEsyVtCog/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAclomWqvh1OIkMf0TxPEhjNVrSNQ", @@ -749,7 +749,7 @@ Playlist( VideoItem( id: "KD_WAei4LMg", name: "WITHER BOSSFIGHT - Minecraft SHINE #018 [Deutsch/HD]", - length: Some(1645), + duration: Some(1645), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KD_WAei4LMg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEQDBO22V46yEk4yBwkE0IuVjEVA", @@ -790,7 +790,7 @@ Playlist( VideoItem( id: "qfpOCrtweKk", name: "LABERSTUNDE mit ArazhulHD - Minecraft SHINE #019 [Deutsch/HD]", - length: Some(1052), + duration: Some(1052), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qfpOCrtweKk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC9xRR01wPaSTq0vL4_L6G-CS5KVw", @@ -831,7 +831,7 @@ Playlist( VideoItem( id: "6gv3nrOA_bQ", name: "BUSRITUALE & Seltsame LEHRER - Minecraft SHINE #021 [Deutsch/HD]", - length: Some(1769), + duration: Some(1769), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6gv3nrOA_bQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB43mXOVwQ4mRzqakDHn0kHKoY0qA", @@ -872,7 +872,7 @@ Playlist( VideoItem( id: "waaic6UnkU8", name: "LEHM, LEHM und mehr LEEEHM!! - Minecraft SHINE #022 [Deutsch/HD]", - length: Some(1081), + duration: Some(1081), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/waaic6UnkU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1k7ynTJNnCRrfImHqEBaTTi85Kw", @@ -913,7 +913,7 @@ Playlist( VideoItem( id: "lSy4MLC_uV4", name: "Neue DIMENSIONEN?? - Minecraft SHINE #023 [Deutsch/HD]", - length: Some(1682), + duration: Some(1682), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lSy4MLC_uV4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2wug5u6lgdChlnqxRHcqFN7l0LA", @@ -954,7 +954,7 @@ Playlist( VideoItem( id: "BuN8-U_quok", name: "DUNGEONSTATUEN - Minecraft SHINE #024 [Deutsch/HD]", - length: Some(1597), + duration: Some(1597), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BuN8-U_quok/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJe8jzy_ccxC-Z-k4-rVVTLT4HOw", @@ -995,7 +995,7 @@ Playlist( VideoItem( id: "g_UTG10nzaQ", name: "THYRIUMBOGEN & Dimensional DOORS - Minecraft SHINE #025 [Deutsch/HD]", - length: Some(1852), + duration: Some(1852), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/g_UTG10nzaQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB90DMVKNRWSPO51zupoYxPoFmI8Q", @@ -1036,7 +1036,7 @@ Playlist( VideoItem( id: "kNykFWaDbGw", name: "MEIN ERSTER PVP KILL?! - Minecraft SHINE #026 [Deutsch/HD]", - length: Some(1869), + duration: Some(1869), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/kNykFWaDbGw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9gJtMx-vjG3LDYC6Mog9JJ62EYw", @@ -1077,7 +1077,7 @@ Playlist( VideoItem( id: "gJF7vxCYTgY", name: "SPELLBOUND FARM - Minecraft SHINE #027 [Deutsch/HD]", - length: Some(2161), + duration: Some(2161), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gJF7vxCYTgY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKzKHEYjsk4GnAxw1jhzHI_opNEQ", @@ -1118,7 +1118,7 @@ Playlist( VideoItem( id: "CodZMQ_Anc0", name: "VIEEELE bunte ZAUBERPILZE - Minecraft SHINE #028 [Deutsch/HD]", - length: Some(1768), + duration: Some(1768), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CodZMQ_Anc0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDNdgtoMcy-lYPmsnYVOcxJnCck8g", @@ -1159,7 +1159,7 @@ Playlist( VideoItem( id: "oKHMTKJdZ_M", name: "STREAMUPDATE & BIOMREISE - Minecraft SHINE #029 [Deutsch/HD]", - length: Some(1771), + duration: Some(1771), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oKHMTKJdZ_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlNghAFoCRrLzfippQtyfBiDtG-A", @@ -1200,7 +1200,7 @@ Playlist( VideoItem( id: "--O_Eyok_eE", name: "AUF NACH TROPICRAFT - Minecraft SHINE #030 [Deutsch/HD]", - length: Some(1661), + duration: Some(1661), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/--O_Eyok_eE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjgm528b0H8-NGsHGFQSh0AA4GVw", @@ -1241,7 +1241,7 @@ Playlist( VideoItem( id: "2bT3ljKMSo8", name: "SCHATZTRUHE GEFUNDEN!! - Minecraft SHINE #031 [Deutsch/HD]", - length: Some(1429), + duration: Some(1429), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2bT3ljKMSo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_TanSk3-kj26i-m-433iBP893TA", @@ -1282,7 +1282,7 @@ Playlist( VideoItem( id: "YRAX_slrbsI", name: "ZAUBERWALD und TROPISCHER DSCHUNGEL - Minecraft SHINE #032 [Deutsch/HD]", - length: Some(1257), + duration: Some(1257), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YRAX_slrbsI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQenXFcDnthdi95vSgMUNontlYhA", @@ -1323,7 +1323,7 @@ Playlist( VideoItem( id: "aRRbCEwUSuw", name: "MESABIOM & JOUSTS - Minecraft SHINE #033 [Deutsch/HD]", - length: Some(1131), + duration: Some(1131), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aRRbCEwUSuw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxqJBg6ejA-m-emBnzhKuSw7PH0w", @@ -1364,7 +1364,7 @@ Playlist( VideoItem( id: "5sV8SzTbJS8", name: "Komplette SMELTERY GEFUNDEN!! - Minecraft SHINE #034 [Deutsch/HD]", - length: Some(1405), + duration: Some(1405), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5sV8SzTbJS8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvHJJ0CEAzp9ZOT2Wt84vEFNg8A", @@ -1405,7 +1405,7 @@ Playlist( VideoItem( id: "ZxxZlU2o1TE", name: "ROGUEDUNGEON EXTREME - Minecraft SHINE #035 [Deutsch/HD]", - length: Some(1555), + duration: Some(1555), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZxxZlU2o1TE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5Ol6GW-ybn_4pkMWAKhy0ALAMXA", @@ -1446,7 +1446,7 @@ Playlist( VideoItem( id: "gIjo5at4AxE", name: "LEGENDÄRER LOOT - Minecraft SHINE #036 [Deutsch/HD]", - length: Some(1405), + duration: Some(1405), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gIjo5at4AxE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBinkghbbcWN5isNzwxekTYfpABQ", @@ -1487,7 +1487,7 @@ Playlist( VideoItem( id: "NSGk7-kyeEU", name: "I BELIEVE I CAN FLY - Minecraft SHINE #037 [Deutsch/HD]", - length: Some(829), + duration: Some(829), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NSGk7-kyeEU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzQVO8fGvLFYxX31s1x14XsR2YAw", @@ -1528,7 +1528,7 @@ Playlist( VideoItem( id: "cgJtZ7Otc4Y", name: "ROGUEFRIEDHOF mit WITHERBOSS - Minecraft SHINE #038 [Deutsch/HD]", - length: Some(1392), + duration: Some(1392), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cgJtZ7Otc4Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK12gzYlhFnRvOaKPfBwCe3ShVCA", @@ -1569,7 +1569,7 @@ Playlist( VideoItem( id: "l5LQu3Q0nWY", name: "MONSTERCALYPSE & RETTUNGSAKTION - Minecraft SHINE #039 [Deutsch/HD]", - length: Some(1580), + duration: Some(1580), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/l5LQu3Q0nWY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAp9sggZ7r8Drcdso3H8mja_pPjOg", @@ -1610,7 +1610,7 @@ Playlist( VideoItem( id: "YX4Z3ZlWUFc", name: "HINTERHALT von GEGNERN!! - Minecraft SHINE #040 [Deutsch/HD]", - length: Some(1847), + duration: Some(1847), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YX4Z3ZlWUFc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCiPRQyCDwv4Hg1TOyAx_JQbhgYZA", @@ -1651,7 +1651,7 @@ Playlist( VideoItem( id: "LoyvqR41lKw", name: "CARPENTER\'s BLOCKS - Minecraft SHINE #041 [Deutsch/HD]", - length: Some(1524), + duration: Some(1524), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LoyvqR41lKw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwYtpWH35Zh5fLrJeDYW0A1GlJUg", @@ -1692,7 +1692,7 @@ Playlist( VideoItem( id: "HbQtMZbtx_Q", name: "DER ETERNAL FROST!! - Minecraft SHINE #043 [Deutsch/HD]", - length: Some(1514), + duration: Some(1514), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HbQtMZbtx_Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByqCDZ6hojgwcvO8ykf1EKOCAyMw", @@ -1733,7 +1733,7 @@ Playlist( VideoItem( id: "0DHRbP9ecgw", name: "FROSTDUNGEONS in der OVERWORLD!! - Minecraft SHINE #044 [Deutsch/HD]", - length: Some(1567), + duration: Some(1567), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0DHRbP9ecgw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9v_vTHy1VOEM3VGQ30lhEJLfmvw", @@ -1774,7 +1774,7 @@ Playlist( VideoItem( id: "rFOFkvk-xus", name: "BOSSRÜSTUNG XXL - Minecraft SHINE #045 [Deutsch/HD]", - length: Some(2050), + duration: Some(2050), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rFOFkvk-xus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOHW34k4C5B4IDkKsphKd7RpKJEw", @@ -1815,7 +1815,7 @@ Playlist( VideoItem( id: "P8zxnSihJ_8", name: "ZAUBERN & TROLLEN mit Nodop - Minecraft SHINE #046 [Deutsch/HD]", - length: Some(1828), + duration: Some(1828), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/P8zxnSihJ_8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKgLUdVybxHwVoOxNFvVBz2QI0aQ", @@ -1856,7 +1856,7 @@ Playlist( VideoItem( id: "RWgeHl9XkCY", name: "NACHHILFE für BALUI - Minecraft SHINE #047 [Deutsch/HD]", - length: Some(1926), + duration: Some(1926), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RWgeHl9XkCY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBktMkUzztN_VwIMmZ-icbRUrED3w", @@ -1897,7 +1897,7 @@ Playlist( VideoItem( id: "I1n539enNNY", name: "SPIELER GETÖTET!! - Minecraft SHINE #048 [Deutsch/HD]", - length: Some(1836), + duration: Some(1836), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/I1n539enNNY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6GMQFFds97Lr4obHmFRuKi5pscQ", @@ -1938,7 +1938,7 @@ Playlist( VideoItem( id: "70VKekyZz5g", name: "VORBEREITUNG auf den DRACHEN - Minecraft SHINE #049 [Deutsch/HD]", - length: Some(1916), + duration: Some(1916), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/70VKekyZz5g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7nTUSM_8kz82LsnWCRNjPRv3fvA", @@ -1979,7 +1979,7 @@ Playlist( VideoItem( id: "2OWJ1bwFu6Y", name: "Donnernder ENDERDRACHENKAMPF - Minecraft SHINE #050 [Deutsch/HD]", - length: Some(1718), + duration: Some(1718), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2OWJ1bwFu6Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDj9YAqHRFD2Zwi9Kvr69EjDnVEBw", @@ -2020,7 +2020,7 @@ Playlist( VideoItem( id: "zLiSA2i-niw", name: "Superspitzhacke & Necrotic Bones - Minecraft SHINE #051 [Deutsch/HD]", - length: Some(1253), + duration: Some(1253), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zLiSA2i-niw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1WmiMQp3vCS3mPRS5LfmHhDlPpw", @@ -2061,7 +2061,7 @@ Playlist( VideoItem( id: "wyXlw7nMpko", name: "TREMEP, das ENDERAUGE!! - Minecraft SHINE #052 [Deutsch/HD]", - length: Some(1924), + duration: Some(1924), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wyXlw7nMpko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCplxVSv6_-SIcPEPqgudEk5q30A", @@ -2102,7 +2102,7 @@ Playlist( VideoItem( id: "NrU4fhzvFpA", name: "TORNADO & ENDERPOKALYPSE!! - Minecraft SHINE #053 [Deutsch/HD]", - length: Some(1654), + duration: Some(1654), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NrU4fhzvFpA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDur1k61uW8f9d8UOA6yqSdCNWvfg", @@ -2143,7 +2143,7 @@ Playlist( VideoItem( id: "1xhKegaA1hQ", name: "RIESIGE SMELTERY - Minecraft SHINE #054 [Deutsch/HD]", - length: Some(1796), + duration: Some(1796), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1xhKegaA1hQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCM_UOeSqAu0ykS6gTds3NJ901u8Q", @@ -2184,7 +2184,7 @@ Playlist( VideoItem( id: "9F4lZ8psBtg", name: "TINKER\'s CONSTRUCT - Minecraft SHINE #055 [Deutsch/HD]", - length: Some(1514), + duration: Some(1514), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9F4lZ8psBtg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGmpBmXNSZP0X0rQSKWFzlM7DGMw", @@ -2225,7 +2225,7 @@ Playlist( VideoItem( id: "G3uUtejX9to", name: "CUTLASS und HAMMERACTION - Minecraft SHINE #056 [Deutsch/HD]", - length: Some(1615), + duration: Some(1615), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G3uUtejX9to/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrz9L2HWwY3_6J01GwQWs-sivnNw", @@ -2266,7 +2266,7 @@ Playlist( VideoItem( id: "-0Xn5pViCss", name: "QUARZFESTIVAL - Minecraft SHINE #057 [Deutsch/HD]", - length: Some(1353), + duration: Some(1353), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-0Xn5pViCss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC-QHkwmzqNW4mhuE7oJslYUtReRQ", @@ -2307,7 +2307,7 @@ Playlist( VideoItem( id: "a7u71Fco99I", name: "DUALWITHERKAMPF & EXOSUIT - Minecraft SHINE #058 [Deutsch/HD]", - length: Some(1377), + duration: Some(1377), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/a7u71Fco99I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC1iNJdmqZHK-ZHSre6MiBKzuPMMw", @@ -2348,7 +2348,7 @@ Playlist( VideoItem( id: "H6uUbvcgKdk", name: "ALLE GETROLLT?! 1. APRIL!! - Minecraft SHINE #060 [Deutsch/HD]", - length: Some(1751), + duration: Some(1751), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/H6uUbvcgKdk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBzSJjNn7zgtAF2kMOHcyBsbS1l-Q", @@ -2389,7 +2389,7 @@ Playlist( VideoItem( id: "tPRTCauHtkw", name: "THAUMELONE - Minecraft SHINE #061 [Deutsch/HD]", - length: Some(1604), + duration: Some(1604), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tPRTCauHtkw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbTexd_3GA4grOauyJYk_HY9OQ8Q", @@ -2430,7 +2430,7 @@ Playlist( VideoItem( id: "pMKAQExcarM", name: "ICH BIN EIN MAGIER!! - Minecraft SHINE #062 [Deutsch/HD]", - length: Some(1202), + duration: Some(1202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pMKAQExcarM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd_6WaCpRHtqRugrmQn7gFNo9_LQ", @@ -2471,7 +2471,7 @@ Playlist( VideoItem( id: "7E-z-7KCdBI", name: "ENDER PORTER und SPELLBOUND - Minecraft SHINE #063 [Deutsch/HD]", - length: Some(1715), + duration: Some(1715), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7E-z-7KCdBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGUzE-YGbouV7fglH5XM9xIFS5mA", @@ -2512,7 +2512,7 @@ Playlist( VideoItem( id: "EPtbC0ZVddo", name: "PORTABLE HOLE & Melonenstatuen - Minecraft SHINE #064 [Deutsch/HD]", - length: Some(1696), + duration: Some(1696), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EPtbC0ZVddo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDGPl3HlQLwqnYRjxskV1EFD3pAvA", @@ -2553,7 +2553,7 @@ Playlist( VideoItem( id: "TpPHng0eGJs", name: "ZUKUNFT des PROJEKTS - Minecraft SHINE #065 [Deutsch/HD]", - length: Some(1215), + duration: Some(1215), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TpPHng0eGJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrapGS714wjdb3XLYg9KsMQBQwig", @@ -2594,7 +2594,7 @@ Playlist( VideoItem( id: "rt2QFQwJYcs", name: "GIGANTISCHER METEOR!! - Minecraft SHINE #066 [Deutsch/HD]", - length: Some(1593), + duration: Some(1593), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rt2QFQwJYcs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBf_L_ob5qiPVaGJdyQFyoFEwIstg", @@ -2635,7 +2635,7 @@ Playlist( VideoItem( id: "WPyfaztFDQ4", name: "Der EREBUS und die GHAST QUEEN - Minecraft SHINE #067 [Deutsch/HD]", - length: Some(1687), + duration: Some(1687), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPyfaztFDQ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeaQHeQX9MUHyne6tlJW9JeycB3A", @@ -2676,7 +2676,7 @@ Playlist( VideoItem( id: "5lmumP0DaUw", name: "MINI-BEST OF und KABOOM!! - Minecraft SHINE #069 (Finale) [Deutsch/HD]", - length: Some(1044), + duration: Some(1044), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5lmumP0DaUw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDys9BQ_BHV7BhDkYphDT72uJBebQ", diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_short.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_short.snap index 5271a31..f3dc659 100644 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_short.snap +++ b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_short.snap @@ -11,7 +11,7 @@ Playlist( VideoItem( id: "nBZlrbrBO1I", name: "Lewis Capaldi - Forget Me (Official Video)", - length: Some(257), + duration: Some(257), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nBZlrbrBO1I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYE-KokyXCncPHIweXZd3jO0FtCg", @@ -52,7 +52,7 @@ Playlist( VideoItem( id: "k6ZoE4RrcDs", name: "Ed Sheeran - Overpass Graffiti [Official Video]", - length: Some(287), + duration: Some(287), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/k6ZoE4RrcDs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClylvwlo7lJP-guD59zx46AJ-FhA", @@ -93,7 +93,7 @@ Playlist( VideoItem( id: "_JGGLJMpVks", name: "Billie Eilish - TV (Official Lyric Video)", - length: Some(282), + duration: Some(282), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_JGGLJMpVks/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2M9JavMUXxkoqzNoTG-W4y8f6ng", @@ -134,7 +134,7 @@ Playlist( VideoItem( id: "2n5GKLdrTfk", name: "Benson Boone - In the Stars (Official Lyric Video)", - length: Some(217), + duration: Some(217), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2n5GKLdrTfk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgZfqXCaEvs5iiS7Uf8_th3FHi0Q", @@ -175,7 +175,7 @@ Playlist( VideoItem( id: "psuRGfAaju4", name: "Owl City - Fireflies (Official Music Video)", - length: Some(233), + duration: Some(233), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/psuRGfAaju4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9bUyhPoTTV2wN8BSQ1GCiZfEHRg", @@ -216,7 +216,7 @@ Playlist( VideoItem( id: "AcTDlsUej2w", name: "Sofia Carson - Come Back Home (From \"Purple Hearts\")", - length: Some(204), + duration: Some(204), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AcTDlsUej2w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZ4neL2CBKzCLMIK_-dU9jcjgU7g", @@ -257,7 +257,7 @@ Playlist( VideoItem( id: "ospQ06jJe-I", name: "Rihanna - Lift Me Up (Visualizer)", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ospQ06jJe-I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDP9VhXSsZyfokzYMG-bPeAtvwPYQ", @@ -298,7 +298,7 @@ Playlist( VideoItem( id: "mqiH0ZSkM9I", name: "James Bay - Hold Back The River", - length: Some(247), + duration: Some(247), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mqiH0ZSkM9I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDL1DI86uhS0N-7Iln6wBSdwxzSTw", @@ -339,7 +339,7 @@ Playlist( VideoItem( id: "UAWcs5H-qgQ", name: "Ed Sheeran - The A Team [Official Music Video]", - length: Some(290), + duration: Some(290), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UAWcs5H-qgQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQe32l8lKUCEYlEu3qvN61HJfhZQ", @@ -380,7 +380,7 @@ Playlist( VideoItem( id: "c4BLVznuWnU", name: "Ed Sheeran - Lego House [Official Music Video]", - length: Some(246), + duration: Some(246), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c4BLVznuWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGv3Z17ZP7qUJBjyKS6XqEfd6vFA", @@ -421,7 +421,7 @@ Playlist( VideoItem( id: "ouEezpuPc3A", name: "Andy Grammer - \"Don\'t Give Up On Me\" [Official Video from the Five Feet Apart Film]", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ouEezpuPc3A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLATK7bjvuTcCR3tLGpTByugeeApBw", @@ -462,7 +462,7 @@ Playlist( VideoItem( id: "i-qT5n_5Mys", name: "Jaymes Young - Happiest Year [Official Music Video]", - length: Some(278), + duration: Some(278), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/i-qT5n_5Mys/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVoIW7CvV2T6J4lKS4ke0oG5T76Q", @@ -503,7 +503,7 @@ Playlist( VideoItem( id: "bqO3Y5e4Dow", name: "Michele Morrone - Hard For Me (Official Music Video)", - length: Some(173), + duration: Some(173), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bqO3Y5e4Dow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCP6Zgm-3gvaYxZkCT5OS3GjJM2vQ", @@ -544,7 +544,7 @@ Playlist( VideoItem( id: "VqXYVrsMGnk", name: "Cian Ducrot - I\'ll Be Waiting (Official Video)", - length: Some(186), + duration: Some(186), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/VqXYVrsMGnk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBewlDTtOME4lW9VOPol71lN1frvw", @@ -585,7 +585,7 @@ Playlist( VideoItem( id: "qHm9MG9xw1o", name: "OneRepublic - Secrets (Official Music Video)", - length: Some(233), + duration: Some(233), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qHm9MG9xw1o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEc7ChL1aU4sWnM23BEdbqUfYpoA", @@ -626,7 +626,7 @@ Playlist( VideoItem( id: "-oqAU5VxFWs", name: "Counting Crows - Mr. Jones (Official Music Video)", - length: Some(270), + duration: Some(270), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-oqAU5VxFWs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOiV1ty7HPrBwp-3zZq3x_VY9YbQ", @@ -667,7 +667,7 @@ Playlist( VideoItem( id: "XPpTgCho5ZA", name: "Maroon 5 - This Love (Official Music Video)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XPpTgCho5ZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJLr7-wCPWd1_-QSELXsmZxsuUQA", @@ -708,7 +708,7 @@ Playlist( VideoItem( id: "PMGY8fLwess", name: "James Arthur - Falling Like The Stars", - length: Some(256), + duration: Some(256), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PMGY8fLwess/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCET20Nd4_3twDEy-t_LBeJFI5Lng", @@ -749,7 +749,7 @@ Playlist( VideoItem( id: "vNfgVjZF8_4", name: "OneRepublic - Someday (Official Music Video)", - length: Some(192), + duration: Some(192), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vNfgVjZF8_4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAiolwWxGplthlYKy2jJkAxw_-u2Q", @@ -790,7 +790,7 @@ Playlist( VideoItem( id: "aNzCDt2eidg", name: "Birdy - Skinny Love (Official Music Video)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aNzCDt2eidg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB33o_fslw86LZxcC1Jf8Oy8X94tg", @@ -831,7 +831,7 @@ Playlist( VideoItem( id: "1YUBbF24H44", name: "Sabrina Carpenter - because i liked a boy (Official Video)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1YUBbF24H44/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_FDT3RYF6Db3q5vW9KsL9RCIcUA", @@ -872,7 +872,7 @@ Playlist( VideoItem( id: "A48hOToMuRE", name: "Dermot Kennedy - Outnumbered (Official Music Video)", - length: Some(247), + duration: Some(247), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/A48hOToMuRE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD331J7kou1P60yR_eWHyDtzD6ATQ", @@ -913,7 +913,7 @@ Playlist( VideoItem( id: "c0wUKCekI34", name: "Michele Morrone - Another Day (Official Music Video)", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c0wUKCekI34/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnIgpAY_IWghMmR2H5lMfpPJhhKQ", @@ -954,7 +954,7 @@ Playlist( VideoItem( id: "CA1VHbdq5hY", name: "Giveon - Lie Again (Official Music Video)", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CA1VHbdq5hY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxIcgCqYhMN-NtLCF7P9SvaZF5ag", @@ -995,7 +995,7 @@ Playlist( VideoItem( id: "ljXSjIph5ZM", name: "Niall Horan - Too Much To Ask (Official Video)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ljXSjIph5ZM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBswSaH9Elc6hO18X9NQnbcnCTTrw", @@ -1036,7 +1036,7 @@ Playlist( VideoItem( id: "HUAvAYcDBos", name: "Jessie Murph - How Could You (Official Video)", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HUAvAYcDBos/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs-vI_VZV6deBCj4gwoQTvwyflg", @@ -1077,7 +1077,7 @@ Playlist( VideoItem( id: "P0N0h_EOS-c", name: "Jess Glynne - Take Me Home [One Shot]", - length: Some(276), + duration: Some(276), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/P0N0h_EOS-c/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTShXMA8=&rs=AOn4CLDkdQ5y1KrQH72YrAe3H3Azl2nrNw", @@ -1118,7 +1118,7 @@ Playlist( VideoItem( id: "goqqohUitmw", name: "Conan Gray - People Watching (Official Video)", - length: Some(210), + duration: Some(210), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/goqqohUitmw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBctikDTiHTYFwrnwU3twVrMoMg0w", @@ -1159,7 +1159,7 @@ Playlist( VideoItem( id: "EptPhiK_q0E", name: "Coldplay X Selena Gomez - Let Somebody Go (Official Lyric Video)", - length: Some(242), + duration: Some(242), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EptPhiK_q0E/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGBMgUSh_MA8=&rs=AOn4CLCOd0ATwH2KxF7cfK-rWosCNT3IBA", @@ -1200,7 +1200,7 @@ Playlist( VideoItem( id: "74NhLkjIeMs", name: "Conan Gray - Yours", - length: Some(201), + duration: Some(201), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/74NhLkjIeMs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA2yej0cyHG33At8O7nYsh0W0CjWQ", @@ -1241,7 +1241,7 @@ Playlist( VideoItem( id: "DJFMRLIe-0o", name: "Tate McRae x Ali Gatie - lie to me", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DJFMRLIe-0o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxB2LhvsmbZFj8u3HHpZqw_QLQYQ", @@ -1282,7 +1282,7 @@ Playlist( VideoItem( id: "26PAgklYYvo", name: "James Morrison - Broken Strings ft. Nelly Furtado (Official Video)", - length: Some(261), + duration: Some(261), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/26PAgklYYvo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBWaF5iUZuRhd5CXJczxE_uIhvuQ", @@ -1323,7 +1323,7 @@ Playlist( VideoItem( id: "_LwX7GCE5rI", name: "Miley Cyrus - Slide Away (Audio)", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_LwX7GCE5rI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDARZ6g8GJ5ZQJKLBn_f7EUz5zQbw", @@ -1364,7 +1364,7 @@ Playlist( VideoItem( id: "bO3S8CKafbE", name: "Niall Horan - Put A Little Love On Me (Official Video)", - length: Some(235), + duration: Some(235), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bO3S8CKafbE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkGMciyWKUevmBLwdIEfdyEUGtLQ", @@ -1405,7 +1405,7 @@ Playlist( VideoItem( id: "HtNS1afUOnE", name: "OneRepublic - Stop And Stare (Official Music Video)", - length: Some(295), + duration: Some(295), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HtNS1afUOnE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAxlKe00QtM12L4lSRNPFQwpSMyVA", @@ -1446,7 +1446,7 @@ Playlist( VideoItem( id: "tMsbeyeTtpk", name: "Michael Bublé - I\'ll Never Not Love You (Official Music Video)", - length: Some(245), + duration: Some(245), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tMsbeyeTtpk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDAr49jYgSm566rAeQY2EDCJf8TiA", @@ -1487,7 +1487,7 @@ Playlist( VideoItem( id: "K9qu2QMBguw", name: "I See Fire (From \"The Hobbit - The Desolation Of Smaug\")", - length: Some(301), + duration: Some(301), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/K9qu2QMBguw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCws9zOceVajoYy1goACyhUMpUp0A", @@ -1528,7 +1528,7 @@ Playlist( VideoItem( id: "uWeqeQkjLto", name: "James Blunt - 1973 (Official Music Video)", - length: Some(234), + duration: Some(234), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uWeqeQkjLto/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFQgZShhMA8=&rs=AOn4CLAs8gUVPdNh55dqwd900xx-5wDFZg", @@ -1569,7 +1569,7 @@ Playlist( VideoItem( id: "44u7_wQ1s0g", name: "John Legend - Wonder Woman (Official Music Video)", - length: Some(167), + duration: Some(167), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/44u7_wQ1s0g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkfXiCxIPRshRfnR2iyQwi4ygCvw", @@ -1610,7 +1610,7 @@ Playlist( VideoItem( id: "7TCncxWNcPU", name: "David Kushner - Mr. Forgettable [Official Music Video]", - length: Some(188), + duration: Some(188), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7TCncxWNcPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUjrfYGwMuSGUQXZ8S5NpzULk04A", @@ -1651,7 +1651,7 @@ Playlist( VideoItem( id: "7Lna4Hu4-AQ", name: "MAX & Ali Gatie - Butterflies (Official Music Video)", - length: Some(195), + duration: Some(195), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7Lna4Hu4-AQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCwk82yvmb0b2bT2LQdLDCm7AdPVw", @@ -1692,7 +1692,7 @@ Playlist( VideoItem( id: "mHeK0Cwr9sg", name: "Family of the Year - Hero (Official Music Video)", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mHeK0Cwr9sg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNQKaAvQ3wiH3m5VvXJqLq7evrcw", @@ -1733,7 +1733,7 @@ Playlist( VideoItem( id: "0Bf3CJZ4hvg", name: "James TW - When You Love Someone (Official Video)", - length: Some(227), + duration: Some(227), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0Bf3CJZ4hvg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcZtU4lYU7SoyX-KWmY83qSZpKNA", @@ -1774,7 +1774,7 @@ Playlist( VideoItem( id: "PxNYvk_0Onw", name: "Gabrielle Aplin - Please Don\'t Say You Love Me (Official Video)", - length: Some(208), + duration: Some(208), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PxNYvk_0Onw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzBncBZkxQA-sIftjEl-so3MFXDQ", @@ -1815,7 +1815,7 @@ Playlist( VideoItem( id: "E0WRQpjckYg", name: "5 Seconds of Summer - Older (feat. Sierra Deaton) [Official Music Video]", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/E0WRQpjckYg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBBqsOulvLGwgBYkEMsWZrn9t5z5Q", @@ -1856,7 +1856,7 @@ Playlist( VideoItem( id: "X_ZOGHUWwqE", name: "Sam Smith - Kids Again (Official Music Video)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/X_ZOGHUWwqE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA07XEXQDNHBEgYBzrUaFeuuOhgYw", @@ -1897,7 +1897,7 @@ Playlist( VideoItem( id: "fvXn3rmhdc4", name: "Benson Boone - Better Alone (Official Music Video)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fvXn3rmhdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXyC7NRsIpcSf-3xM6lJpRjufFBg", @@ -1938,7 +1938,7 @@ Playlist( VideoItem( id: "WLoWBe9BRP4", name: "Mimi Webb - Good Without (Official Music Video)", - length: Some(187), + duration: Some(187), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WLoWBe9BRP4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCXfMk1yjQeGOIv-JWTLz_Sv-fneA", @@ -1979,7 +1979,7 @@ Playlist( VideoItem( id: "1XYLKoEETVA", name: "Zoe Wees - Hold Me Like You Used To", - length: Some(193), + duration: Some(193), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1XYLKoEETVA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA1vOD1X-dWXRvJME8Rbamezkj3zQ", @@ -2020,7 +2020,7 @@ Playlist( VideoItem( id: "7aF4epqLMPs", name: "Dermot Kennedy - One Life (Sonder Lyric Video)", - length: Some(238), + duration: Some(238), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7aF4epqLMPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZepQgbOdk9xu0Umpn8ydSn92qeQ", @@ -2061,7 +2061,7 @@ Playlist( VideoItem( id: "ufbDvPaVrzs", name: "Dermot Kennedy - Innocence and Sadness (Live From Mission Sound Studios, Brooklyn)", - length: Some(252), + duration: Some(252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ufbDvPaVrzs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAMZEWQx_Mzyg0dDRx35B8WBh7rWQ", @@ -2102,7 +2102,7 @@ Playlist( VideoItem( id: "Ghl_vkEV3tc", name: "Noah Cyrus - Mr. Percocet (Official Video)", - length: Some(193), + duration: Some(193), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ghl_vkEV3tc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDoZ_f8kKEnHOjHUaQOuGK_2rFEzA", @@ -2143,7 +2143,7 @@ Playlist( VideoItem( id: "hCjcgoubkPM", name: "Amy Shark - Mess Her Up (Official Video)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hCjcgoubkPM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCJ7TmHDCPS_O4TuOcjvPGrH9uQig", @@ -2184,7 +2184,7 @@ Playlist( VideoItem( id: "5qHRMFQ0pLg", name: "Dermot Kennedy - Dreamer", - length: Some(182), + duration: Some(182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5qHRMFQ0pLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0CeUiMuMAYUlwd6OSvfGbV2fiyA", @@ -2225,7 +2225,7 @@ Playlist( VideoItem( id: "nwXlRq_QyTI", name: "JP Saxe - A Little Bit Yours (Official Music Video)", - length: Some(246), + duration: Some(246), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nwXlRq_QyTI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeMKBjb-xLVknOBO0jnBI0nKGRrw", @@ -2266,7 +2266,7 @@ Playlist( VideoItem( id: "7KHPC-kEQOA", name: "Rosa Linn, Duncan Laurence - WDIA (Would Do It Again) (Official Lyric Video)", - length: Some(193), + duration: Some(193), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7KHPC-kEQOA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChepS9Al_mePp9OUSvU3KCfiqT-Q", @@ -2307,7 +2307,7 @@ Playlist( VideoItem( id: "ZdsER1S3t8k", name: "Noah Kahan - Hurt Somebody (Official Video)", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZdsER1S3t8k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMXZbK3xM4AVAHT-1INttn80orFg", @@ -2348,7 +2348,7 @@ Playlist( VideoItem( id: "fyrsExw_LUg", name: "James Bay - Bad", - length: Some(243), + duration: Some(243), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fyrsExw_LUg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAIYoOZeb6YLJs-k7q7gUYDyEw5hQ", @@ -2389,7 +2389,7 @@ Playlist( VideoItem( id: "X-vispdELDo", name: "Ashley Kutcher - Survive My Own Mind (Official Music Video)", - length: Some(199), + duration: Some(199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/X-vispdELDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNjK3LA0b0HcekazbiyJw79ZV0zQ", @@ -2430,7 +2430,7 @@ Playlist( VideoItem( id: "2p4n7JgdCsc", name: "a-ha - As If (Official Video)", - length: Some(336), + duration: Some(336), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2p4n7JgdCsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClrUza7VFr3E5Vm_N3l-8uXzlTwg", @@ -2471,7 +2471,7 @@ Playlist( VideoItem( id: "BS4t017LSoA", name: "Bad Habits (Acoustic Version)", - length: Some(233), + duration: Some(233), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BS4t017LSoA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAoxqVY-e_4hIjPTQ2FLvQTy2e5KQ", @@ -2512,7 +2512,7 @@ Playlist( VideoItem( id: "0AYzzzBaPBI", name: "flora cash - They Own This Town (Official Video)", - length: Some(246), + duration: Some(246), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0AYzzzBaPBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDw2F7ryxqDLcERqtiIuz0pokrhcQ", @@ -2553,7 +2553,7 @@ Playlist( VideoItem( id: "zM0K3LC7Aak", name: "James Arthur - Avalanche (Live Session)", - length: Some(220), + duration: Some(220), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zM0K3LC7Aak/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACABCozlS3B9tiR0oHa3A13tsKzg", @@ -2594,7 +2594,7 @@ Playlist( VideoItem( id: "-uxeu0MbNR0", name: "Jeremy Zucker - oh, mexico (Official Lyric Video)", - length: Some(191), + duration: Some(191), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-uxeu0MbNR0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAh2ApdiwlYs3vSs_rNVURKcwVjOw", @@ -2635,7 +2635,7 @@ Playlist( VideoItem( id: "ELD3aRzbVQg", name: "Tom Gregory - Run To You (Official Video HD)", - length: Some(201), + duration: Some(201), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ELD3aRzbVQg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA9S7vhfJ0vZ9jFNIPnuhZ47IV5VA", @@ -2676,7 +2676,7 @@ Playlist( VideoItem( id: "RdFaKz71-5M", name: "Ruel - LET THE GRASS GROW (Visualizer)", - length: Some(181), + duration: Some(181), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RdFaKz71-5M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2vXg0jRY42m1wZOLaDw8uhUIUvQ", @@ -2717,7 +2717,7 @@ Playlist( VideoItem( id: "H1_icnjg6MY", name: "Sigrid - Blue (Official Audio)", - length: Some(207), + duration: Some(207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/H1_icnjg6MY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGHIgSSgkMA8=&rs=AOn4CLB6_p8MIO4i6qW1jroGhnYOm859MQ", @@ -2758,7 +2758,7 @@ Playlist( VideoItem( id: "il_L6c_fOvs", name: "amnesia - Camylio (Visualizer)", - length: Some(173), + duration: Some(173), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/il_L6c_fOvs/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAyT-vzu4WOeAaDksDfPYhIZro4Gg", @@ -2799,7 +2799,7 @@ Playlist( VideoItem( id: "R3Wo_4tMlhQ", name: "Dean Lewis - All For You (Official Lyric Video)", - length: Some(226), + duration: Some(226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/R3Wo_4tMlhQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtJ6woo9TtO2c8S5_3-3Aml0fQug", @@ -2840,7 +2840,7 @@ Playlist( VideoItem( id: "1le0xDbrVj8", name: "Oh Wonder - True Romance", - length: Some(244), + duration: Some(244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1le0xDbrVj8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACfT_oOjcoB51P7qdJBdRJqMk6Bg", @@ -2881,7 +2881,7 @@ Playlist( VideoItem( id: "35VK8yonvsc", name: "James Bay - Everybody Needs Someone (Official Lyric Video)", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/35VK8yonvsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBm5zTCEBdVI4kL94VNJsrVw_D7Sg", @@ -2922,7 +2922,7 @@ Playlist( VideoItem( id: "T05TN5RYvLk", name: "Jessica Darrow - A Little More", - length: Some(185), + duration: Some(185), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/T05TN5RYvLk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnYNLEBPA_1w-VjM6VQ64WSpoRew", @@ -2963,7 +2963,7 @@ Playlist( VideoItem( id: "NjW1S0WIiJw", name: "John Legend - Free (Official Lyric Video)", - length: Some(223), + duration: Some(223), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NjW1S0WIiJw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoe2g-AJhPWV6uGi_Cb5BgOA9ggA", @@ -3004,7 +3004,7 @@ Playlist( VideoItem( id: "KUKt_LbaBnM", name: "Oh Wonder - Better Now (Official Audio)", - length: Some(200), + duration: Some(200), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KUKt_LbaBnM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqi7ONpAild4T_KUgenSVpZnINJQ", @@ -3045,7 +3045,7 @@ Playlist( VideoItem( id: "BxqtS-7GxFM", name: "TONES AND I - NEVER SEEN THE RAIN (ALTERNATE VERSION)", - length: Some(296), + duration: Some(296), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BxqtS-7GxFM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzNbc2LI1u0U7MJeDbYJ7CGcRsOg", @@ -3086,7 +3086,7 @@ Playlist( VideoItem( id: "BD7HwXv18aU", name: "Blue - Magnetic (packshot video)", - length: Some(192), + duration: Some(192), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BD7HwXv18aU/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLAm0onEcUfS8OL06MztPxxW0haT9Q", @@ -3127,7 +3127,7 @@ Playlist( VideoItem( id: "WJJLfUwIVR4", name: "christina perri - home [official audio]", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WJJLfUwIVR4/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFogNyh_MA8=&rs=AOn4CLAHxpiqOgT9nMZImsynQmXC57ccrw", @@ -3168,7 +3168,7 @@ Playlist( VideoItem( id: "bhL7A8k6kU8", name: "Anderson East - Madelyn (Official Video)", - length: Some(203), + duration: Some(203), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bhL7A8k6kU8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjFwOL3uhYgUyn9Y_lCG9Obu_VLw", @@ -3209,7 +3209,7 @@ Playlist( VideoItem( id: "-4szr0EMrgk", name: "Låpsley - 32 Floors (Official Audio)", - length: Some(185), + duration: Some(185), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-4szr0EMrgk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGE0gRyhZMA8=&rs=AOn4CLC8esxHISkHu2sudY4BhImbxCCF9A", @@ -3250,7 +3250,7 @@ Playlist( VideoItem( id: "mUN36hFtazE", name: "LÉON – All My Heroes (Official Audio)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mUN36hFtazE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYACzgWKAgwIABABGH8gLigsMA8=&rs=AOn4CLAY7-0ugMLVK_gKfpJNSIWx81o0aQ", @@ -3291,7 +3291,7 @@ Playlist( VideoItem( id: "dcBZP_pt0uY", name: "Tom Grennan - Little Bit Of Love (Strings) [Audio]", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dcBZP_pt0uY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCkKdl0vdveGOQRTVcDQSjM39eaNA", @@ -3332,7 +3332,7 @@ Playlist( VideoItem( id: "m342B1Vv3tM", name: "Matt Simons ft. Betty Who - Dust (Official Lyric Video)", - length: Some(202), + duration: Some(202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/m342B1Vv3tM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtlnYdNrjQmFoSByaqszmoizosdw", @@ -3373,7 +3373,7 @@ Playlist( VideoItem( id: "N_5RiRBvPSk", name: "SHIVERS (image of you)", - length: Some(178), + duration: Some(178), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/N_5RiRBvPSk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHvtumFR7-GUGlU31AlGM0NA775A", @@ -3414,7 +3414,7 @@ Playlist( VideoItem( id: "iOZj0Y8bAb8", name: "Rhys Lewis - The Middle", - length: Some(196), + duration: Some(196), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iOZj0Y8bAb8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxyTmcXXOFV5zDI-K8PTF7DbZqqg", @@ -3455,7 +3455,7 @@ Playlist( VideoItem( id: "7OfB_8rrtug", name: "Grace (We All Try)", - length: Some(206), + duration: Some(206), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7OfB_8rrtug/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC007M9IO9aWRv-SNVJkBxaGXzm-w", @@ -3496,7 +3496,7 @@ Playlist( VideoItem( id: "ufxjiU7BgR4", name: "Fall Into Me", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ufxjiU7BgR4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCukjpfKjBu1BlRU6okhJcCeO33vQ", @@ -3537,7 +3537,7 @@ Playlist( VideoItem( id: "QDULTFB8gSY", name: "Words as Weapons", - length: Some(199), + duration: Some(199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QDULTFB8gSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfNJGl46bsXtx8TaG9S1dGBP5CSg", @@ -3578,7 +3578,7 @@ Playlist( VideoItem( id: "Q5kH0wg_sKo", name: "Will You Love Me Tomorrow", - length: Some(173), + duration: Some(173), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Q5kH0wg_sKo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBqza1PqIiUCIgWRUkjX6LwsWdlBA", diff --git a/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap b/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap index c6b46c9..e0ac9fd 100644 --- a/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap +++ b/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap @@ -29,7 +29,7 @@ SearchResult( Video(VideoItem( id: "1VW7iXRIrc8", name: "Alone, in the City of Love", - length: Some(1875), + duration: Some(1875), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1VW7iXRIrc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBdlRr8SU9QxUy0_CXzgn5PYD9E5Q", @@ -66,7 +66,7 @@ SearchResult( Video(VideoItem( id: "9NuhKCv3crg", name: "the end.", - length: Some(982), + duration: Some(982), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9NuhKCv3crg/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB3RO6rSdCdoNvVoOIuXHuQLMAhjg", @@ -103,7 +103,7 @@ SearchResult( Video(VideoItem( id: "hGbQ2WM9nOo", name: "Why does everything bad for you taste good ㅣ CHILI OIL RAMEN", - length: Some(428), + duration: Some(428), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/hGbQ2WM9nOo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOyCCH9z6eP1GgeAkYz8w-63YPKA", @@ -140,7 +140,7 @@ SearchResult( Video(VideoItem( id: "PxGmP4v_A38", name: "Alone and Thriving l late night korean convenience store, muji kitchenware haul, spring cleaning!", - length: Some(1437), + duration: Some(1437), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PxGmP4v_A38/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAcoPhpadTc4MxMtIo_nT0sbVqQ_w", @@ -177,7 +177,7 @@ SearchResult( Video(VideoItem( id: "38Gd6TdmNVs", name: "KOREAN BARBECUE l doob gourmand ep.3", - length: Some(525), + duration: Some(525), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/38Gd6TdmNVs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDsNWReQCqk65JFrXXAd6rxMUI_Bw", @@ -214,7 +214,7 @@ SearchResult( Video(VideoItem( id: "CutR_1SDDzY", name: "feels good to be back", - length: Some(1159), + duration: Some(1159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CutR_1SDDzY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLActl8nkhmxksu9VFzaIinmds9zvQ", @@ -251,7 +251,7 @@ SearchResult( Video(VideoItem( id: "pRVSdUxdsVw", name: "Repairing...", - length: Some(965), + duration: Some(965), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pRVSdUxdsVw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjxOs7PhXWFUYxRlk8H0iePAG4Pw", @@ -288,7 +288,7 @@ SearchResult( Video(VideoItem( id: "KUz7oArksR4", name: "running away", - length: Some(1023), + duration: Some(1023), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KUz7oArksR4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBvRKSTlrOAc272yvOsjQ1caVy0dA", @@ -325,7 +325,7 @@ SearchResult( Video(VideoItem( id: "sPb2gyN-hnE", name: "worth fighting for", - length: Some(1232), + duration: Some(1232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sPb2gyN-hnE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCXfFs1qOH7gsqSVzQSIeP_67Gq6w", @@ -362,7 +362,7 @@ SearchResult( Video(VideoItem( id: "rriwHj8U664", name: "my seoul apartment tour", - length: Some(721), + duration: Some(721), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rriwHj8U664/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDa_ru_rgqDr335K9nP7qBEIEeWjA", @@ -399,7 +399,7 @@ SearchResult( Video(VideoItem( id: "PXsK9-CFoH4", name: "waiting...", - length: Some(1455), + duration: Some(1455), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PXsK9-CFoH4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDFtuK-YLnwmTSGBRv1GtqpR5Nuzw", @@ -436,7 +436,7 @@ SearchResult( Video(VideoItem( id: "bXbmYelTnhw", name: "Doobydobap rates British desserts!", - length: Some(865), + duration: Some(865), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bXbmYelTnhw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAOc_H4uGBccduXeIp86h5chvyvsw", @@ -473,7 +473,7 @@ SearchResult( Video(VideoItem( id: "0onVbAuBGWI", name: "Out of Control", - length: Some(1125), + duration: Some(1125), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0onVbAuBGWI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCAHfsahg69zS8R10N6NZcTn2Aibw", @@ -510,7 +510,7 @@ SearchResult( Video(VideoItem( id: "FKJtrUeol3o", name: "with quantity comes quality", - length: Some(1140), + duration: Some(1140), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FKJtrUeol3o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD9BLc2eY9aOByv7rTBF4hnVrK-Ww", @@ -547,7 +547,7 @@ SearchResult( Video(VideoItem( id: "dkMtSrjDLO0", name: "How to make Naruto\'s favorite ramen", - length: Some(802), + duration: Some(802), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dkMtSrjDLO0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB5ZCCaLPq5uWkYWwLDCezSjm6V0A", @@ -584,7 +584,7 @@ SearchResult( Video(VideoItem( id: "r2ye6zW0nbM", name: "a wedding", - length: Some(1207), + duration: Some(1207), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/r2ye6zW0nbM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAkTW6MZa4f7I1Q8JDN6gswxbZLMA", @@ -621,7 +621,7 @@ SearchResult( Video(VideoItem( id: "NudTbo2CJMY", name: "Flying to London", - length: Some(1078), + duration: Some(1078), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NudTbo2CJMY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLD0fdpkRaLvP-wJLtDJKt3QPiTQ", @@ -658,7 +658,7 @@ SearchResult( Video(VideoItem( id: "gK-jLnvVsb0", name: "Contradicting myself", - length: Some(1381), + duration: Some(1381), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gK-jLnvVsb0/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAuF_YftS_qXHPsyZC38Ghdif_L-A", @@ -695,7 +695,7 @@ SearchResult( Video(VideoItem( id: "fAFFTOpUNWo", name: "Come Grocery Shopping with Me", - length: Some(1126), + duration: Some(1126), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fAFFTOpUNWo/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1YGxKpUH8Jt18Oz_YpSZHzY2_ng", diff --git a/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap b/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap index 35e6dfd..a6ec599 100644 --- a/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap +++ b/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap @@ -8,7 +8,7 @@ Paginator( VideoItem( id: "_cyJhGsXDDM", name: "Ultimate Criminal Canal Found Magnet Fishing! Police on the Hunt", - length: Some(1096), + duration: Some(1096), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_cyJhGsXDDM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBz_ErMMfhKLRZRfcAPTlMTujziw", @@ -45,7 +45,7 @@ Paginator( VideoItem( id: "36YnV9STBqc", name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/36YnV9STBqc/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASUZkzmRJDiyIJmcsAdcDGan805Q", @@ -82,7 +82,7 @@ Paginator( VideoItem( id: "YYD1qgH5qC4", name: "چند شنبه با سینــا | فصل چهـارم | قسمت 5 | با حضور نازنین انصاری مدیر روزنامه کیهان لندن", - length: Some(3261), + duration: Some(3261), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YYD1qgH5qC4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkvD-kVL12hteMVVLRZvJHOdlPzQ", @@ -119,7 +119,7 @@ Paginator( VideoItem( id: "BeJqgI6rw9k", name: "your city is full of fake buildings, here\'s why", - length: Some(725), + duration: Some(725), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BeJqgI6rw9k/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAvkJGHa6h2vzXrG1ueGQA8JysqEg", @@ -156,7 +156,7 @@ Paginator( VideoItem( id: "ma28eWd1oyA", name: "Post Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Pop Hits 2020 Part 6", - length: Some(29989), + duration: Some(29989), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ma28eWd1oyA/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCznoPDMo_F1NCRBWoD4Ps5IjctxQ", @@ -188,7 +188,7 @@ Paginator( VideoItem( id: "mL2LBRM5GBI", name: "Salahs 6-Minuten-Hattrick & Firmino-Gala: Rangers - FC Liverpool 1:7 | UEFA Champions League | DAZN", - length: Some(355), + duration: Some(355), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mL2LBRM5GBI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhsDaEALJodPurmS3DywUoRRwzwg", @@ -225,7 +225,7 @@ Paginator( VideoItem( id: "Ang18qz2IeQ", name: "Satisfying Videos of Workers Doing Their Job Perfectly", - length: Some(1186), + duration: Some(1186), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ang18qz2IeQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA3Cd49wYUuSEXz2MwhO2aqCMq5ZA", @@ -262,7 +262,7 @@ Paginator( VideoItem( id: "fjHN4jsJnEU", name: "I Made 200 Players Simulate Survival Island in Minecraft...", - length: Some(2361), + duration: Some(2361), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fjHN4jsJnEU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwTosIfmAhNHIzU1sSXrTKT8vjNQ", @@ -299,7 +299,7 @@ Paginator( VideoItem( id: "FI1XrdBJIUI", name: "Epic Construction Fails | Expensive Fails Compilation | FailArmy", - length: Some(631), + duration: Some(631), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FI1XrdBJIUI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBe2jCnLhTsXmZQefyAe-WqImk6-g", @@ -336,7 +336,7 @@ Paginator( VideoItem( id: "MXdplejK8vU", name: "Chilly autumn Jazz ☕ Smooth September Jazz & Bossa Nova for a great relaxing weekend", - length: Some(86403), + duration: Some(86403), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MXdplejK8vU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIOe93l-1elIK0DfMLk0f3nDWgSA", @@ -373,7 +373,7 @@ Paginator( VideoItem( id: "Jri4_9vBFiQ", name: "Top 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N’ Roses,Bon Jovi, U2,CCR", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Jri4_9vBFiQ/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA1ZqDfSLi3Mf5qvpUFSYyDIODNQw", @@ -410,7 +410,7 @@ Paginator( VideoItem( id: "ll4d5Lt-Ie8", name: "Relaxing Music Healing Stress, Anxiety and Depressive States Heal Mind, Body and Soul | Sleep music", - length: Some(42896), + duration: Some(42896), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ll4d5Lt-Ie8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqdY2bQaQ3JHl5FYoTPuZFxXRKIQ", @@ -447,7 +447,7 @@ Paginator( VideoItem( id: "Dx2wbKLokuQ", name: "W. Putin: Die Sehnsucht nach dem Imperium | Mit offenen Karten | ARTE", - length: Some(729), + duration: Some(729), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Dx2wbKLokuQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHQXnaEYo6frjkJ3FFuAPkAyOCKQ", @@ -484,7 +484,7 @@ Paginator( VideoItem( id: "jfKfPfyJRdk", name: "lofi hip hop radio - beats to relax/study to", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jfKfPfyJRdk/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCR-bHqcvOP14sSUsNt9PTuf3ZI4Q", @@ -521,7 +521,7 @@ Paginator( VideoItem( id: "qmrzTUmZ4UU", name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", - length: Some(2043), + duration: Some(2043), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", @@ -558,7 +558,7 @@ Paginator( VideoItem( id: "t0Q2otsqC4I", name: "Tom & Jerry | Tom & Jerry in Full Screen | Classic Cartoon Compilation | WB Kids", - length: Some(1298), + duration: Some(1298), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/t0Q2otsqC4I/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCFcrz2zM6mPUmJiCsC7c7suOzSug", @@ -595,7 +595,7 @@ Paginator( VideoItem( id: "zE-a5eqvlv8", name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDyvujcpz62sEsL9Ke4ADBpXWqOA", @@ -632,7 +632,7 @@ Paginator( VideoItem( id: "HxCcKzRAGWk", name: "(Music for Man ) Relaxing Whiskey Blues Music - Modern Electric Guitar Blues - JAZZ & BLUES", - length: Some(42899), + duration: Some(42899), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HxCcKzRAGWk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD5CNX5XaQAKrLpPq0nxmyUjP5yUw", @@ -669,7 +669,7 @@ Paginator( VideoItem( id: "HlHYOdZePSE", name: "Healing Music for Anxiety Disorders, Fears, Depression and Eliminate Negative Thoughts", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HlHYOdZePSE/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeqmmnli6rVdK1k7vcHlwE3kiNaw", @@ -706,7 +706,7 @@ Paginator( VideoItem( id: "CJ2AH3LJeic", name: "Coldplay Greatest Hits Full Album 2022 New Songs of Coldplay 2022", - length: Some(7781), + duration: Some(7781), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CJ2AH3LJeic/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC3A9sBlWQZmFUI9BYe5KzvATqiqw", @@ -743,7 +743,7 @@ Paginator( VideoItem( id: "KJwzKxQ81iA", name: "Handmade Candy Making Collection / 수제 사탕 만들기 모음 / Korean Candy Store", - length: Some(3152), + duration: Some(3152), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KJwzKxQ81iA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtm3YNbp3mK6RjsACZuz7fs-TUYA", diff --git a/src/client/snapshots/rustypipe__client__trends__tests__map_trending_20230501_page_header_renderer.snap b/src/client/snapshots/rustypipe__client__trends__tests__map_trending_20230501_page_header_renderer.snap index db4551c..37e1a8a 100644 --- a/src/client/snapshots/rustypipe__client__trends__tests__map_trending_20230501_page_header_renderer.snap +++ b/src/client/snapshots/rustypipe__client__trends__tests__map_trending_20230501_page_header_renderer.snap @@ -6,7 +6,7 @@ expression: map_res.c VideoItem( id: "OLcdyDte2e8", name: "THE EQUALIZER 3 Trailer German Deutsch (2023)", - length: Some(159), + duration: Some(159), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OLcdyDte2e8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSQWUCHxZpKpiaN87tETWCmwq3Gw", @@ -48,7 +48,7 @@ expression: map_res.c VideoItem( id: "bV031nK_ipg", name: "Yalı Çapkını 30. Bölüm 1. Fragmanı | Olacaklara Hazır Ol!", - length: Some(48), + duration: Some(48), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bV031nK_ipg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCst780fpKDVMFjc1199-x0du0ySA", @@ -90,7 +90,7 @@ expression: map_res.c VideoItem( id: "Mk4vH7xWBKs", name: "\u{200b}Kızılcık Şerbeti 24. Bölüm 1. Fragman | \"Hayatımın o karanlık dönemi sona erdi...\"", - length: Some(55), + duration: Some(55), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Mk4vH7xWBKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDwAUm72bW_iLbmchMYfmhVyRodSw", @@ -132,7 +132,7 @@ expression: map_res.c VideoItem( id: "WonRyXzq89w", name: "Camdaki Kız 77. Bölüm Fragmanı | Bittim Artık Ben!", - length: Some(43), + duration: Some(43), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WonRyXzq89w/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAkp3CwjmEyEZdqthocRMQXyBIicg", @@ -174,7 +174,7 @@ expression: map_res.c VideoItem( id: "2_OBxvKRYns", name: "Gülcemal 5. Bölüm 1. Fragmanı", - length: Some(55), + duration: Some(55), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2_OBxvKRYns/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4O5boUqlYlIsDZwbo6fnsanCl7Q", @@ -216,7 +216,7 @@ expression: map_res.c VideoItem( id: "EUlC8ue8NFI", name: "The Witcher: Season 3 | Official Teaser | Netflix", - length: Some(72), + duration: Some(72), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EUlC8ue8NFI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4D9fynrZqM2a13VlyRgsiuok4iw", @@ -258,7 +258,7 @@ expression: map_res.c VideoItem( id: "RDE6Uz73A7g", name: "The Hunger Games: The Ballad of Songbirds & Snakes (2023) Official Trailer", - length: Some(169), + duration: Some(169), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RDE6Uz73A7g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfw5gszhsKfBDVKANGxvbjYqUrMA", @@ -300,7 +300,7 @@ expression: map_res.c VideoItem( id: "W-h9kvKG2KA", name: "Aile 9. Bölüm 2. Fragman", - length: Some(87), + duration: Some(87), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/W-h9kvKG2KA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBxWt_mjWojiOncMWNHGatqWikccQ", @@ -342,7 +342,7 @@ expression: map_res.c VideoItem( id: "wvijjwnljVU", name: "Yargı 63. Bölüm Fragman (Sezon Finali)", - length: Some(64), + duration: Some(64), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wvijjwnljVU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOq9xG0GL3g1KrGSPG4aMtl8X-aA", @@ -384,7 +384,7 @@ expression: map_res.c VideoItem( id: "vMYWPpJAbvc", name: "Gülcemal 5. Bölüm 1. Fragmanı | Kimse Gülcemal\'i Aptal Yerine Koyamaz!", - length: Some(40), + duration: Some(40), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vMYWPpJAbvc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2g7wt5xFM0vB8U3rMGAabwrYlNg", @@ -426,7 +426,7 @@ expression: map_res.c VideoItem( id: "PdhjMlyPjCU", name: "Kuruluş Osman 124.Bölüm Fragmanı", - length: Some(48), + duration: Some(48), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PdhjMlyPjCU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lGSiNFJ8e8e_Ch0yeeuWiCoBXQ", @@ -468,7 +468,7 @@ expression: map_res.c VideoItem( id: "19ikl8vy4zs", name: "THE EQUALIZER 3 - Official Red Band Trailer (HD)", - length: Some(183), + duration: Some(183), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/19ikl8vy4zs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu8SQ-1bqOwsfayIuxkXoAgIXCpQ", @@ -510,7 +510,7 @@ expression: map_res.c VideoItem( id: "HnzNZ0Mdx4I", name: "Ahsoka | Teaser Trailer | Disney+", - length: Some(112), + duration: Some(112), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HnzNZ0Mdx4I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtihmDSlK3fAkKe_XDCkc45aGLbw", @@ -552,7 +552,7 @@ expression: map_res.c VideoItem( id: "Qz_yH-06Yi8", name: "Gönül Dağı 96. Bölüm Fragmanı", - length: Some(50), + duration: Some(50), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Qz_yH-06Yi8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARf_E6GKdpN8mKH5Zlx_CB46hsbw", @@ -594,7 +594,7 @@ expression: map_res.c VideoItem( id: "c9YhvwuFZyk", name: "DUNE: PART TWO – First Trailer (2023) Warner Bros. Pictures & Max", - length: Some(82), + duration: Some(82), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/c9YhvwuFZyk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDS3E7kp_6wZ0s6nQmaMzt4AbWrsA", @@ -636,7 +636,7 @@ expression: map_res.c VideoItem( id: "iuk77TjvfmE", name: "Marvel Studios’ The Marvels | Teaser Trailer", - length: Some(117), + duration: Some(117), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iuk77TjvfmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANzHhP5yCjp4Vi6_sbR7eUIJSxQg", @@ -678,7 +678,7 @@ expression: map_res.c VideoItem( id: "itnqEauWQZM", name: "Transformers: Rise of the Beasts | Official Trailer (2023 Movie)", - length: Some(153), + duration: Some(153), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/itnqEauWQZM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq7T9kux2hDE86LXKo0CVuOOvRXQ", @@ -720,7 +720,7 @@ expression: map_res.c VideoItem( id: "0RPBk5awAIg", name: "Ben Bu Cihana Sığmazam 28. Bölüm Fragmanı | \'\'Kurbanı takip edeceksin...\'\' @atvturkiye", - length: Some(51), + duration: Some(51), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0RPBk5awAIg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrlh_mZMpdQNJu3agq1lq7NqrT5Q", @@ -762,7 +762,7 @@ expression: map_res.c VideoItem( id: "_Hz5t58ePKs", name: "Üç Kız Kardeş 48. Bölüm Fragmanı | Türkan, gerçekleri Somer\'in yüzüne vuruyor!", - length: Some(56), + duration: Some(56), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_Hz5t58ePKs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAlr1DQooJjngcDHKtrnc5O3cGjfg", @@ -804,7 +804,7 @@ expression: map_res.c VideoItem( id: "lLMEejtqb0Q", name: "Kuruluş Osman 124. Bölüm Fragmanı | \"Yenişehir\'e saldıracak\" @atvturkiye", - length: Some(67), + duration: Some(67), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lLMEejtqb0Q/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBw4qDswxhGwWZThSUiFGXbbDOltQ", @@ -846,7 +846,7 @@ expression: map_res.c VideoItem( id: "ZsrahE6znRA", name: "THE EQUALIZER 3 Official Trailer (2023)", - length: Some(200), + duration: Some(200), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZsrahE6znRA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASkb818kKUEwexK0a_Jk6l3kYLQA", @@ -888,7 +888,7 @@ expression: map_res.c VideoItem( id: "GRyt3Ov4zz0", name: "Barbie | Teaser Trailer 2", - length: Some(105), + duration: Some(105), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/GRyt3Ov4zz0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnUrsc1AVHZ-RebWj2AQY_5EJx6g", @@ -930,7 +930,7 @@ expression: map_res.c VideoItem( id: "-fjqPyZPNB4", name: "Kraliçe 6. Bölüm 2. Fragmanı | Artık Kolay Kurtulamazsın", - length: Some(41), + duration: Some(41), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-fjqPyZPNB4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYi8YOTivyUau0HXZhD7z8V_807g", @@ -972,7 +972,7 @@ expression: map_res.c VideoItem( id: "qUsGi4CSy-I", name: "Ömer 14. Bölüm 1. Fragmanı | Beni Sevdiğini Biliyorum!", - length: Some(54), + duration: Some(54), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qUsGi4CSy-I/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-yc6Yw6YsqqMsfPnd1pd1c-PqYQ", @@ -1014,7 +1014,7 @@ expression: map_res.c VideoItem( id: "cDPY7R2Hfrs", name: "Yalı Çapkını 31. Bölüm Fragmanı | \"Seyran\'ı Yıkan Haber\"", - length: Some(61), + duration: Some(61), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cDPY7R2Hfrs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClKfy6N0I_csMaicmSRIhLYdn4Hg", @@ -1056,7 +1056,7 @@ expression: map_res.c VideoItem( id: "RJbR1MzR3k8", name: "Ömer 15. Bölüm 2. Fragman", - length: Some(56), + duration: Some(56), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RJbR1MzR3k8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQ1TQ81aBzwvebUorA_ePbHx-G7Q", @@ -1098,7 +1098,7 @@ expression: map_res.c VideoItem( id: "iv6Bx_JwY_k", name: "Aldatmak 28. Bölüm Fragmanı | \'\'Ben boşanmak istemiyorum, Güzide affet beni\"", - length: Some(51), + duration: Some(51), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iv6Bx_JwY_k/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6diXarynpK0dUNRN2SbykWjavLA", @@ -1140,7 +1140,7 @@ expression: map_res.c VideoItem( id: "vrK13rVnVa8", name: "Aile 9. Bölüm 1. Fragman | “İlyas Koruzade oğlunu öldürdüğümüzü öğrenirse…”", - length: Some(68), + duration: Some(68), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vrK13rVnVa8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD6SVQaSpsjHzT0I8-3gPxvvH4Zvw", @@ -1182,7 +1182,7 @@ expression: map_res.c VideoItem( id: "iOG94aAeh9U", name: "Çöp Adam 18. Bölüm 2. Fragmanı | Kapat Beni!", - length: Some(63), + duration: Some(63), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iOG94aAeh9U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBr6zymASMNB8xszHbQwt2b1bMY_g", @@ -1224,7 +1224,7 @@ expression: map_res.c VideoItem( id: "7cuBIM5culc", name: "Tetikçinin Oğlu 4. Bölüm Fragmanı | \"Cenazeden Sonra Başlatırız...\"", - length: Some(54), + duration: Some(54), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7cuBIM5culc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZCNzleOQsQFHIi-vGQr_x4p5ltw", diff --git a/src/client/snapshots/rustypipe__client__trends__tests__map_trending_videos.snap b/src/client/snapshots/rustypipe__client__trends__tests__map_trending_videos.snap index 6830709..d78269f 100644 --- a/src/client/snapshots/rustypipe__client__trends__tests__map_trending_videos.snap +++ b/src/client/snapshots/rustypipe__client__trends__tests__map_trending_videos.snap @@ -6,7 +6,7 @@ expression: map_res.c VideoItem( id: "6T67I2w1G2U", name: "Extreme $1,000,000 Minecraft Challenge!", - length: Some(643), + duration: Some(643), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw", @@ -48,7 +48,7 @@ expression: map_res.c VideoItem( id: "8TzH0ayIcdo", name: "The Darkest Story I\'ve Ever Read", - length: Some(4383), + duration: Some(4383), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g", @@ -90,7 +90,7 @@ expression: map_res.c VideoItem( id: "s9PzYuVwCSE", name: "Lil Yachty - Poland (Directed by Cole Bennett)", - length: Some(89), + duration: Some(89), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s9PzYuVwCSE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBAAmFE81Aur-4JT0tewcUo2_9I8g", @@ -132,7 +132,7 @@ expression: map_res.c VideoItem( id: "y8qhSduN6sk", name: "PC Games on Console - Scott The Woz", - length: Some(1912), + duration: Some(1912), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA", @@ -174,7 +174,7 @@ expression: map_res.c VideoItem( id: "U9HAaHc3wnc", name: "Guess Iono’s Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw", @@ -216,7 +216,7 @@ expression: map_res.c VideoItem( id: "MBzi6hRrkww", name: "Celebrating Tito Puente", - length: Some(65), + duration: Some(65), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MBzi6hRrkww/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHXUw09LPtzYbP4SesBrr18DapJA", @@ -258,7 +258,7 @@ expression: map_res.c VideoItem( id: "DvkTX-AquQo", name: "Impossible 0.00001% Odds!", - length: Some(481), + duration: Some(481), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ", @@ -300,7 +300,7 @@ expression: map_res.c VideoItem( id: "T-8fCPT-ZKI", name: "DDG - Bulletproof Maybach (Official Music Video) ft. Offset", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/T-8fCPT-ZKI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDUSR0YqD6Z3cqOnGQQ-BOToWQYg", @@ -342,7 +342,7 @@ expression: map_res.c VideoItem( id: "dFlDRhvM4L0", name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」", - length: Some(90), + duration: Some(90), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A", @@ -384,7 +384,7 @@ expression: map_res.c VideoItem( id: "G9W8CSckzAc", name: "why I disappeared", - length: Some(461), + duration: Some(461), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/G9W8CSckzAc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDq0swwcUrhHDtJHYuMTVU8IIoQew", @@ -426,7 +426,7 @@ expression: map_res.c VideoItem( id: "PuOUI2kwftA", name: "Brooklyn\'s Wedding Day Vlog | Behind the Scenes", - length: Some(1265), + duration: Some(1265), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PuOUI2kwftA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmzQC0d4E9Pi1ZmpbY9bWm0IdRbA", @@ -468,7 +468,7 @@ expression: map_res.c VideoItem( id: "lkOGhJX6LKU", name: "Social Security payments set for big increase; here’s what you need to know", - length: Some(120), + duration: Some(120), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lkOGhJX6LKU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCBjZbCrftL5Cs0RtJZSo4sWEtyCg", @@ -510,7 +510,7 @@ expression: map_res.c VideoItem( id: "zkvIzKwzYNc", name: "Kep1er 케플러 | ‘We Fresh\' M/V", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zkvIzKwzYNc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAz9DC0biWYPzEq5jaKrIKmNQQqQ", @@ -552,7 +552,7 @@ expression: map_res.c VideoItem( id: "foMQG_Bpcag", name: "*After 4* DESTROYED my last brain cell", - length: Some(2169), + duration: Some(2169), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/foMQG_Bpcag/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGs9GSfJIKNbMnAjys9wM3lHZuUg", @@ -594,7 +594,7 @@ expression: map_res.c VideoItem( id: "iquXFFSEKyE", name: "NLE Choppa - Do It Again (ft. 2Rare) [HipHop Dance Musical] MEMPHIS EDITION", - length: Some(239), + duration: Some(239), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iquXFFSEKyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_lsIMgQGkprvJ2XNrzzYmJwDR6A", @@ -636,7 +636,7 @@ expression: map_res.c VideoItem( id: "ijj_hheGEi0", name: "Queen - Face It Alone (Official Lyric Video)", - length: Some(257), + duration: Some(257), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ijj_hheGEi0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCZg5Tsu_SO-83YbNiH2xZhsRcCJw", @@ -678,7 +678,7 @@ expression: map_res.c VideoItem( id: "nwMxp7mRbx4", name: "Dimension 20: Neverafter Trailer", - length: Some(154), + duration: Some(154), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nwMxp7mRbx4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDOW_yf8647tavIGT5QD2GEl4a6Pw", @@ -720,7 +720,7 @@ expression: map_res.c VideoItem( id: "7IGD5URBGZ8", name: "We Got Engaged", - length: Some(1325), + duration: Some(1325), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw", @@ -762,7 +762,7 @@ expression: map_res.c VideoItem( id: "eKAIQDxai9Y", name: "I remade every mob into Rainbow Friends in Minecraft", - length: Some(811), + duration: Some(811), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eKAIQDxai9Y/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhMxh2lEFEwSprWt_yuU7hkMZM-Q", @@ -804,7 +804,7 @@ expression: map_res.c VideoItem( id: "5sRVxb2wkGM", name: "We Bought Every Weird Ad We Saw", - length: Some(1602), + duration: Some(1602), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA", @@ -846,7 +846,7 @@ expression: map_res.c VideoItem( id: "9gbScp1JVN4", name: "Making Renaissance Costumes IN ONE DAY[ish]", - length: Some(1317), + duration: Some(1317), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9gbScp1JVN4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJBAPNoEovYX80iONt3IzuOVuA6Q", @@ -888,7 +888,7 @@ expression: map_res.c VideoItem( id: "qRao6FARFRo", name: "TURN THE TIDES - Harbor Agent Trailer // VALORANT", - length: Some(228), + duration: Some(228), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qRao6FARFRo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsDWarEGRn1W9V3MLrVO7d3WY-IQ", @@ -930,7 +930,7 @@ expression: map_res.c VideoItem( id: "F8sGGKxSYNM", name: "Chares Oliveira: I’ll shock the world vs. Islam Makhachev at UFC 280 | ESPN MMA", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F8sGGKxSYNM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDyGsylKlErNaV715pyvBrZauSkeA", @@ -972,7 +972,7 @@ expression: map_res.c VideoItem( id: "ZnQP13rYpUY", name: "Rochy RD, Tivi Gunz , Harryson, Onguito Wa, El Perrote Wz - Lokisla (Video Oficial) @Izy Music", - length: Some(265), + duration: Some(265), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZnQP13rYpUY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC7ChfY-IfOWPIkxa1xWoyLk0xYbg", @@ -1014,7 +1014,7 @@ expression: map_res.c VideoItem( id: "WArWsWRmdJw", name: "I made GeoGuessr in Among Us to challenge my friends...", - length: Some(1340), + duration: Some(1340), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WArWsWRmdJw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYZitzXsjECJhDvadhWwuWOVwZag", @@ -1056,7 +1056,7 @@ expression: map_res.c VideoItem( id: "wP9zsx04fWY", name: "WE ARE COMING! to a city near you!", - length: Some(59), + duration: Some(59), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg", @@ -1098,7 +1098,7 @@ expression: map_res.c VideoItem( id: "Wz0Gb4_Q5rM", name: "Mariners vs. Astros ALDS Game 1 Highlights (10/11/22) | MLB Highlights", - length: Some(584), + duration: Some(584), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Wz0Gb4_Q5rM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3PeeIiEOIsG032IQ3Px9SR_jiBQ", @@ -1140,7 +1140,7 @@ expression: map_res.c VideoItem( id: "ICULY_gTngs", name: "The MCU Has Been Taking Us For Granted.", - length: Some(1025), + duration: Some(1025), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ICULY_gTngs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2bUs7W_ix398D2rVgylzSIBnFGA", @@ -1182,7 +1182,7 @@ expression: map_res.c VideoItem( id: "bunhaERjxmE", name: "Frog Slime 🐸✨ | Ep. 11 | Minecraft Empires S2 1.19", - length: Some(608), + duration: Some(608), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bunhaERjxmE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBY6YgyyGN7BI_IeutMirrxP5QUGQ", @@ -1224,7 +1224,7 @@ expression: map_res.c VideoItem( id: "tDhfNCUqZDs", name: "Bandmanrill x Sha Ek - “Jiggy In Jersey Pt2” (Shot by @RARI DIGITAL)", - length: Some(110), + duration: Some(110), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tDhfNCUqZDs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC6lvjmM55o1L6INcwpSPLeFCzaQQ", @@ -1266,7 +1266,7 @@ expression: map_res.c VideoItem( id: "MEZe4chAeZA", name: "Dog and Chainsaw | Chainsawman Ep 1 Reaction", - length: Some(1077), + duration: Some(1077), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MEZe4chAeZA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYfqfJ9h6UWtybU8JFDtzUXJuV5w", @@ -1308,7 +1308,7 @@ expression: map_res.c VideoItem( id: "NMA_isZYsYQ", name: "KICK BACK", - length: Some(194), + duration: Some(194), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NMA_isZYsYQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU2OWhYt6nZn7kbdr6cs_PPjbDJQ", @@ -1350,7 +1350,7 @@ expression: map_res.c VideoItem( id: "qe6Oy8oEOhI", name: "Top 50 Amazon Prime Day October 2022 Deals (DAY 2!) 🔥 Better Deals Than Yesterday?!", - length: Some(752), + duration: Some(752), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qe6Oy8oEOhI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd34j8LOCJih9Fsnu-WS-M3qngVg", @@ -1392,7 +1392,7 @@ expression: map_res.c VideoItem( id: "odWKEfp2QMY", name: "Måneskin - THE LONELIEST (Official Video)", - length: Some(288), + duration: Some(288), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/odWKEfp2QMY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7SeHmB9MNWYkX8nDeCdXoAKZ6Yg", @@ -1434,7 +1434,7 @@ expression: map_res.c VideoItem( id: "BRb4U99OU80", name: "M3GAN - official trailer", - length: Some(148), + duration: Some(148), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BRb4U99OU80/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw-yFnWg5tK761MdrhmJOdMuMDGQ", @@ -1476,7 +1476,7 @@ expression: map_res.c VideoItem( id: "F-7rQBY8uIQ", name: "Lil Baby - Heyy (Official Video)", - length: Some(193), + duration: Some(193), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg", @@ -1518,7 +1518,7 @@ expression: map_res.c VideoItem( id: "3sPxvgrKwEg", name: "Overwatch 2 - SEASON 1 HERO TIER LIST", - length: Some(1183), + duration: Some(1183), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3sPxvgrKwEg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBA6xO6RKysWCSeACOsc3C1SBxPfA", @@ -1560,7 +1560,7 @@ expression: map_res.c VideoItem( id: "_akEYecFdyM", name: "Overwatch 2 is free but I still feel scammed", - length: Some(904), + duration: Some(904), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_akEYecFdyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbbuGm0P2mw1kuXHeVE2F0hFx7Yg", @@ -1602,7 +1602,7 @@ expression: map_res.c VideoItem( id: "6MKcY5wTcpY", name: "LEE CHAE YEON (이채연) - HUSH RUSH MV", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6MKcY5wTcpY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_0r3q7jLRcKOUvJGLeRjArMovGQ", @@ -1644,7 +1644,7 @@ expression: map_res.c VideoItem( id: "xIeYK9w03i4", name: "『チェンソーマン』第1話スペシャルエンディング / CHAINSAW MAN #1 Ending│Vaundy 「CHAINSAW BLOOD」", - length: Some(92), + duration: Some(92), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xIeYK9w03i4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWY5s8vA9p6_XE8aRRmVRuvHOqBw", @@ -1686,7 +1686,7 @@ expression: map_res.c VideoItem( id: "s4y_kzpCthQ", name: "Blaqbonez - Back In Uni (Official Music Video)", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/s4y_kzpCthQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBPk5VXjRm8aE7lX1CVMAxIrWzapA", @@ -1728,7 +1728,7 @@ expression: map_res.c VideoItem( id: "_SKVFtLtJws", name: "Charli D\'Amelio and Mark Ballas Jazz (Week 4) | Dancing With The Stars on Disney+", - length: Some(92), + duration: Some(92), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_SKVFtLtJws/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRpcP_LvuCOJdrLUwX8lnxrR2YmQ", @@ -1770,7 +1770,7 @@ expression: map_res.c VideoItem( id: "BtJPMqyhj_M", name: "Money Man - Armed & Dangerous (Official Video)", - length: Some(110), + duration: Some(110), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BtJPMqyhj_M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKQaUzq6QdywoVb9EkcReN98vaWg", @@ -1812,7 +1812,7 @@ expression: map_res.c VideoItem( id: "rge0deYBVv0", name: "Top 50 Amazon Prime Day October 2022 Deals 🤑 (Updated Hourly!!)", - length: Some(780), + duration: Some(780), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rge0deYBVv0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzmN2M4RTZM-dvs0bL5T4kTJ0lLg", @@ -1854,7 +1854,7 @@ expression: map_res.c VideoItem( id: "luXUJ9LJcy0", name: "Sounds from the Sideline: Week 5 at LAR | 2022", - length: Some(432), + duration: Some(432), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/luXUJ9LJcy0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCCpmvZp_lVu3h3X6-6ABP1Nc-PCQ", @@ -1896,7 +1896,7 @@ expression: map_res.c VideoItem( id: "avUEfUTGbhM", name: "Welding an excavator bucket and digging pond", - length: Some(1756), + duration: Some(1756), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/avUEfUTGbhM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANh1l5mzaeB_Y3b7VdTwMCBT3Crw", @@ -1938,7 +1938,7 @@ expression: map_res.c VideoItem( id: "bqEgXmTU2SI", name: "NEW 5-5-5 ACE PARAGON - The Goliath Doomship! (Bloons TD 6)", - length: Some(950), + duration: Some(950), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bqEgXmTU2SI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTLMyn3TvV9ujsk_FCwTb7gLmLsA", @@ -1980,7 +1980,7 @@ expression: map_res.c VideoItem( id: "xhYj9JJnLHM", name: "DDG 25th SURPRISE BIRTHDAY PARTY!!", - length: Some(3252), + duration: Some(3252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag", @@ -2022,7 +2022,7 @@ expression: map_res.c VideoItem( id: "RlbajBvxR0M", name: "Werewolf by Night - The MCU Tries to Be Creative Again", - length: Some(366), + duration: Some(366), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/RlbajBvxR0M/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDrKJhTwLFv537H7iODNIm-rdJAaA", @@ -2064,7 +2064,7 @@ expression: map_res.c VideoItem( id: "yX_DwPnkycc", name: "THE BEST RESULTS I\'VE SEEN YET! (PROGRESS UPDATE)", - length: Some(906), + duration: Some(906), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yX_DwPnkycc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPXdY5LCTadxPxXkG17mX25xiqoA", @@ -2106,7 +2106,7 @@ expression: map_res.c VideoItem( id: "CtpdMkKvB6U", name: "hi, I\'m Dream.", - length: Some(342), + duration: Some(342), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CtpdMkKvB6U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQqAxmXw6s3xgVPE4f9--KO_vctQ", @@ -2148,7 +2148,7 @@ expression: map_res.c VideoItem( id: "t6fIp7mMJ90", name: "what happened.", - length: Some(332), + duration: Some(332), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/t6fIp7mMJ90/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAU4FUfZhmWVoLFj0XTx8S9qa40xw", @@ -2190,7 +2190,7 @@ expression: map_res.c VideoItem( id: "dFlDRhvM4L0", name: "『チェンソーマン』ノンクレジットオープニング / CHAINSAW MAN Opening│米津玄師 「KICK BACK」", - length: Some(90), + duration: Some(90), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dFlDRhvM4L0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBEBYFDdOM1Ozmr3W9LOopJxN_P0A", @@ -2232,7 +2232,7 @@ expression: map_res.c VideoItem( id: "6T67I2w1G2U", name: "Extreme $1,000,000 Minecraft Challenge!", - length: Some(643), + duration: Some(643), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6T67I2w1G2U/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pX_5AAn1wpsBoaAOycfn0VTKFw", @@ -2274,7 +2274,7 @@ expression: map_res.c VideoItem( id: "DvkTX-AquQo", name: "Impossible 0.00001% Odds!", - length: Some(481), + duration: Some(481), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DvkTX-AquQo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDyzgTEw_hcJsgbdkES1jpVf5JRQ", @@ -2316,7 +2316,7 @@ expression: map_res.c VideoItem( id: "F-7rQBY8uIQ", name: "Lil Baby - Heyy (Official Video)", - length: Some(193), + duration: Some(193), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/F-7rQBY8uIQ/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY7ymysPG8lRSheq3-W4MbhtRmBg", @@ -2358,7 +2358,7 @@ expression: map_res.c VideoItem( id: "atwHMKZ0SLU", name: "Boosie in the trap!", - length: Some(9879), + duration: Some(9879), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/atwHMKZ0SLU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwEo-0SV6JIHJv5C570MVj8NOF0g", @@ -2400,7 +2400,7 @@ expression: map_res.c VideoItem( id: "Ut68FBnWbAI", name: "ok, let\'s talk about it. - The TryPod Ep. 181", - length: Some(4226), + duration: Some(4226), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ut68FBnWbAI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYyU_Bn4adi0X5zYDC4SiLWvbBgw", @@ -2442,7 +2442,7 @@ expression: map_res.c VideoItem( id: "_Z3QKkl1WyM", name: "Marvel Studios’ Black Panther: Wakanda Forever | Official Trailer", - length: Some(131), + duration: Some(131), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/_Z3QKkl1WyM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4FKEkGFypg_-RKBiNwaYebu2-Ag", @@ -2484,7 +2484,7 @@ expression: map_res.c VideoItem( id: "nMPCXuvL8EM", name: "The Super Mario Bros. Movie Direct", - length: Some(482), + duration: Some(482), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/nMPCXuvL8EM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYYByVEhQgy1LwCBhwJQI0yTRt-A", @@ -2526,7 +2526,7 @@ expression: map_res.c VideoItem( id: "SS7HXxy3_2c", name: "Try Guys - SNL", - length: Some(352), + duration: Some(352), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SS7HXxy3_2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD82-aIeAntzTzLV2B2r_DxDZsspw", @@ -2568,7 +2568,7 @@ expression: map_res.c VideoItem( id: "rvInpw0WGLc", name: "Town Hall 15 Is Here! Clash of Clans New Update Available Now!", - length: Some(71), + duration: Some(71), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rvInpw0WGLc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQvtDnFgRNeKVUdta-byfT-GB5Zg", @@ -2610,7 +2610,7 @@ expression: map_res.c VideoItem( id: "etV_nxVU6l8", name: "Wedding Stereotypes", - length: Some(676), + duration: Some(676), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/etV_nxVU6l8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnKF_WbQvYdKrkG8ATtN_vXzJxYg", @@ -2652,7 +2652,7 @@ expression: map_res.c VideoItem( id: "i7ytY9Onf9o", name: "I Met Dream In Real Life", - length: Some(569), + duration: Some(569), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/i7ytY9Onf9o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDBZtBV46pYtkX9iYznLGYBDV2sTg", @@ -2694,7 +2694,7 @@ expression: map_res.c VideoItem( id: "jYSlpC6Ud2A", name: "Stray Kids \"CASE 143\" M/V", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jYSlpC6Ud2A/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2-XAcmCTxdI3vOWaftHv6XoRIjA", @@ -2736,7 +2736,7 @@ expression: map_res.c VideoItem( id: "XKRW1zgkCVc", name: "Where Animals\' Scientific Names Come From", - length: Some(581), + duration: Some(581), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XKRW1zgkCVc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDMs2hX0Ck9rFu-oRkmrL0eHM71qw", @@ -2778,7 +2778,7 @@ expression: map_res.c VideoItem( id: "Th_O5kayAM0", name: "Que Vas A Hacer - Nivel Codiciado X Jose Mejia (Video Oficial)", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Th_O5kayAM0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBgHmQpwmdauYj6wsz55dkPM39TAA", @@ -2820,7 +2820,7 @@ expression: map_res.c VideoItem( id: "O-mtWoF8umw", name: "Yahritza Y Su Esencia & Ivan Cornejo - Inseparables (Official Video)", - length: Some(178), + duration: Some(178), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O-mtWoF8umw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdQW2CJyeeztP1cI0vepZg97Hig", @@ -2862,7 +2862,7 @@ expression: map_res.c VideoItem( id: "rFO1iqDpMZU", name: "I Collected Every Illegal Item In Minecraft Hardcore", - length: Some(1402), + duration: Some(1402), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rFO1iqDpMZU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcLAY1WamnInJO-1Nboej_DM9-6A", @@ -2904,7 +2904,7 @@ expression: map_res.c VideoItem( id: "-1vsm5bhoyE", name: "Grupo Frontera - No Se Va (Letra Oficial)", - length: Some(192), + duration: Some(192), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-1vsm5bhoyE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDD0Coytauq-4Xhp5W4b864_CsLpQ", @@ -2946,7 +2946,7 @@ expression: map_res.c VideoItem( id: "XQUiabixHzo", name: "I Speedran the $0.01 Challenge", - length: Some(933), + duration: Some(933), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XQUiabixHzo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKl4svV224P1eNszwLKSlbVjp5ug", @@ -2988,7 +2988,7 @@ expression: map_res.c VideoItem( id: "8TzH0ayIcdo", name: "The Darkest Story I\'ve Ever Read", - length: Some(4383), + duration: Some(4383), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8TzH0ayIcdo/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCA_OSaK05YpZIF5EdSLzLT0YU58g", @@ -3030,7 +3030,7 @@ expression: map_res.c VideoItem( id: "xkwc5TZmdIs", name: "GloRilla Glows Up In Every Way With Performance Of \"Tomorrow!\" & \"F.N.F.\" | Hip Hop Awards \'22", - length: Some(146), + duration: Some(146), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xkwc5TZmdIs/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAvkSqlB9LUtsH5VyLSR-wRYcl6w", @@ -3072,7 +3072,7 @@ expression: map_res.c VideoItem( id: "eJPLiT1kCSM", name: "Museums: Last Week Tonight with John Oliver (HBO)", - length: Some(2049), + duration: Some(2049), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/eJPLiT1kCSM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN3_gN9YEBvh7PwVYx3KysJjhuxg", @@ -3114,7 +3114,7 @@ expression: map_res.c VideoItem( id: "zwa7NzNBQig", name: "GloRilla, Cardi B - Tomorrow 2 (Official Music Video)", - length: Some(214), + duration: Some(214), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zwa7NzNBQig/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPmMVF2V__0t_FLFknkZ-bUtDklA", @@ -3156,7 +3156,7 @@ expression: map_res.c VideoItem( id: "BHFcF0zcCgA", name: "Hurricane Ian Destroyed My Hometown!", - length: Some(647), + duration: Some(647), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BHFcF0zcCgA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8rqMEm3EvFYXSRQoYAWJ_NIQCAQ", @@ -3198,7 +3198,7 @@ expression: map_res.c VideoItem( id: "xhYj9JJnLHM", name: "DDG 25th SURPRISE BIRTHDAY PARTY!!", - length: Some(3252), + duration: Some(3252), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xhYj9JJnLHM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGD3YlTctkj1ph4cwE3vVHXtb5Ag", @@ -3240,7 +3240,7 @@ expression: map_res.c VideoItem( id: "9YsEQaW0f2c", name: "Eddie Robinson Jr. goes off on Deion Sanders and Coach Prime responds", - length: Some(439), + duration: Some(439), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9YsEQaW0f2c/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfutvJ5xzE0mXHpl-ND0ejlF7GSQ", @@ -3282,7 +3282,7 @@ expression: map_res.c VideoItem( id: "m-SB3cpzLUU", name: "i\'m sorry.", - length: Some(322), + duration: Some(322), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/m-SB3cpzLUU/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADeuenvZbbzaLfUD76EmkqoK2XqQ", @@ -3324,7 +3324,7 @@ expression: map_res.c VideoItem( id: "TRGHIN2PGIA", name: "Christian Bale Breaks Down His Most Iconic Characters | GQ", - length: Some(1381), + duration: Some(1381), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDPK6QNVDxrPskvyPbELvgi5ER-9Q", @@ -3366,7 +3366,7 @@ expression: map_res.c VideoItem( id: "U9HAaHc3wnc", name: "Guess Iono’s Partner Pokémon! 🤔 | Pokémon Scarlet and Pokémon Violet", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/U9HAaHc3wnc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBN7eQhGDi_EFbN4jlcxln2ZM_lFw", @@ -3408,7 +3408,7 @@ expression: map_res.c VideoItem( id: "4ywb2pXRYZI", name: "Quavo & Takeoff - To The Bone feat. YoungBoy Never Broke Again (Official visualizer)", - length: Some(284), + duration: Some(284), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4ywb2pXRYZI/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmcKY4axF-lri29VZdveVQ-PnhoQ", @@ -3450,7 +3450,7 @@ expression: map_res.c VideoItem( id: "wP9zsx04fWY", name: "WE ARE COMING! to a city near you!", - length: Some(59), + duration: Some(59), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/wP9zsx04fWY/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIjDcaW7ckphUnayl-n6pzlAYFjg", @@ -3492,7 +3492,7 @@ expression: map_res.c VideoItem( id: "9acxn7qAST4", name: "Overwatch 2 Animated Short | “Kiriko”", - length: Some(587), + duration: Some(587), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9acxn7qAST4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdF-kdruGuT-XY8lfOvcyuHICr0g", @@ -3534,7 +3534,7 @@ expression: map_res.c VideoItem( id: "8-tQKwB3RKw", name: "Big Boogie - Backend (Remix) Shot by @Camera Gawd", - length: Some(164), + duration: Some(164), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/8-tQKwB3RKw/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_ya-jo9iSbGcwaV4bcKKpnuNUcw", @@ -3576,7 +3576,7 @@ expression: map_res.c VideoItem( id: "5HNy7b6bz4g", name: "I Tried Out for an NBA Team and This Happened…", - length: Some(805), + duration: Some(805), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5HNy7b6bz4g/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFGg1F188jylbs7w7_LC1vIGmrHA", @@ -3618,7 +3618,7 @@ expression: map_res.c VideoItem( id: "Uq9gPaIzbe8", name: "Sam Smith, Kim Petras - Unholy", - length: Some(276), + duration: Some(276), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Uq9gPaIzbe8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB20DY1i0dGRazj2X17cJ9ac2B_ZA", @@ -3660,7 +3660,7 @@ expression: map_res.c VideoItem( id: "78sCR9mwBV4", name: "How Draymond Green Was after hitting Jordan Poole in practice", - length: Some(76), + duration: Some(76), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/78sCR9mwBV4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjPBTgNYle-y44-wEwqvCuR81VUw", @@ -3702,7 +3702,7 @@ expression: map_res.c VideoItem( id: "2U9kNnHvE8o", name: "LAKERS at WARRIORS | NBA PRESEASON FULL GAME HIGHLIGHTS | October 9, 2022", - length: Some(585), + duration: Some(585), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2U9kNnHvE8o/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAio7KicdLbL_aj4CxCaxBZ6NtYkA", @@ -3744,7 +3744,7 @@ expression: map_res.c VideoItem( id: "xXGFb19rLtE", name: "Bray Wyatt returns to WWE: WWE Extreme Rules 2022 (WWE Network Exclusive)", - length: Some(106), + duration: Some(106), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xXGFb19rLtE/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBb72TJR1vnUOrlV2LA4_bJjmi_5A", @@ -3786,7 +3786,7 @@ expression: map_res.c VideoItem( id: "7IGD5URBGZ8", name: "We Got Engaged", - length: Some(1325), + duration: Some(1325), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7IGD5URBGZ8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArNHqdfOCsU-_-O9g4hGna9iKODw", @@ -3828,7 +3828,7 @@ expression: map_res.c VideoItem( id: "5sRVxb2wkGM", name: "We Bought Every Weird Ad We Saw", - length: Some(1602), + duration: Some(1602), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5sRVxb2wkGM/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXej_beyPyWOtxMGWzPqyqZTqoTA", @@ -3870,7 +3870,7 @@ expression: map_res.c VideoItem( id: "4YEEDqke-D0", name: "Jump into a Paldean Journey | Pokémon Scarlet and Pokémon Violet", - length: Some(847), + duration: Some(847), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4YEEDqke-D0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSK4tHB8wlTj2l2WVLtwX_ybVr6Q", @@ -3912,7 +3912,7 @@ expression: map_res.c VideoItem( id: "rYjmxcV1se4", name: "Film Theory: Dora is CURSED! (Dora The Explorer)", - length: Some(1085), + duration: Some(1085), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/rYjmxcV1se4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA-U-oTzZlg6Tw4UDUaUdLuqbVpHQ", @@ -3954,7 +3954,7 @@ expression: map_res.c VideoItem( id: "y8qhSduN6sk", name: "PC Games on Console - Scott The Woz", - length: Some(1912), + duration: Some(1912), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/y8qhSduN6sk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAKr5KTGdpoHjcP4E_wswYN46eDFA", @@ -3996,7 +3996,7 @@ expression: map_res.c VideoItem( id: "yTLzGSJJ5ts", name: "I Spent 50 Hours Customizing The World\'s Largest Xbox!", - length: Some(886), + duration: Some(886), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yTLzGSJJ5ts/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_jLg-SFII8oghifvKnU8q_witGA", @@ -4038,7 +4038,7 @@ expression: map_res.c VideoItem( id: "x1u8-i2pWg0", name: "Witness Hurricane Ian As It Hits My Home In Cape Coral, FL And View The Aftermath", - length: Some(855), + duration: Some(855), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/x1u8-i2pWg0/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB1rjvuJLU6f3DpFqIoA6tFDQJvGg", @@ -4080,7 +4080,7 @@ expression: map_res.c VideoItem( id: "FfWtIaDtfYk", name: "Let’s Travel to The Most Extreme Place in The Universe", - length: Some(766), + duration: Some(766), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/FfWtIaDtfYk/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvWiqbrr3zFTch1lCD52GIojWf8Q", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd.snap new file mode 100644 index 0000000..9248fb4 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd.snap @@ -0,0 +1,955 @@ +--- +source: src/client/video_details.rs +expression: map_res.c +--- +Paginator( + count: Some(20617), + items: [ + Comment( + id: "UgyNTT8uxDEjgYqybIF4AaABAg", + text: RichText([ + Text( + text: "⚠\u{fe0f} Important notice: if you put any symbol immediately after markup, it will not work: *here is the comma*, without space.\n\nYou should ", + ), + Text( + text: "leave space before and after", + style: Style( + bold: true, + ), + ), + Text( + text: " , to make it work.\n\nSame for _underscore_, and -hyphen-.\n\nLeave space before opening and after closing ", + ), + Text( + text: "underscore", + style: Style( + italic: true, + ), + ), + Text( + text: " and ", + ), + Text( + text: "hyphen.", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " Put all dots and commas inside markup.", + ), + ]), + author: Some(ChannelTag( + id: "UCUJfyiofeHQTmxKwZ6cCwIg", + name: "@kibizoid", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago (edited)", + like_count: Some(293), + reply_count: 220, + replies: Paginator( + count: Some(220), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5TlRUOHV4REVqZ1lxeWJJRjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: true, + hearted: true, + ), + Comment( + id: "UgycWgNOoon0A4EV9LZ4AaABAg", + text: RichText([ + Text( + text: "Me: tests out fonts", + style: Style( + bold: true, + ), + ), + Text( + text: "\nFriend: ", + ), + Text( + text: "Why are you doing this?", + style: Style( + bold: true, + ), + ), + Text( + text: "\nMe: ", + ), + Text( + text: "my goals are beyond your understanding", + style: Style( + italic: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCr0PeEY_am9P-GobbfvKECw", + name: "@userfjdrg", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/Zr2PmQsrD4obL2n5HS18X3jKXGJ-HFjIJS_OcZv4I5VAk5HuLRCpzFprY5Hh7n23-FCURVJi=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago", + like_count: Some(80), + reply_count: 34, + replies: Paginator( + count: Some(34), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5Y1dnTk9vb24wQTRFVjlMWjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "Ugy5iq4M1c3WS3lGmih4AaABAg", + text: RichText([ + Text( + text: "To-do list\n• ", + ), + Text( + text: "be dumb", + style: Style( + strikethrough: true, + ), + ), + Text( + text: "\n• ", + ), + Text( + text: "get kicked out when i can legally live alone", + style: Style( + strikethrough: true, + ), + ), + Text( + text: "\n• ", + ), + Text( + text: "spend money on pointless things", + style: Style( + strikethrough: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCDB5XvpUB8cEvjbWewlp28w", + name: "@T0r0xFan", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/PPL5vj6-pXFpaLa41yet34OHGcEYt06WPQLmruaiFJSM0eLmn9ZQW0QgTtdafDBO-kNy2oukVA=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago (edited)", + like_count: Some(48), + reply_count: 22, + replies: Paginator( + count: Some(22), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5NWlxNE0xYzNXUzNsR21paDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "UgxqDIVVcoigjtx4Dtl4AaABAg", + text: RichText([ + Text( + text: "omg ", + ), + Text( + text: "thank", + style: Style( + italic: true, + ), + ), + Text( + text: " you! Ive been looking for this tutorial for a ", + ), + Text( + text: "year", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "forever", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCxa4xER0-cFbcIYp0ZIeVaw", + name: "@LunasVibe", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/P5Io1kQb7GRwe4pgNsaYFEm30hDl_T7Tp5rZo7aYWFkqbV6Yp_lCYVuaaK7O3SEsnIX_5iC1Hw=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgxDQfVQdYaWR-VUM-94AaABAg", + text: RichText([ + Text( + text: "tysm", + style: Style( + bold: true, + ), + ), + Text( + text: "\n", + ), + Text( + text: "i finally learned it", + style: Style( + italic: true, + ), + ), + Text( + text: "\n", + ), + Text( + text: "other channel never go straight to the point", + style: Style( + strikethrough: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UC8cojSRuyZT74Bs_b5AecTA", + name: "@Bp_bts_skz_for_life", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/0zFBRYv8wo2JqzkyMk29xgC8zD1nKYNSSoD3Zo9XP8t9rHrbTYEEt0gdu0O3XS7Scpza3JJKog=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago (edited)", + like_count: Some(1), + reply_count: 1, + replies: Paginator( + count: Some(1), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RFFmVlFkWWFXUi1WVU0tOTRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgxFvrmwec-jmfQyGRR4AaABAg", + text: RichText([ + Text( + text: "I like how this was straight to the point.", + style: Style( + italic: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "Unlike other channels lol", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "Thank you!", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCCyIVS_s1-jA48pPft8AifA", + name: "@ishouldbesleepingalready", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/N90y_XdoDP6Rd1v6Z5OpDH8jMtvqpU1qnF6DJoIL6qcLiWfZK7ok8u_IxqSxJazaQH6oqhEbqA=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago", + like_count: Some(241), + reply_count: 65, + replies: Paginator( + count: Some(65), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RnZybXdlYy1qbWZReUdSUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugy-3OYEcwxkvyrrCqN4AaABAg", + text: RichText([ + Text( + text: "To the person who is reading this: ", + ), + Text( + text: "You\'re intelligent and smart, stay safe", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCQklgcA8quxZm5pgNAsVJAQ", + name: "@blocking948", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_nAg9bEjW4otWlryJwqAgiDRLzy8ZX-ROqkDY1ksQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "3 years ago (edited)", + like_count: Some(711), + reply_count: 250, + replies: Paginator( + count: Some(250), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5LTNPWUVjd3hrdnlyckNxTjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "Ugylw3ss_xv9svWbRud4AaABAg", + text: RichText([ + Text( + text: "‘ ", + ), + Text( + text: "life could be a dream, life could be a dream", + style: Style( + bold: true, + italic: true, + ), + ), + Text( + text: " ‘", + ), + ]), + author: Some(ChannelTag( + id: "UCSyjdP7Duhns4Ybncy6ObZA", + name: "@malarchee0899", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/dSwRzOfoKrN4yc58uhFlIyqBXmbi6B14-On-wEEM_S6Nr6aDHTkG-xVkI1-u-uBwqKqodEgrMro=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "13 days ago", + like_count: Some(2), + reply_count: 1, + replies: Paginator( + count: Some(1), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5bHczc3NfeHY5c3ZXYlJ1ZDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgydXobRB0F5dW1KVsF4AaABAg", + text: RichText([ + Text( + text: "Woah!", + style: Style( + bold: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "thank you for showing me this", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "I really needed it!", + style: Style( + italic: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UC9f9uJgwsCBBHA4CioIzdkA", + name: "@fatimagarcia3162", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/cKmBVKqq9mkW4F355y3UtUw4POwTWKi-0LUYLDx85vffRd7pU-LECXvudUrHH_9qobo6A1kM=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgwmFn6ejKltcZ_BZvl4AaABAg", + text: RichText([ + Text( + text: "The fitness gram pacer test is a multistage aerobic capacity test that progressively gets more difficult as it continues.", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCIymYi-_AJ10pYrh8sqTBTg", + name: "@No-du9is", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_lPWhGGvIIA08s4u_-Lwyx88rGSRksOFeYHipE=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago", + like_count: Some(22), + reply_count: 12, + replies: Paginator( + count: Some(12), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3bUZuNmVqS2x0Y1pfQlp2bDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "UgxtXH6bWRWm8ahavfR4AaABAg", + text: RichText([ + Text( + text: "YouTube got a new update(or probably it\'s a bug) and for that it\'s not showing bold/strikethrough/italic on the app but it\'s showing on other places.", + ), + ]), + author: Some(ChannelTag( + id: "UCyaflzzOH0GC683DlQ-fzwg", + name: "@HaruXen", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "3 years ago", + like_count: Some(167), + reply_count: 337, + replies: Paginator( + count: Some(337), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4dFhINmJXUldtOGFoYXZmUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: true, + pinned: false, + hearted: false, + ), + Comment( + id: "UgyHg3XnjBV935da_Lh4AaABAg", + text: RichText([ + Text( + text: "omg it works i actuallly cant believe this ive been wanting to do this for ages thankyou so much!", + style: Style( + strikethrough: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCFL5d8rMCfbxppODSbRLOgQ", + name: "@Auf-dem-weg-zum-sieg", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/oi4vbSV3Cx9G97QcHkSMWL98LksC6rnTLoq93T5sOO8MNuZPXWEXq9Nqkp8XYF93L2WklHADmNY=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "4 days ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgxIL5emXyn42htlfZZ4AaABAg", + text: RichText([ + Text( + text: "I did know how to do that writing where the text is highlighted before, and now after I watched this video I knew even how to write those styles of text.", + ), + ]), + author: Some(ChannelTag( + id: "UChkVaXCYN_QcaE50zETAMOg", + name: "@CasamTheAnimator", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ctUbv8QpWPZRZumEBTVhlSSxg0JfiyvJ40nrWj_0ivOy5s6OoPK7iNp01diskRLs1Hig4ZE82w=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "3 weeks ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgwMKY-89XCdCVB9bXp4AaABAg", + text: RichText([ + Text( + text: "Nobody asked for, but everyone needed", + ), + ]), + author: Some(ChannelTag( + id: "UCDezbPSXn3awzhxVm7qhGtg", + name: "@0_Ed", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/4DWdgRIJ0lEV-e4GZFrdf8MGxQBtML2aix2orKBt3iM6QBrh7Kg1ur1FZlyRmqWpWnRPRIex9w=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "3 years ago", + like_count: Some(12), + reply_count: 5, + replies: Paginator( + count: Some(5), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3TUtZLTg5WENkQ1ZCOWJYcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "UgyfuG2sCDvgnRUYHJp4AaABAg", + text: RichText([ + Text( + text: "me: types bold\n\nHaruTutorial: ", + ), + Text( + text: "your bald", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCge96FdHXkARBjzPhdYl8Sg", + name: "@stargazeu", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/JoeW_qNuf9b6BusB3E6JShizqRLB4jR3NaTnsnzvpUQ1KW88OcS74_Sx1h6vjZiXK2uOxnrUNeY=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "3 years ago", + like_count: Some(42), + reply_count: 15, + replies: Paginator( + count: Some(15), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5ZnVHMnNDRHZnblJVWUhKcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "UgwAXndNNEa1h-VVIC94AaABAg", + text: RichText([ + Text( + text: "the McDonald’s don’t feel like turning the Icecream machine on", + style: Style( + italic: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCkmY4kQ8e8gDRllV485Rd9g", + name: "@Flowershowrise", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/c2iMsq-wFjKRjTDqPy14UpMI1B9hNms4moW9H7xtPjOMI0vjaHwN94me23upYar-8CE3s6QkFw=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago", + like_count: Some(2), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgwwEBqareQ0tpsW7RR4AaABAg", + text: RichText([ + Text( + text: "YOOO THIS IS SICK! THANK YOU MAN!", + style: Style( + bold: true, + italic: true, + strikethrough: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UChIbg4dGguUwzg7O-xmi57g", + name: "@ziaaaaa.", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/HEAdH93oAQu2ScXNmiKIISapv5O9dKSVLuT3gD1zJhSgHqTaptL7JPun6A5GZqg58_C75_OPkQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgxnFMLrpvbCWzHidml4AaABAg", + text: RichText([ + Text( + text: "Someone must honor him", + style: Style( + bold: true, + ), + ), + Text( + text: " , this man is ", + ), + Text( + text: "the best", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " , no , he is a ", + ), + Text( + text: "LEGEND", + style: Style( + bold: true, + ), + ), + Text( + text: " . ", + ), + Text( + text: "We must all thank him for his video", + style: Style( + italic: true, + ), + ), + Text( + text: " and for ", + ), + Text( + text: "getting to the point immediately.", + style: Style( + bold: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCeGJuvHZqqebHTE_Kz2zyug", + name: "@Dahackabarade", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/csf-cEr2z4uWg8ZpVEPqgS2D2ZUHKBAJWnIbnzQCRtAlioSlUbtQZAyx76tnyfpXpixrsKke6DE=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago (edited)", + like_count: Some(11), + reply_count: 5, + replies: Paginator( + count: Some(5), + items: [], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4bkZNTHJwdmJDV3pIaWRtbDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZw%3D%3D"), + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "UgwCIwmF6synP7UF_wV4AaABAg", + text: RichText([ + Text( + text: "Never gonna give you up.", + style: Style( + bold: true, + ), + ), + Text( + text: " Im gonna let u down", + ), + ]), + author: Some(ChannelTag( + id: "UCyrDrBrWvXwIhf2s2F1dq-Q", + name: "@imnotjust...2326", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/Clzb1GD_KnRm9u7mOAN165HZO_H0jhXQlRG8YvEjqkDuBUNibGkclRyRZIdhi-yJhC4hHorGLQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 years ago", + like_count: Some(14), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: true, + ), + Comment( + id: "Ugyb5Wy91Yon69o3wLh4AaABAg", + text: RichText([ + Text( + text: "Thank you for being ", + ), + Text( + text: "A Legend", + style: Style( + strikethrough: true, + ), + ), + Text( + text: " No, ", + ), + Text( + text: "The Goat", + style: Style( + bold: true, + ), + ), + Text( + text: " ", + ), + Text( + text: "Lets go dude", + style: Style( + italic: true, + ), + ), + ]), + author: Some(ChannelTag( + id: "UCPCgaC_EJlS5RpRRWPHWvKA", + name: "@gfghdgfghd6391", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_n0lpwvjOP9HO_XHxzInwQoqQ7qIXeR0SqZVbCE=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "1 month ago", + like_count: Some(0), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + ], + ctoken: Some("Eg0SC1FpcDFWa1R1TTcwGAYy4gIKuAJnZXRfcmFua2VkX3N0cmVhbXMtLUNxWUJDSUFFRlJlMzBUZ2Ftd0VLbGdFSTJGOFFnQVFZQnlLTEFSdUNtdFZ5a3dZMFFzVVVvM3I0LUY0OWU2d3RGSGFjbDIxS0Nsd3M4ZFZNaGdDdm9VWFhac2NZNXVncURIaUNiQVpveUczUEh6MTRPQ0tJV1BZTm9PTnN6dlFPVDZkaFZXMGRiSlZNelJXSW5QTm5QY0pyTmhQbzAyT1ZuamlVcHJTTHc1UEZxVHFBRkxlYXEtSHQtdU5uZkp1SzItMXVhQkp2aWE3S183QzgzOURiekJhY2tFeVRzUUFRRkJJRkNJZ2dHQUFTQndpSElCQUJHQUFTQlFpb0lCZ0FFZ1VJaVNBWUFCSUhDSVVnRUFrWUFSSUhDSVFnRUFzWUFSZ0EiESILUWlwMVZrVHVNNzAwAHgBKBRCEGNvbW1lbnRzLXNlY3Rpb24%3D"), + endpoint: browse, +) diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd_reply.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd_reply.snap new file mode 100644 index 0000000..71403ef --- /dev/null +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_comments_20240401_frameworkupd_reply.snap @@ -0,0 +1,351 @@ +--- +source: src/client/video_details.rs +expression: map_res.c +--- +Paginator( + count: None, + items: [ + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw", + text: RichText([ + Text( + text: "Fact🙌🏻", + ), + ]), + author: Some(ChannelTag( + id: "UC4I0-MXGyTRsc1tsJrDMh2A", + name: "@Sadaf788", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/uIXOBEBIhYn6Y8cQHlhaGGnCqOqS8PI5YR_Cx28qR_Y_p1qkjHC8V68iwxfeJ20eQ3zp81owJ64=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(800), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ", + text: RichText([ + Text( + text: "Facts", + ), + ]), + author: Some(ChannelTag( + id: "UCdJ0CAWWa1rRjRbVrQUrU_w", + name: "@Biggest_Onceu", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/dHe_Zmr-7EueUz0R-BbuFoGwRyNMXwa3gb_GJMgAie9yU5PM6LbgTlNJ1zivRxnjiFg2nrlF1Es=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(530), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI", + text: RichText([ + Text( + text: "Faacttts", + ), + ]), + author: Some(ChannelTag( + id: "UCPPhfcNhQ768F0Hhk3-25hA", + name: "@neni996", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/t__fCiOIhKCg2BwaxaRog9F_a5uemd8rTEvwzWYl6WeLn-nN9xEW0FvxUtM0fQrh2Dj_6ENsGQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(412), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z", + text: RichText([ + Text( + text: "REAL", + ), + ]), + author: Some(ChannelTag( + id: "UCQyomFJDEQtC2lbQ6E7QUGA", + name: "@momolvs", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/nt6GjcwAs8NPgaF29pn-cHTPmPAwQC_e_lXQHGDjZJGSRKzsH4s3le8Wpg0ByAUvPwTSHWe0OA=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(312), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ", + text: RichText([ + Text( + text: "FR!!", + ), + ]), + author: Some(ChannelTag( + id: "UC9HOPOf3gD3aw6Ej9WZ-rYg", + name: "@user-vv9yp1fh8w", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_nqyUCWW7jqWrg_39XNQ18-acPouL6wyHeQnZOMbmlSa9x2YGWINkfU1DLcvaXw=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(187), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL", + text: RichText([ + Text( + text: "fato.", + ), + ]), + author: Some(ChannelTag( + id: "UCW6ua0VDEFz7SyVMX01fTCA", + name: "@millenatwice", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/rInaNzUF3JLL_pCNfZtZlf2cHipf1yM4grr8VGJRHocwOQiuq1x7kUVi24q3ydtDC0j8bqbw2vA=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(165), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD", + text: RichText([ + Text( + text: "For sure!! TWICE is always TWICE!! They always give GOOD MUSIC", + ), + ]), + author: Some(ChannelTag( + id: "UCqDSps4SV0v8Dzf8esr6ScQ", + name: "@Its_me_hi_good", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_nfh9rWK7_gae1YkUgKuq13G9OUpxQCqrXAAi1hfPkCvHeHORbq3DUTYm7b5eoy=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(341), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him", + text: RichText([ + Text( + text: "Fr", + ), + ]), + author: Some(ChannelTag( + id: "UCFA4BaLyvM1DDNsFyE_BHqQ", + name: "@amanpreetbrar7836", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_n1M-xxgSLIqe17kDv-i-tPn23FT1ywabpRAQ=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(84), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7", + text: RichText([ + Text( + text: "Presave I got you and with youth on spotify", + ), + ]), + author: Some(ChannelTag( + id: "UCxMDESp088wGItVM4xXACgw", + name: "@RitaOnce9", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/hVTumbLCpmtJw0c2mq1B-ES5W3kdYPqnNrtzEcUhxCoUN6dAutXc6exaPRnBMLM6Jw1ILPoBDg=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(112), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + Comment( + id: "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK", + text: RichText([ + Text( + text: "real", + ), + ]), + author: Some(ChannelTag( + id: "UCqeOr9ddrs_d6OgboKjk6zw", + name: "@twiceupremacy", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AIdro_lpKYjxtRm1HSjv3tFvGwrvnRILmJoQrPTBBOFG=s88-c-k-c0x00ffffff-no-rj", + width: 88, + height: 88, + ), + ], + verification: None, + subscriber_count: None, + )), + publish_date: "[date]", + publish_date_txt: "2 months ago", + like_count: Some(75), + reply_count: 0, + replies: Paginator( + count: Some(0), + items: [], + ctoken: None, + endpoint: browse, + ), + by_owner: false, + pinned: false, + hearted: false, + ), + ], + ctoken: Some("Eg0SC2hhZjY3ZUtGMHVvGAYy1wEKUGdldF9jb21tZW50X3dpdGhfcmVwbGllc19zdHJlYW0tLUNnZ0lnQVFWRjdmUk9CSUZDS0FnR0FFWUFDSU9DZ3dJeXUzdXJRWVE2Tkt2NGdFGlASGlVnenUtdDQ4dlY5U2pkZVdJTWg0QWFBQkFnIgIIACoYVUNhTzZUWXRsQzhVNXR0ejYyaFRyWmdnMgtoYWY2N2VLRjB1b0AASDKCAQIIASgKQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZw%3D%3D"), + endpoint: browse, +) diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap index a360227..6efe469 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap @@ -149,7 +149,7 @@ VideoDetails( VideoItem( id: "aRpkasmB6so", name: "18 de setembro de 2022", - length: Some(184), + duration: Some(184), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aRpkasmB6so/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBeNO-THn7_jo4Qy5uA9y_3ilD2TA", @@ -186,7 +186,7 @@ VideoDetails( VideoItem( id: "lCXqNCd0m10", name: "aespa(エスパ) Savage + Next Level + Black Mamba💕Stage Mix Compilation🔥에스파 무대모음 KBS Music Bank", - length: Some(898), + duration: Some(898), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/lCXqNCd0m10/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHH0ng9zLs0Vy4d6oTsahpPFj31w", @@ -223,7 +223,7 @@ VideoDetails( VideoItem( id: "tDukIfFzX18", name: "[MV] Hwa Sa(화사) _ Maria(마리아)", - length: Some(231), + duration: Some(231), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tDukIfFzX18/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0F06QIAvjOJc_7TmQYcfKN5Zfaw", @@ -260,7 +260,7 @@ VideoDetails( VideoItem( id: "e-ORhEE9VVg", name: "Taylor Swift - Blank Space", - length: Some(273), + duration: Some(273), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/e-ORhEE9VVg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK6z4g715U9cgNRnG2IZ4wEQZBkA", @@ -297,7 +297,7 @@ VideoDetails( VideoItem( id: "qfVuRQX0ydQ", name: "[MV] Weeekly(위클리) _ After School", - length: Some(225), + duration: Some(225), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qfVuRQX0ydQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArxgEVeqsLChXxDMe7SmFGnesqmQ", @@ -334,7 +334,7 @@ VideoDetails( VideoItem( id: "tyrVtwE8Gv0", name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", - length: Some(249), + duration: Some(249), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g", @@ -371,7 +371,7 @@ VideoDetails( VideoItem( id: "X-uJtV8ScYk", name: "Stray Kids \"Back Door\" M/V", - length: Some(218), + duration: Some(218), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/X-uJtV8ScYk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDTw325wBimEPkWb6vRUPSj2b13gw", @@ -408,7 +408,7 @@ VideoDetails( VideoItem( id: "MjCZfZfucEc", name: "ITZY “LOCO” M/V @ITZY", - length: Some(233), + duration: Some(233), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/MjCZfZfucEc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6oWVmDxMyArxL6GuaFhT_vwg_nA", @@ -445,7 +445,7 @@ VideoDetails( VideoItem( id: "2FzSv66c7TQ", name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", - length: Some(3441), + duration: Some(3441), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA", @@ -482,7 +482,7 @@ VideoDetails( VideoItem( id: "CevxZvSJLk8", name: "Katy Perry - Roar (Official)", - length: Some(270), + duration: Some(270), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CevxZvSJLk8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCEgRARw7Hrci5d3vmqm-ZWYOe-zA", @@ -519,7 +519,7 @@ VideoDetails( VideoItem( id: "bwmSjveL3Lc", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", - length: Some(244), + duration: Some(244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", @@ -556,7 +556,7 @@ VideoDetails( VideoItem( id: "CM4CkVFmTds", name: "TWICE \"I CAN\'T STOP ME\" M/V", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", @@ -593,7 +593,7 @@ VideoDetails( VideoItem( id: "ioNng23DkIM", name: "BLACKPINK - \'How You Like That\' M/V", - length: Some(184), + duration: Some(184), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ", @@ -630,7 +630,7 @@ VideoDetails( VideoItem( id: "BL-aIpCLWnU", name: "Black Mamba", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BL-aIpCLWnU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFFU1Bs-mHwS-BGXCbvWM2SS41kw", @@ -667,7 +667,7 @@ VideoDetails( VideoItem( id: "Jh4QFaPmdss", name: "(G)I-DLE - \'TOMBOY\' Official Music Video", - length: Some(198), + duration: Some(198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", @@ -704,7 +704,7 @@ VideoDetails( VideoItem( id: "WPdWvnAAurg", name: "aespa 에스파 \'Savage\' MV", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", @@ -741,7 +741,7 @@ VideoDetails( VideoItem( id: "Z7yNvMzz2zg", name: "Red Velvet 레드벨벳 \'Psycho\' Performance Video", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Z7yNvMzz2zg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD2ES19GaWF-U_La_tC7pFwGAL2fQ", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap index 68e704d..1310e6a 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap @@ -149,7 +149,7 @@ VideoDetails( VideoItem( id: "WPdWvnAAurg", name: "aespa 에스파 \'Savage\' MV", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", @@ -186,7 +186,7 @@ VideoDetails( VideoItem( id: "4TWR90KJl84", name: "aespa 에스파 \'Next Level\' MV", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", @@ -223,7 +223,7 @@ VideoDetails( VideoItem( id: "uR8Mrt1IpXg", name: "Red Velvet 레드벨벳 \'Psycho\' MV", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", @@ -260,7 +260,7 @@ VideoDetails( VideoItem( id: "UUUWIGx3hDE", name: "ITZY \"WANNABE\" Performance Video", - length: Some(198), + duration: Some(198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UUUWIGx3hDE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAe05b8SVKrrSU0MSOcxluyp1R_aA", @@ -297,7 +297,7 @@ VideoDetails( VideoItem( id: "NoYKBAajoyo", name: "EVERGLOW (에버글로우) - DUN DUN MV", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", @@ -334,7 +334,7 @@ VideoDetails( VideoItem( id: "32si5cfrCNc", name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO", - length: Some(181), + duration: Some(181), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg", @@ -371,7 +371,7 @@ VideoDetails( VideoItem( id: "CM4CkVFmTds", name: "TWICE \"I CAN\'T STOP ME\" M/V", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", @@ -408,7 +408,7 @@ VideoDetails( VideoItem( id: "UZPZyd5vE1c", name: "Shut Down", - length: Some(176), + duration: Some(176), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UZPZyd5vE1c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0elXCfbeIuNyk1C4xJkfSUZrJPg", @@ -445,7 +445,7 @@ VideoDetails( VideoItem( id: "CKZvWhCqx1s", name: "ROSÉ - \'On The Ground\' M/V", - length: Some(189), + duration: Some(189), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CKZvWhCqx1s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4uq8-ViYtFE0-2feawfW_IEADxg", @@ -482,7 +482,7 @@ VideoDetails( VideoItem( id: "fE2h3lGlOsk", name: "ITZY \"WANNABE\" M/V @ITZY", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ", @@ -519,7 +519,7 @@ VideoDetails( VideoItem( id: "Y8JFxS1HlDo", name: "IVE 아이브 \'LOVE DIVE\' MV", - length: Some(179), + duration: Some(179), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", @@ -556,7 +556,7 @@ VideoDetails( VideoItem( id: "dNCWe_6HAM8", name: "LISA - \'MONEY\' EXCLUSIVE PERFORMANCE VIDEO", - length: Some(171), + duration: Some(171), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dNCWe_6HAM8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdT1JD7bbEJ3z7fsQQ59tWeQUwkw", @@ -593,7 +593,7 @@ VideoDetails( VideoItem( id: "tyrVtwE8Gv0", name: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", - length: Some(249), + duration: Some(249), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjumgWjrKFVPhKG0HyX9aEdP203g", @@ -630,7 +630,7 @@ VideoDetails( VideoItem( id: "gU2HqP4NxUs", name: "BLACKPINK - ‘Pretty Savage’ 1011 SBS Inkigayo", - length: Some(208), + duration: Some(208), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gU2HqP4NxUs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD_x0P5jlgH-Xg013D6_0HCVjmpEQ", @@ -667,7 +667,7 @@ VideoDetails( VideoItem( id: "Ujb-gvqsoi0", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", - length: Some(182), + duration: Some(182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", @@ -704,7 +704,7 @@ VideoDetails( VideoItem( id: "KhTeiaCezwM", name: "[MV] MAMAMOO (마마무) - HIP", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", @@ -741,7 +741,7 @@ VideoDetails( VideoItem( id: "XJDPzNzQ3RE", name: "Run BTS! 2022 Special Episode - Fly BTS Fly Part 1", - length: Some(2070), + duration: Some(2070), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XJDPzNzQ3RE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLdeTJMU0EXsKD20_m1oPEHNfJig", @@ -778,7 +778,7 @@ VideoDetails( VideoItem( id: "0lXwMdnpoFQ", name: "aespa 에스파 \'도깨비불 (Illusion)\' Dance Practice", - length: Some(210), + duration: Some(210), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0lXwMdnpoFQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvTjZu5GC9ZxiNY88whzTOHX-g1Q", @@ -815,7 +815,7 @@ VideoDetails( VideoItem( id: "IHNzOHi8sJs", name: "BLACKPINK - ‘뚜두뚜두 (DDU-DU DDU-DU)’ M/V", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/IHNzOHi8sJs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCzBqBp42z958fkbmx3yCOebx3aaA", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap index 4cfe502..a33cd1a 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap @@ -95,6 +95,9 @@ VideoDetails( ), Text( text: "-------------------------------------------------", + style: Style( + strikethrough: true, + ), ), Text( text: " \nTwitter: ", @@ -136,6 +139,9 @@ VideoDetails( ), Text( text: "-------------------------------------------------", + style: Style( + strikethrough: true, + ), ), Text( text: "\nIntro: Laszlo - Supernova\nVideo Link: ", @@ -218,6 +224,9 @@ VideoDetails( ), Text( text: "-------------------------------------------------", + style: Style( + strikethrough: true, + ), ), Text( text: "\n", @@ -624,7 +633,7 @@ VideoDetails( VideoItem( id: "t03rmc-prJo", name: "This PC took 600 HOURS to Build!", - length: Some(1505), + duration: Some(1505), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q", @@ -661,7 +670,7 @@ VideoDetails( VideoItem( id: "4ozYlgOuYis", name: "They told me I was stupid - heating my pool with computers", - length: Some(691), + duration: Some(691), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4ozYlgOuYis/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4mG_tVV8TLuMJDGCGvTmjfwtddQ", @@ -698,7 +707,7 @@ VideoDetails( VideoItem( id: "THxkY59_xko", name: "Is the fastest GPU ALWAYS the best?", - length: Some(979), + duration: Some(979), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/THxkY59_xko/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmaBvFJBMIkBuT8khxFcTtfaZ2XA", @@ -735,7 +744,7 @@ VideoDetails( VideoItem( id: "UJ-KZzVUV7U", name: "This toaster cost HOW MUCH?? - Revolution InstaGLO R270 Toaster", - length: Some(880), + duration: Some(880), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UJ-KZzVUV7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBurQQ2fWpDYmCQ4aqgowGEBfWEYg", @@ -772,7 +781,7 @@ VideoDetails( VideoItem( id: "yayAQAC1XiE", name: "Intel PLEASE let me Overclock this!", - length: Some(799), + duration: Some(799), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yayAQAC1XiE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAZerWHd_ctrAd3FaOyCFXvh-N5-A", @@ -809,7 +818,7 @@ VideoDetails( VideoItem( id: "y4T374GtKLI", name: "When The Grid Goes Down: How To Power Essential Devices (i.e., Refrigerator)", - length: Some(1239), + duration: Some(1239), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/y4T374GtKLI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDzlGsbn7uLQb0yPGGU8kTLU4kPJg", @@ -846,7 +855,7 @@ VideoDetails( VideoItem( id: "b3x28s61q3c", name: "The most EXPENSIVE thing I own.", - length: Some(887), + duration: Some(887), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/b3x28s61q3c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWb5ZrdRdn4SCsBxY_w8QILUmdbA", @@ -883,7 +892,7 @@ VideoDetails( VideoItem( id: "LQ95XJAwaoc", name: "My favorite car (sucks) - Lucid Air GT", - length: Some(1162), + duration: Some(1162), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw", @@ -920,7 +929,7 @@ VideoDetails( VideoItem( id: "WVjtK71qqXU", name: "I bought a SECOND GPU… but NOT for gaming…", - length: Some(754), + duration: Some(754), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WVjtK71qqXU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDKEZ4b5LpUceHDgWzrKoASZh8WYA", @@ -957,7 +966,7 @@ VideoDetails( VideoItem( id: "vtvFVH9JdNI", name: "I bought every Nintendo Console EVER.", - length: Some(1381), + duration: Some(1381), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/vtvFVH9JdNI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCztBNH12-uuinjoT7QXyYAHJaWpg", @@ -994,7 +1003,7 @@ VideoDetails( VideoItem( id: "J6Ga4wciA2k", name: "THIS Wish.com Gaming PC is WORSE!", - length: Some(1545), + duration: Some(1545), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/J6Ga4wciA2k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6GXKbOi7UeTFxMZvVU2v4Mefzaw", @@ -1031,7 +1040,7 @@ VideoDetails( VideoItem( id: "CsoKWsZ-Tyw", name: "The Personal Gaming Theater - HOLY $H!T Samsung Odyssey Ark", - length: Some(1182), + duration: Some(1182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CsoKWsZ-Tyw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDY9DPUvV7_iZ4Q_Vs5aH04-D1Wiw", @@ -1068,7 +1077,7 @@ VideoDetails( VideoItem( id: "9T98VsMe3oo", name: "How are we going to do this?", - length: Some(1124), + duration: Some(1124), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9T98VsMe3oo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARsAavwhjYXofUNZb9CHY-F2GyVg", @@ -1105,7 +1114,7 @@ VideoDetails( VideoItem( id: "5Hxr9k5Vdc4", name: "Building the $1,000,000 Computer", - length: Some(1659), + duration: Some(1659), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5Hxr9k5Vdc4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWGQOhyUyIkDDwX1V0dSNuvKVvTw", @@ -1142,7 +1151,7 @@ VideoDetails( VideoItem( id: "12Hcbx33Rb4", name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", - length: Some(1262), + duration: Some(1262), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ", @@ -1179,7 +1188,7 @@ VideoDetails( VideoItem( id: "EHkkwCjQzsc", name: "Prepper (2016) | Full Post-Apocalyptic Thriller Movie HD", - length: Some(5982), + duration: Some(5982), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EHkkwCjQzsc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSjdCyfQ-R4ButwCMS4bFpYZn3VA", @@ -1216,7 +1225,7 @@ VideoDetails( VideoItem( id: "AOdp09SYhCc", name: "This Is So Embarrassing! - Building a PC with My Sister", - length: Some(1063), + duration: Some(1063), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ", @@ -1253,7 +1262,7 @@ VideoDetails( VideoItem( id: "CTIpNtHWVtQ", name: "Why Pay $1000 for a 25 year old PC! - NIXSYS Windows 98 PC", - length: Some(1112), + duration: Some(1112), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CTIpNtHWVtQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgegiq7MYL_WWdEFX2psylbO2KHw", @@ -1290,7 +1299,7 @@ VideoDetails( VideoItem( id: "3RIp7CwkBeA", name: "I Hope You Have a LOT of Money... RTX 4000 Announced", - length: Some(569), + duration: Some(569), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/3RIp7CwkBeA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0yHfBWVDIOWz5wFNO6A6xwHDl8A", @@ -1327,7 +1336,7 @@ VideoDetails( VideoItem( id: "HZiaHEmE9PQ", name: "Buying a Chromebook was a BIG MISTAKE", - length: Some(880), + duration: Some(880), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/HZiaHEmE9PQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBXXl872fFTYsfwBvUbF0oBvsZSrw", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20231103_likes.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20231103_likes.snap index 2ef29b3..cbd5b80 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20231103_likes.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20231103_likes.snap @@ -149,7 +149,7 @@ VideoDetails( VideoItem( id: "4TWR90KJl84", name: "aespa 에스파 \'Next Level\' MV", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", @@ -186,7 +186,7 @@ VideoDetails( VideoItem( id: "yQUU29NwNF4", name: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122", - length: Some(213), + duration: Some(213), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yQUU29NwNF4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4pIWwOFmVuVU-jZ-j7S4GvgxjKw", @@ -223,7 +223,7 @@ VideoDetails( VideoItem( id: "mTmm0y73ZtM", name: "Secret Missions: 7 Thrilling Spy and Secret Agent Stories", - length: Some(6811), + duration: Some(6811), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mTmm0y73ZtM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDz3aKv3IbWrI5GmtWjWl2br6h7jw", @@ -260,7 +260,7 @@ VideoDetails( VideoItem( id: "xBnSq8JKlZw", name: "16 Eylül 2023", - length: Some(7971), + duration: Some(7971), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/xBnSq8JKlZw/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgUChFMA8=&rs=AOn4CLDBvW0PORHHExpND8qbAa0OCr5MMw", @@ -297,7 +297,7 @@ VideoDetails( VideoItem( id: "fE2h3lGlOsk", name: "ITZY \"WANNABE\" M/V @ITZY", - length: Some(219), + duration: Some(219), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fE2h3lGlOsk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC44Q0lpu5a8rltgTMxi0X2QA6jnQ", @@ -334,7 +334,7 @@ VideoDetails( VideoItem( id: "NU611fxGyPU", name: "aespa 에스파 \'Black Mamba\' Dance Practice", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", @@ -371,7 +371,7 @@ VideoDetails( VideoItem( id: "dYRITmpFbJ4", name: "aespa 에스파 \'Girls\' MV", - length: Some(269), + duration: Some(269), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", @@ -408,7 +408,7 @@ VideoDetails( VideoItem( id: "jiFBY6gk3Lk", name: "BLACKPINK x AESPA – Pink Venom / Black Mamba MASHUP (feat. Next Level)", - length: Some(240), + duration: Some(240), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jiFBY6gk3Lk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLARhXJ8KOxiWpj430QpyKF2m3LJFQ", @@ -445,7 +445,7 @@ VideoDetails( VideoItem( id: "CM4CkVFmTds", name: "TWICE \"I CAN\'T STOP ME\" M/V", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", @@ -482,7 +482,7 @@ VideoDetails( VideoItem( id: "WPdWvnAAurg", name: "aespa 에스파 \'Savage\' MV", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", @@ -519,7 +519,7 @@ VideoDetails( VideoItem( id: "OgabtEgG_kg", name: "[ FULL ALBUM ] IVE (아이브) — IVE The 1st EP \' I\'VE MINE TRACKLIST", - length: Some(1034), + duration: Some(1034), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/OgabtEgG_kg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGkgaShpMA8=&rs=AOn4CLBF1lxbztXMyXmem4owNAWZRqvnBA", @@ -556,7 +556,7 @@ VideoDetails( VideoItem( id: "cSqOY5nktfg", name: "BLACKPINK THE GAME - ‘THE GIRLS’ MV", - length: Some(164), + duration: Some(164), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/cSqOY5nktfg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDkx-bmEWvYbs8ju1cETIRE1AczFQ", @@ -593,7 +593,7 @@ VideoDetails( VideoItem( id: "i8fRCkq5tbw", name: "aespa 에스파 ‘ep.2 Next Level’ – SM Culture Universe", - length: Some(1040), + duration: Some(1040), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/i8fRCkq5tbw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGcGKSQOqvI_5ZONNturhZZmkysQ", @@ -630,7 +630,7 @@ VideoDetails( VideoItem( id: "erCzl8x9Zuo", name: "에스파(AESPA) 2023 lotte family concert Full Ver. (Black Mamba +thirsty + Illusion+next level+ Spicy)", - length: Some(1192), + duration: Some(1192), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/erCzl8x9Zuo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBF18qnuz8guk309k2UUh4xnLuazg", @@ -667,7 +667,7 @@ VideoDetails( VideoItem( id: "7HDeem-JaSY", name: "(여자)아이들((G)I-DLE) - \'퀸카 (Queencard)\' Official Music Video", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7HDeem-JaSY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_jASE2yooEXAN64rj8-1_AJZl6A", @@ -704,7 +704,7 @@ VideoDetails( VideoItem( id: "9JFi7MmjtGA", name: "VIVIZ (비비지) - \'MANIAC\' MV", - length: Some(197), + duration: Some(197), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/9JFi7MmjtGA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLALaqiHHm-fnm1TQHpD9PG-zGd-hg", @@ -741,7 +741,7 @@ VideoDetails( VideoItem( id: "NoYKBAajoyo", name: "EVERGLOW (에버글로우) - DUN DUN MV", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", @@ -778,7 +778,7 @@ VideoDetails( VideoItem( id: "pyf8cbqyfPs", name: "LE SSERAFIM (르세라핌) \'ANTIFRAGILE\' OFFICIAL M/V", - length: Some(232), + duration: Some(232), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pyf8cbqyfPs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu-V-1EWwbHjZTNTO-vuP_O_WB3Q", @@ -815,7 +815,7 @@ VideoDetails( VideoItem( id: "32si5cfrCNc", name: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO", - length: Some(181), + duration: Some(181), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/32si5cfrCNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjimPvMxDwTmPBlKX8Buo9EjMeOg", @@ -852,7 +852,7 @@ VideoDetails( VideoItem( id: "bwmSjveL3Lc", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", - length: Some(244), + duration: Some(244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap index 9f51720..418b6fc 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap @@ -60,7 +60,7 @@ VideoDetails( VideoItem( id: "-YpwsdRKt8Q", name: "SpiegelMining – Reverse Engineering von Spiegel-Online (33c3)", - length: Some(3526), + duration: Some(3526), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/-YpwsdRKt8Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAitMEufI5dstlwxmzUBy5R55YqvA", @@ -97,7 +97,7 @@ VideoDetails( VideoItem( id: "4z3mu63yxII", name: "Gregor Gysi & Martin Sonneborn", - length: Some(5272), + duration: Some(5272), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4z3mu63yxII/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDreV7oQC-p3dvg_goG62wPliIS9Q", @@ -134,7 +134,7 @@ VideoDetails( VideoItem( id: "WhgRRpA3b2c", name: "36C3 - Verkehrswende selber hacken", - length: Some(3176), + duration: Some(3176), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WhgRRpA3b2c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvqwVUjB6Xurm8rFTueHcWHuPfZA", @@ -171,7 +171,7 @@ VideoDetails( VideoItem( id: "5qNHtdN07FM", name: "GPN16: Wie baut man eigentlich Raumschiffe (urs)", - length: Some(5172), + duration: Some(5172), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/5qNHtdN07FM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpjJM0fDLemesPUcU3VcN_gv9lHQ", @@ -208,7 +208,7 @@ VideoDetails( VideoItem( id: "7FeqF1-Z1g0", name: "David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast", - length: Some(3820), + duration: Some(3820), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7FeqF1-Z1g0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlpdGFYSadvgkHzSGulKmjV3wokQ", @@ -245,7 +245,7 @@ VideoDetails( VideoItem( id: "1vcP9UWrWBI", name: "Easterhegg 2019 - Kernreaktoren", - length: Some(7263), + duration: Some(7263), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1vcP9UWrWBI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUQVIIaiRE6GWywG8JwHDYAJpnZg", @@ -282,7 +282,7 @@ VideoDetails( VideoItem( id: "jnp1veXQf7U", name: "Blockchain - Ein außer Kontrolle geratenes Laborexperiment? #GPN19", - length: Some(3362), + duration: Some(3362), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/jnp1veXQf7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPdUkK2Ck1bwqQKZyMKKtAP4AMdA", @@ -319,7 +319,7 @@ VideoDetails( VideoItem( id: "77OlKRkaixo", name: "leyrer, MacLemon: E-Mail. Hässlich, aber es funktioniert #eh16", - length: Some(6998), + duration: Some(6998), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/77OlKRkaixo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4xyH2Wm3PRfFNYPGKLO69SFfcYw", @@ -356,7 +356,7 @@ VideoDetails( VideoItem( id: "u29--YNGMyg", name: "Physikalisches Kolloquium 22. Juli 2011 - Vortrag von Prof. Dr. Harald Lesch", - length: Some(6715), + duration: Some(6715), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/u29--YNGMyg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCykSwmdalE18JSUKAH4PLZ54YpzQ", @@ -393,7 +393,7 @@ VideoDetails( VideoItem( id: "urt2_ACal9A", name: "CCC-Jahresrückblick 2016 (33c3)", - length: Some(8170), + duration: Some(8170), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/urt2_ACal9A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLChs8FeQ4a0ab1PeF0yFI58lHD2Ew", @@ -430,7 +430,7 @@ VideoDetails( VideoItem( id: "PnBs9oH2Lx8", name: "Easterhegg 2019 - Wie ich die Regierung gehackt habe", - length: Some(3147), + duration: Some(3147), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PnBs9oH2Lx8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCYEqGF-6ovzXSwysiuU3EPQPBBQ", @@ -467,7 +467,7 @@ VideoDetails( VideoItem( id: "yaCiVvBD-xc", name: "Mathias Dalheimer: Wie man einen Blackout verursacht", - length: Some(3748), + duration: Some(3748), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/yaCiVvBD-xc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0kgmNW_38RP2zrFbHZ8yMaeltXw", @@ -504,7 +504,7 @@ VideoDetails( VideoItem( id: "1PJnEwoFSXo", name: "Das Geheimnis der Hieroglyphen | Doku HD | ARTE", - length: Some(5541), + duration: Some(5541), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1PJnEwoFSXo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBECHmEUHzkloG0szufbTTPeQxJcg", @@ -541,7 +541,7 @@ VideoDetails( VideoItem( id: "iIDZ8pJKLZA", name: "36C3 ChaosWest: Bahn API Chaos", - length: Some(3056), + duration: Some(3056), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/iIDZ8pJKLZA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4Yav7T6P0SXZSw0mhg9jL1aot7A", @@ -578,7 +578,7 @@ VideoDetails( VideoItem( id: "PhUQN6fd5O4", name: "35C3 - Jahresrückblick des CCC 2018", - length: Some(8102), + duration: Some(8102), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/PhUQN6fd5O4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAO_0bZOBr6aGmQdiA-5bUOxNeTaQ", @@ -615,7 +615,7 @@ VideoDetails( VideoItem( id: "bzr0c8qzQoc", name: "GPN19 - Beton", - length: Some(3972), + duration: Some(3972), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bzr0c8qzQoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCY6DB5oe1CQxUXIc9wpl_WyB9REA", @@ -652,7 +652,7 @@ VideoDetails( VideoItem( id: "IeX1F-Jjq9E", name: "Lars “Pylon” Weiler (DC4LW): Weltraumkommunikation", - length: Some(5075), + duration: Some(5075), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/IeX1F-Jjq9E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHnqHZmt01FMVG1lPBXYtZXWWY9Q", @@ -689,7 +689,7 @@ VideoDetails( VideoItem( id: "gsnL4m57MCM", name: "David Kriesel: SpiegelMining – Reverse Engineering von Spiegel-Online", - length: Some(3526), + duration: Some(3526), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/gsnL4m57MCM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzdNK5qr49otzmiOcFYQGCAcoIBA", @@ -726,7 +726,7 @@ VideoDetails( VideoItem( id: "uEEHq6f8RsM", name: "Leyrer: Moderne Linux Kommandozeilenwerkzeuge - Edition \"Allein zu Haus\"", - length: Some(3716), + duration: Some(3716), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uEEHq6f8RsM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAEBt4P-qj4seCLNwABBxmHbSjFXQ", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap index 187bff9..6207b1d 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap @@ -606,7 +606,7 @@ VideoDetails( VideoItem( id: "AOdp09SYhCc", name: "This Is So Embarrassing!", - length: Some(1063), + duration: Some(1063), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/AOdp09SYhCc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfBYl-n346B6prZx03Mm7Ww5KNzQ", @@ -643,7 +643,7 @@ VideoDetails( VideoItem( id: "CY3OQh-7wIk", name: "The Computer I Would Actually BUY", - length: Some(6478), + duration: Some(6478), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CY3OQh-7wIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIWrkhu20Ak_TnmZIE4ZNnwwJjxg", @@ -680,7 +680,7 @@ VideoDetails( VideoItem( id: "LQ95XJAwaoc", name: "My favorite car (sucks)", - length: Some(1162), + duration: Some(1162), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/LQ95XJAwaoc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCipJpt-2zTzIpJu3bTaXsTai4Avw", @@ -717,7 +717,7 @@ VideoDetails( VideoItem( id: "mhMQeJ5Qmp0", name: "The Apple Newton MessagePad.", - length: Some(758), + duration: Some(758), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mhMQeJ5Qmp0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBUv25424vMzv7t_u2JaFGBUFyzLQ", @@ -754,7 +754,7 @@ VideoDetails( VideoItem( id: "1ctXiZsN6ac", name: "The Reviewer Got Reviewed - WAN Show September 9, 2022", - length: Some(10265), + duration: Some(10265), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1ctXiZsN6ac/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD9wu_ZcDUUeXLmcHsQlyFk2ZGz8w", @@ -791,7 +791,7 @@ VideoDetails( VideoItem( id: "CMR9z9Xr8GM", name: "Storing Solar Power on my ROOF!!!", - length: Some(1028), + duration: Some(1028), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CMR9z9Xr8GM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHV3LspFbeyp3aKgDaga_48rKnhg", @@ -828,7 +828,7 @@ VideoDetails( VideoItem( id: "fT2KhJ8W-Kg", name: "How gas pumps know when to turn themselves off", - length: Some(836), + duration: Some(836), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fT2KhJ8W-Kg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAtidUhcZzKU4a3ojinamyCP33ing", @@ -865,7 +865,7 @@ VideoDetails( VideoItem( id: "12Hcbx33Rb4", name: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", - length: Some(1262), + duration: Some(1262), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/12Hcbx33Rb4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAM7iCw78-SfuzT5AgSv6ACOVDelQ", @@ -902,7 +902,7 @@ VideoDetails( VideoItem( id: "QW1SsqmaIuE", name: "I Surprised My Subscriber with his Dream Gaming Setup! - Season 8", - length: Some(2177), + duration: Some(2177), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QW1SsqmaIuE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArhaU2nMbylc2HtPaCCFwJmbFduQ", @@ -939,7 +939,7 @@ VideoDetails( VideoItem( id: "JAcSNL1T3OA", name: "Why Did I Drill 1756 Holes in This?", - length: Some(1293), + duration: Some(1293), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/JAcSNL1T3OA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVN2pIRLDii6QneiJiH7SuohQLLw", @@ -976,7 +976,7 @@ VideoDetails( VideoItem( id: "ZVtOss1U7_s", name: "VW Beetle converted to electric in a day", - length: Some(826), + duration: Some(826), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZVtOss1U7_s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4hPp1mBczpO6sO6vWdZQYakxwyg", @@ -1013,7 +1013,7 @@ VideoDetails( VideoItem( id: "2kJDTzFtUr4", name: "How ASML, TSMC And Intel Dominate The Chip Market | CNBC Marathon", - length: Some(3399), + duration: Some(3399), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2kJDTzFtUr4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6X3e701I0PwLNZJamLICU4oJsxg", @@ -1050,7 +1050,7 @@ VideoDetails( VideoItem( id: "0rCbfsuKdYw", name: "I bought every Playstation Ever.", - length: Some(1046), + duration: Some(1046), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/0rCbfsuKdYw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQvrfQzF3A7fsTrp6uVnunsFrjIA", @@ -1087,7 +1087,7 @@ VideoDetails( VideoItem( id: "sbdU7AkH6QM", name: "Reviewing Free Energy Generators. A Response to My Video \"Nikola Tesla\'s Greatest Invention\"- 102", - length: Some(1387), + duration: Some(1387), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sbdU7AkH6QM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDpUTKGdp0-KWb06jcJ1nBcyO6Dw", @@ -1124,7 +1124,7 @@ VideoDetails( VideoItem( id: "zcchDu7KoYs", name: "AMD’s Victory Lap - HOLY $H!T Threadripper Pro 5995WX", - length: Some(872), + duration: Some(872), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zcchDu7KoYs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAo1iXQgQA0Vdil-2ka_mG7maCGMg", @@ -1161,7 +1161,7 @@ VideoDetails( VideoItem( id: "pd6DsSjqhFE", name: "Top Gear Satisfaction Survey Compilation", - length: Some(986), + duration: Some(986), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pd6DsSjqhFE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5XluAGur-H4y64PT8dtddYidDfQ", @@ -1198,7 +1198,7 @@ VideoDetails( VideoItem( id: "2K5Gqp1cEcM", name: "Why our Screwdriver took 3 YEARS", - length: Some(1752), + duration: Some(1752), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2K5Gqp1cEcM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVNWWFKgajHVbNYGFdRXXNTH7aEg", @@ -1235,7 +1235,7 @@ VideoDetails( VideoItem( id: "t03rmc-prJo", name: "This PC took 600 HOURS to Build!", - length: Some(1505), + duration: Some(1505), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/t03rmc-prJo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCfqUXpZWf6Gv320YOu1UW02Sv5Q", @@ -1272,7 +1272,7 @@ VideoDetails( VideoItem( id: "QTH9m6MDIfc", name: "One Year Ago I Built an Ecosystem, This Happened", - length: Some(485), + duration: Some(485), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QTH9m6MDIfc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD3ZF3LguKP_5_qUVgX3_FXSA6ABA", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap index 62979ec..0e047c3 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap @@ -104,7 +104,7 @@ VideoDetails( VideoItem( id: "SGP6Y0Pnhe4", name: "HOW IT WORKS: The International Space Station", - length: Some(1738), + duration: Some(1738), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/SGP6Y0Pnhe4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAChuc2Ih-sBZQC5x7o0gghn85nJw", @@ -141,7 +141,7 @@ VideoDetails( VideoItem( id: "ddZu_1Z3BAc", name: "NASA LIVE Stream From The ISS - Live Earth & Space Station Views & Audio", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ddZu_1Z3BAc/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCi5eV9lF_2VW5JPzM1Vk5UUNqkHQ", @@ -178,7 +178,7 @@ VideoDetails( VideoItem( id: "oDXBMjg9HKU", name: "APOD: 2022-09-20 - Star Forming Region NGC 3582 without Stars (Narrated by Amy)", - length: Some(124), + duration: Some(124), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oDXBMjg9HKU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQx56iTlsHGslGMkJ74MTqRDD1Og", @@ -215,7 +215,7 @@ VideoDetails( VideoItem( id: "aU0vNvVHXa8", name: "🌎 LIVE ASTEROID Watch Tracking", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/aU0vNvVHXa8/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBK26DJlPwe8sxoySl9hGivR0svQQ", @@ -252,7 +252,7 @@ VideoDetails( VideoItem( id: "6scCF_8YN70", name: "Dramatic footage of the tsunami that hit Japan", - length: Some(133), + duration: Some(133), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6scCF_8YN70/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5oP2ObSoxifqGHzx7OfEzpnFHIA", @@ -289,7 +289,7 @@ VideoDetails( VideoItem( id: "n4IhCSMkADc", name: "EARTH FROM SPACE: Like You\'ve Never Seen Before", - length: Some(766), + duration: Some(766), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/n4IhCSMkADc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAhEA9mKd5lvhDnmtV5xXY22Zjfdg", @@ -326,7 +326,7 @@ VideoDetails( VideoItem( id: "bgbH4FAmAA0", name: "Winter Cab View from two of the most SCENIC RAILWAYS in the WORLD", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bgbH4FAmAA0/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK5dHaUNVD62cFE9pVq-zw4N8Qkw", @@ -363,7 +363,7 @@ VideoDetails( VideoItem( id: "uD4izuDMUQA", name: "TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)", - length: Some(1761), + duration: Some(1761), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uD4izuDMUQA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjQYM5oXPQlFF0E-qc9n3mGlDRJQ", @@ -400,7 +400,7 @@ VideoDetails( VideoItem( id: "Z6DpPQ8QdLg", name: "Earthrise - Planet Earth Seen From The Moon - Real Time Journey Across The Lunar Surface", - length: Some(241), + duration: Some(241), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Z6DpPQ8QdLg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAOLBguftqGZ-KSwoUPACRpCVwOGQ", @@ -437,7 +437,7 @@ VideoDetails( VideoItem( id: "1hNF3Wuw0LI", name: "New York City Walk 24/7 Chat Stream", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/1hNF3Wuw0LI/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD-mGKGIK69-Ozcl3h9LAdqTpNE9A", @@ -474,7 +474,7 @@ VideoDetails( VideoItem( id: "ZEyAs3NWH4A", name: "New: Mars In 4K", - length: Some(609), + duration: Some(609), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ZEyAs3NWH4A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAdzoD50ree_56JKW0-yPFWKnpTUw", @@ -511,7 +511,7 @@ VideoDetails( VideoItem( id: "NF4LQaWJRDg", name: "Hiroshima: Dropping the Bomb", - length: Some(276), + duration: Some(276), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NF4LQaWJRDg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDhvEsHXRIBs2CuAXkqHh07B4CDeg", @@ -548,7 +548,7 @@ VideoDetails( VideoItem( id: "qhOe_PxiNo8", name: "Imagens, Talvez Inéditas do Tsunami no Japão", - length: Some(1202), + duration: Some(1202), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/qhOe_PxiNo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqvJn8j2qyzBpIwpchGDhU449YtA", @@ -585,7 +585,7 @@ VideoDetails( VideoItem( id: "zf3bDpdhUNc", name: "Astronauts accidentally lose a shield in space (GoPro 8K)", - length: Some(566), + duration: Some(566), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/zf3bDpdhUNc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAg0e6zMCEA7X4dx2H7uWmL6DuTfQ", @@ -622,7 +622,7 @@ VideoDetails( VideoItem( id: "mJxsj51d-Pk", name: "Record breaking space jump - free fall faster than speed of sound - Red Bull Stratos.", - length: Some(503), + duration: Some(503), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/mJxsj51d-Pk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBmhCf2s6IuaCOzdRvSI-qnlR33xA", @@ -659,7 +659,7 @@ VideoDetails( VideoItem( id: "fr_hXLDLc38", name: "Horizons mission - Soyuz: launch to orbit", - length: Some(607), + duration: Some(607), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/fr_hXLDLc38/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCtdCzVkOkNo2YAzImB4VdRi5mbgQ", @@ -696,7 +696,7 @@ VideoDetails( VideoItem( id: "Jh-qzwdiAGY", name: "The Earth 4K - Incredible 4K / UHD Video of Earth From Space", - length: Some(3594), + duration: Some(3594), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Jh-qzwdiAGY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxyeDTGe_ou8OatbRvZJjocjvEfw", @@ -733,7 +733,7 @@ VideoDetails( VideoItem( id: "EPyl1LgNtoQ", name: "The View from Space - Earth\'s Countries and Coastlines", - length: Some(227), + duration: Some(227), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EPyl1LgNtoQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7DtUC7ZI8nVXddLnRs2hCDAW6PA", @@ -770,7 +770,7 @@ VideoDetails( VideoItem( id: "7KXGZAEWzn0", name: "ORBIT - Journey Around Earth in Real Time // 4K Remastered", - length: Some(5560), + duration: Some(5560), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/7KXGZAEWzn0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC18tscsYVoOweHeG46RxP93pExiA", @@ -807,7 +807,7 @@ VideoDetails( VideoItem( id: "KTUa9rG08go", name: "NASA Artemis I Mon Rocket Testing and Inspection LIVE From Launch Complex 39B", - length: None, + duration: None, thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KTUa9rG08go/hqdefault_live.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDONYcbg3bgmkGnu5k4koV9aPgy2g", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap index 2e65156..b4f3326 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap @@ -46,7 +46,7 @@ VideoDetails( VideoItem( id: "XtV_HGppS6A", name: "Vergiss mein nicht", - length: Some(263), + duration: Some(263), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/XtV_HGppS6A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC4oeSAhTiX-CO6nISLrR5b-c-lwQ", @@ -83,7 +83,7 @@ VideoDetails( VideoItem( id: "BcqM8Qshx7U", name: "Kuliko Jana - Eine neue Zeit", - length: Some(210), + duration: Some(210), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/BcqM8Qshx7U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCTOMybYKiZ2jPlKUFcoYLngroaJw", @@ -120,7 +120,7 @@ VideoDetails( VideoItem( id: "IUFUIgZOcow", name: "Silmaril - Schöner als die Sterne", - length: Some(205), + duration: Some(205), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/IUFUIgZOcow/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDraypAb-39OjGj6XeSxb5ZWuCntQ", @@ -157,7 +157,7 @@ VideoDetails( VideoItem( id: "UtP9J88Jzg0", name: "Ruinen im Sand", - length: Some(195), + duration: Some(195), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/UtP9J88Jzg0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmkebFxTlBZCOUHBFkMHv0DodLFQ", @@ -194,7 +194,7 @@ VideoDetails( VideoItem( id: "sg6j-zfUF_A", name: "Eldamar", - length: Some(223), + duration: Some(223), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/sg6j-zfUF_A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDk_V_5woDmnABodJnokWXNeyUulg", @@ -231,7 +231,7 @@ VideoDetails( VideoItem( id: "u2XCC1rKxV0", name: "Faolan", - length: Some(256), + duration: Some(256), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/u2XCC1rKxV0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDd4Q0v9znAMTV6GLYt4Jq40MWX0w", @@ -268,7 +268,7 @@ VideoDetails( VideoItem( id: "oOBBBl3fywU", name: "Aeria - Vom Wind", - length: Some(260), + duration: Some(260), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/oOBBBl3fywU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDCGpN0DnijJM8UhMKcFsTC6CFNEA", @@ -305,7 +305,7 @@ VideoDetails( VideoItem( id: "pI0Rancanz0", name: "Vergiss mein nicht", - length: Some(263), + duration: Some(263), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pI0Rancanz0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_VG_5tF7ygcOE7baJcqsqyo_Ygw", @@ -342,7 +342,7 @@ VideoDetails( VideoItem( id: "DsviLYh1CB0", name: "Eldamar", - length: Some(222), + duration: Some(222), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/DsviLYh1CB0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAc_WXeia9Pd2hK1PwTpTaGCKtlgA", @@ -379,7 +379,7 @@ VideoDetails( VideoItem( id: "Ctpe9kafn78", name: "So still mein Herz", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ctpe9kafn78/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDJqIxVeJPDgMFXTavr1aaYBuaY6w", @@ -416,7 +416,7 @@ VideoDetails( VideoItem( id: "y252630WbIk", name: "Oonagh und Santiano: Vergiss mein nicht (mit lyrics)", - length: Some(260), + duration: Some(260), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/y252630WbIk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCgH4BN_8psoaGXUedP2Rr98O7OiA", @@ -453,7 +453,7 @@ VideoDetails( VideoItem( id: "YgUZtELr_jw", name: "Aulë und Yavanna", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/YgUZtELr_jw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8840OzkwuDCpmkn_HS2w3EnlPwA", @@ -490,7 +490,7 @@ VideoDetails( VideoItem( id: "ABKSs0aU4C0", name: "Gäa (Akustik Version)", - length: Some(235), + duration: Some(235), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ABKSs0aU4C0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBtmUrTNQYkg0ATqAkPyvUPHzf9Gg", @@ -527,7 +527,7 @@ VideoDetails( VideoItem( id: "O0I3rJsHikA", name: "Orome (A-Class Remix)", - length: Some(199), + duration: Some(199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/O0I3rJsHikA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLWSYj7yLNMsJkr2Hs4JOx2Rfpqg", diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap index 3442496..dd2747a 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap @@ -149,7 +149,7 @@ VideoDetails( VideoItem( id: "4TWR90KJl84", name: "aespa 에스파 \'Next Level\' MV", - length: Some(236), + duration: Some(236), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/4TWR90KJl84/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYCGc-AKsDC6UpJgIZw2_VsqjVWA", @@ -186,7 +186,7 @@ VideoDetails( VideoItem( id: "WPdWvnAAurg", name: "aespa 에스파 \'Savage\' MV", - length: Some(259), + duration: Some(259), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/WPdWvnAAurg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDQGxlnDkAdMYRm2cdkDmiDbBDpYw", @@ -223,7 +223,7 @@ VideoDetails( VideoItem( id: "NoYKBAajoyo", name: "EVERGLOW (에버글로우) - DUN DUN MV", - length: Some(209), + duration: Some(209), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NoYKBAajoyo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC3OhCUbjpIclmjfV8W8T98nVI5pA", @@ -260,7 +260,7 @@ VideoDetails( VideoItem( id: "KhTeiaCezwM", name: "[MV] MAMAMOO (마마무) - HIP", - length: Some(211), + duration: Some(211), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/KhTeiaCezwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMGgSAC2vrBvhW5_JvAG6-DmNv_Q", @@ -297,7 +297,7 @@ VideoDetails( VideoItem( id: "Jh4QFaPmdss", name: "(G)I-DLE - \'TOMBOY\' Official Music Video", - length: Some(198), + duration: Some(198), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQf02NuUqxsFasUAqJQYGS6SMDkw", @@ -334,7 +334,7 @@ VideoDetails( VideoItem( id: "CM4CkVFmTds", name: "TWICE \"I CAN\'T STOP ME\" M/V", - length: Some(221), + duration: Some(221), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/CM4CkVFmTds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBfd7QADIduQSR2ESLIp1k5gxxNDg", @@ -371,7 +371,7 @@ VideoDetails( VideoItem( id: "uR8Mrt1IpXg", name: "Red Velvet 레드벨벳 \'Psycho\' MV", - length: Some(216), + duration: Some(216), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnAsLcZaI1uWDB4nag1KnNotAUWw", @@ -408,7 +408,7 @@ VideoDetails( VideoItem( id: "QslJYDX3o8s", name: "Red Velvet 레드벨벳 \'러시안 룰렛 (Russian Roulette)\' MV", - length: Some(212), + duration: Some(212), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/QslJYDX3o8s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsWKGsqhHRSd2Q5s0Gh-PrmOywIA", @@ -445,7 +445,7 @@ VideoDetails( VideoItem( id: "EaswWiwMVs8", name: "Stray Kids \"소리꾼(Thunderous)\" M/V", - length: Some(199), + duration: Some(199), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/EaswWiwMVs8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2hrj6yzhYrHdiS7z5i99gt15fNw", @@ -482,7 +482,7 @@ VideoDetails( VideoItem( id: "pNfTK39k55U", name: "ITZY \"달라달라(DALLA DALLA)\" M/V @ITZY", - length: Some(227), + duration: Some(227), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/pNfTK39k55U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDnW6UNp_Ny3hCIowtq-42AopJc7Q", @@ -519,7 +519,7 @@ VideoDetails( VideoItem( id: "dYRITmpFbJ4", name: "aespa 에스파 \'Girls\' MV", - length: Some(269), + duration: Some(269), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOxN6ukbZNOPwUBhRZYgG9r23lng", @@ -556,7 +556,7 @@ VideoDetails( VideoItem( id: "ioNng23DkIM", name: "BLACKPINK - \'How You Like That\' M/V", - length: Some(184), + duration: Some(184), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/ioNng23DkIM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANTO784ijwW2y4bhZaWcfKzEe9iQ", @@ -593,7 +593,7 @@ VideoDetails( VideoItem( id: "Ujb-gvqsoi0", name: "Red Velvet - IRENE & SEULGI \'Monster\' MV", - length: Some(182), + duration: Some(182), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Ujb-gvqsoi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrGO-Gkm-UqCln07oFNKfFgioXYQ", @@ -630,7 +630,7 @@ VideoDetails( VideoItem( id: "bwmSjveL3Lc", name: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", - length: Some(244), + duration: Some(244), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/bwmSjveL3Lc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRzdujtL9QM0RZ8elD00oS2fXMhg", @@ -667,7 +667,7 @@ VideoDetails( VideoItem( id: "6uJf2IT2Zh8", name: "Red Velvet 레드벨벳 \'피카부 (Peek-A-Boo)\' MV", - length: Some(230), + duration: Some(230), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/6uJf2IT2Zh8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8MvitHoGOKv_kHXY3RqkB7qr7tw", @@ -704,7 +704,7 @@ VideoDetails( VideoItem( id: "Y8JFxS1HlDo", name: "IVE 아이브 \'LOVE DIVE\' MV", - length: Some(179), + duration: Some(179), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDf8U7fRH0R-qXbbGwKwpKBCeOa4A", @@ -741,7 +741,7 @@ VideoDetails( VideoItem( id: "2FzSv66c7TQ", name: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", - length: Some(3441), + duration: Some(3441), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/2FzSv66c7TQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJl1tQDODos5G6RJlpg4R-pvWNZA", @@ -778,7 +778,7 @@ VideoDetails( VideoItem( id: "NU611fxGyPU", name: "aespa 에스파 \'Black Mamba\' Dance Practice", - length: Some(175), + duration: Some(175), thumbnail: [ Thumbnail( url: "https://i.ytimg.com/vi/NU611fxGyPU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgKORzcy6WKosI1_PAVWDgcjJ9jA", diff --git a/src/client/video_details.rs b/src/client/video_details.rs index 107843e..d08d0a2 100644 --- a/src/client/video_details.rs +++ b/src/client/video_details.rs @@ -1,4 +1,4 @@ -use std::fmt::Debug; +use std::{collections::HashMap, fmt::Debug}; use serde::Serialize; @@ -6,7 +6,7 @@ use crate::{ error::{Error, ExtractionError}, model::{ paginator::{ContinuationEndpoint, Paginator}, - ChannelTag, Chapter, Comment, VideoDetails, VideoItem, + ChannelTag, Chapter, Comment, Verification, VideoDetails, VideoItem, }, param::Language, serializer::MapResult, @@ -14,7 +14,7 @@ use crate::{ }; use super::{ - response::{self, IconType}, + response::{self, video_details::Payload, IconType}, ClientType, MapResponse, QContinuation, RustyPipeQuery, YTContext, }; @@ -391,44 +391,73 @@ impl MapResponse> for response::VideoComments { _vdata: Option<&str>, ) -> Result>, ExtractionError> { let received_endpoints = self.on_response_received_endpoints; - let mut warnings = received_endpoints.warnings; + let mut warnings = Vec::new(); let mut comments = Vec::new(); let mut comment_count = None; let mut ctoken = None; + let mut mutations = if let Some(upd) = self.framework_updates { + let mut m = upd.entity_batch_update.mutations; + warnings.append(&mut m.warnings); + m.items + } else { + HashMap::new() + }; + received_endpoints.c.into_iter().for_each(|citem| { let mut items = citem.append_continuation_items_action.continuation_items; warnings.append(&mut items.warnings); items.c.into_iter().for_each(|item| match item { - response::video_details::CommentListItem::CommentThreadRenderer { - comment, - replies, - rendering_priority, - } => { - let mut res = map_comment( - comment.comment_renderer, - Some(replies), - rendering_priority, - lang, - ); - comments.push(res.c); - warnings.append(&mut res.warnings); + response::video_details::CommentListItem::CommentThreadRenderer(thread) => { + if let Some(comment) = thread.comment { + comments.push(map_comment( + comment.comment_renderer, + Some(thread.replies), + thread.rendering_priority, + lang, + &mut warnings, + )); + } else if let Some(vm) = thread.comment_view_model { + if let Some(c) = map_comment_vm( + vm.comment_view_model, + &mut mutations, + Some(thread.replies), + thread.rendering_priority, + lang, + &mut warnings, + ) { + comments.push(c); + } + } else { + warnings.push( + "comment does not contain comment or commentViewModel field".to_owned(), + ); + } } response::video_details::CommentListItem::CommentRenderer(comment) => { - let mut res = map_comment( + comments.push(map_comment( comment, None, response::video_details::CommentPriority::RenderingPriorityUnknown, lang, - ); - comments.push(res.c); - warnings.append(&mut res.warnings); + &mut warnings, + )); } - response::video_details::CommentListItem::ContinuationItemRenderer { - continuation_endpoint, - } => { - ctoken = Some(continuation_endpoint.continuation_command.token); + response::video_details::CommentListItem::CommentViewModel(vm) => { + if let Some(c) = map_comment_vm( + vm, + &mut mutations, + None, + response::video_details::CommentPriority::RenderingPriorityUnknown, + lang, + &mut warnings, + ) { + comments.push(c); + } + } + response::video_details::CommentListItem::ContinuationItemRenderer(cont) => { + ctoken = Some(cont.token()); } response::video_details::CommentListItem::CommentsHeaderRenderer { count_text } => { comment_count = count_text @@ -471,87 +500,152 @@ fn map_recommendations( } } +fn map_replies( + replies: Option, + lang: Language, + warnings: &mut Vec, +) -> (Vec, Option) { + let mut reply_ctoken = None; + let replies = replies + .map(|replies| { + replies + .comment_replies_renderer + .contents + .into_iter() + .filter_map(|item| match item { + response::video_details::CommentListItem::CommentRenderer(comment) => { + Some(map_comment( + comment, + None, + response::video_details::CommentPriority::default(), + lang, + warnings, + )) + } + response::video_details::CommentListItem::ContinuationItemRenderer(cont) => { + reply_ctoken = Some(cont.token()); + None + } + _ => None, + }) + .collect::>() + }) + .unwrap_or_default(); + (replies, reply_ctoken) +} + fn map_comment( c: response::video_details::CommentRenderer, replies: Option, priority: response::video_details::CommentPriority, lang: Language, -) -> MapResult { - let mut warnings = Vec::new(); + warnings: &mut Vec, +) -> Comment { + let (replies, reply_ctoken) = map_replies(replies, lang, warnings); - let mut reply_ctoken = None; - let replies = replies.map(|replies| { - replies - .comment_replies_renderer - .contents - .into_iter() - .filter_map(|item| match item { - response::video_details::CommentListItem::CommentRenderer(comment) => { - let mut res = map_comment( - comment, - None, - response::video_details::CommentPriority::default(), - lang, - ); - warnings.append(&mut res.warnings); - Some(res.c) - } - response::video_details::CommentListItem::ContinuationItemRenderer { - continuation_endpoint, - } => { - reply_ctoken = Some(continuation_endpoint.continuation_command.token); - None - } - _ => None, - }) - .collect::>() - }); - - MapResult { - c: Comment { - id: c.comment_id, - text: c.content_text.into(), - author: match (c.author_endpoint, c.author_text) { - (Some(aep), Some(name)) => Some(ChannelTag { - id: aep.browse_endpoint.browse_id, - name, - avatar: c.author_thumbnail.into(), - verification: c - .author_comment_badge - .map(|b| b.author_comment_badge_renderer.icon.into()) - .unwrap_or_default(), - subscriber_count: None, - }), - _ => None, - }, - publish_date: timeago::parse_timeago_dt_or_warn( - lang, - &c.published_time_text, - &mut warnings, - ), - publish_date_txt: c.published_time_text, - like_count: match c.vote_count { - Some(txt) => util::parse_numeric_or_warn(&txt, &mut warnings), - None => Some(0), - }, - reply_count: c.reply_count as u32, - replies: replies - .map(|items| Paginator::new(Some(c.reply_count), items, reply_ctoken)) - .unwrap_or_default(), - by_owner: c.author_is_channel_owner, - pinned: priority - == response::video_details::CommentPriority::RenderingPriorityPinnedComment, - hearted: c - .action_buttons - .comment_action_buttons_renderer - .creator_heart - .map(|h| h.creator_heart_renderer.is_hearted) - .unwrap_or_default(), + Comment { + id: c.comment_id, + text: c.content_text.into(), + author: match (c.author_endpoint, c.author_text) { + (Some(aep), Some(name)) => Some(ChannelTag { + id: aep.browse_endpoint.browse_id, + name, + avatar: c.author_thumbnail.into(), + verification: c + .author_comment_badge + .map(|b| b.author_comment_badge_renderer.icon.into()) + .unwrap_or_default(), + subscriber_count: None, + }), + _ => None, }, - warnings, + publish_date: timeago::parse_timeago_dt_or_warn(lang, &c.published_time_text, warnings), + publish_date_txt: c.published_time_text, + like_count: match c.vote_count { + Some(txt) => util::parse_numeric_or_warn(&txt, warnings), + None => Some(0), + }, + reply_count: c.reply_count as u32, + replies: Paginator::new(Some(c.reply_count), replies, reply_ctoken), + by_owner: c.author_is_channel_owner, + pinned: priority.into(), + hearted: c + .action_buttons + .comment_action_buttons_renderer + .creator_heart + .map(|h| h.creator_heart_renderer.is_hearted) + .unwrap_or_default(), } } +fn map_comment_vm( + vm: response::video_details::CommentViewModel, + mutations: &mut HashMap, + replies: Option, + priority: response::video_details::CommentPriority, + lang: Language, + warnings: &mut Vec, +) -> Option { + let (replies, reply_ctoken) = map_replies(replies, lang, warnings); + + let ce = if let Some(Payload::CommentEntityPayload(ce)) = mutations.remove(&vm.comment_key) { + ce + } else { + warnings.push(format!( + "comment `{}` does not have entity payload (key: `{}`)", + vm.comment_id, vm.comment_key + )); + return None; + }; + let hearted = if let Some(Payload::EngagementToolbarStateEntityPayload { heart_state }) = + mutations.get(&vm.toolbar_state_key) + { + (*heart_state).into() + } else { + false + }; + + let mut parse_num = |s: &str| -> Option { + if s.is_empty() || s == " " { + Some(0) + } else { + util::parse_large_numstr_or_warn(s, lang, warnings) + } + }; + + let reply_count = parse_num(&ce.toolbar.reply_count).unwrap_or_default(); + + Some(Comment { + id: vm.comment_id, + text: ce.properties.content.into(), + by_owner: ce.author.as_ref().map(|a| a.is_creator).unwrap_or_default(), + author: ce.author.map(|a| ChannelTag { + id: a.channel_id, + name: a.display_name, + avatar: ce.avatar.image.into(), + verification: if a.is_artist { + Verification::Artist + } else if a.is_verified { + Verification::Verified + } else { + Verification::None + }, + subscriber_count: None, + }), + like_count: parse_num(&ce.toolbar.like_count_notliked), + reply_count, + replies: Paginator::new(Some(reply_count.into()), replies, reply_ctoken), + publish_date: timeago::parse_timeago_dt_or_warn( + lang, + &ce.properties.published_time, + warnings, + ), + publish_date_txt: ce.properties.published_time, + pinned: priority.into(), + hearted, + }) +} + #[cfg(test)] mod tests { use std::{fs::File, io::BufReader}; @@ -614,6 +708,8 @@ mod tests { #[rstest] #[case::top("top")] #[case::latest("latest")] + #[case::frameworkupd("20240401_frameworkupd")] + #[case::frameworkupd_reply("20240401_frameworkupd_reply")] fn map_comments(#[case] name: &str) { let json_path = path!(*TESTFILES / "video_details" / format!("comments_{name}.json")); let json_file = File::open(json_path).unwrap(); diff --git a/src/error.rs b/src/error.rs index 104387f..ae804d8 100644 --- a/src/error.rs +++ b/src/error.rs @@ -31,7 +31,7 @@ pub enum ExtractionError { /// - Age restriction /// - Private video /// - DRM (Movies and TV shows) - #[error("content unavailable because it is {reason}. Reason (from YT): {msg}")] + #[error("content unavailable ({reason}). Reason (from YT): {msg}")] Unavailable { /// Reason why the video could not be extracted reason: UnavailabilityReason, @@ -100,6 +100,8 @@ pub enum UnavailabilityReason { MembersOnly, /// Livestream has gone offline OfflineLivestream, + /// YouTube banned your IP address from accessing the platform without an account + IpBan, /// Video cant be played for other reasons #[default] Unplayable, @@ -108,15 +110,16 @@ pub enum UnavailabilityReason { impl Display for UnavailabilityReason { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - UnavailabilityReason::AgeRestricted => f.write_str("age restriction"), + UnavailabilityReason::AgeRestricted => f.write_str("age-restricted"), UnavailabilityReason::Deleted => f.write_str("deleted"), - UnavailabilityReason::Geoblocked => f.write_str("geoblocking"), + UnavailabilityReason::Geoblocked => f.write_str("geoblocked"), UnavailabilityReason::UnsupportedClient => f.write_str("unsupported by client"), UnavailabilityReason::Private => f.write_str("private"), UnavailabilityReason::Paid => f.write_str("paid"), UnavailabilityReason::Premium => f.write_str("premium-only"), UnavailabilityReason::MembersOnly => f.write_str("members-only"), - UnavailabilityReason::OfflineLivestream => f.write_str("an offline stream"), + UnavailabilityReason::OfflineLivestream => f.write_str("offline stream"), + UnavailabilityReason::IpBan => f.write_str("ip-ban"), UnavailabilityReason::Unplayable => f.write_str("unplayable"), } } diff --git a/src/model/mod.rs b/src/model/mod.rs index 8b695b4..3407f7b 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -68,9 +68,9 @@ pub enum UrlTarget { }, } -impl ToString for UrlTarget { - fn to_string(&self) -> String { - self.to_url() +impl std::fmt::Display for UrlTarget { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(&self.to_url()) } } @@ -157,10 +157,10 @@ pub struct VideoPlayerDetails { pub name: String, /// Video description in plaintext format pub description: Option, - /// Video length in seconds + /// Video duration in seconds /// /// Is zero for livestreams - pub length: u32, + pub duration: u32, /// Video thumbnail pub thumbnail: Vec, /// Channel of the video @@ -837,10 +837,10 @@ pub struct VideoItem { pub id: String, /// Video title pub name: String, - /// Video length in seconds. + /// Video duration in seconds. /// /// Is [`None`] for livestreams. - pub length: Option, + pub duration: Option, /// Video thumbnail pub thumbnail: Vec, /// Channel of the video diff --git a/src/model/richtext.rs b/src/model/richtext.rs index aeb81fc..93ef5af 100644 --- a/src/model/richtext.rs +++ b/src/model/richtext.rs @@ -19,6 +19,9 @@ pub enum TextComponent { Text { /// Plain text text: String, + /// Text styling + #[serde(default, skip_serializing_if = "Style::is_unstyled")] + style: Style, }, /// Web link Web { @@ -36,6 +39,78 @@ pub enum TextComponent { }, } +/// Text styling +#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[serde(default)] +#[non_exhaustive] +pub struct Style { + /// **Bold** + /// + /// - HTML: `Text` + /// - Markdown: `**Text**` + #[serde(skip_serializing_if = "std::ops::Not::not")] + pub bold: bool, + /// *Italic* + /// + /// - HTML: `Text` + /// - Markdown: `*Text*` + #[serde(skip_serializing_if = "std::ops::Not::not")] + pub italic: bool, + /// ~~Strikethrough~~ + /// + /// - HTML: `Text` + /// - Markdown: `~~Text~~` + #[serde(skip_serializing_if = "std::ops::Not::not")] + pub strikethrough: bool, +} + +impl Style { + /// Return true if the text is styled (bold/italic/strikethrough) + pub fn is_styled(&self) -> bool { + self.bold || self.italic || self.strikethrough + } + + fn is_unstyled(&self) -> bool { + !self.is_styled() + } + + fn html_open(&self, s: &mut String) { + if self.bold { + s.push_str(""); + } + if self.italic { + s.push_str(""); + } + if self.strikethrough { + s.push_str(""); + } + } + + fn html_close(&self, s: &mut String) { + if self.bold { + s.push_str(""); + } + if self.italic { + s.push_str(""); + } + if self.strikethrough { + s.push_str(""); + } + } + + fn md_tag(&self, s: &mut String) { + if self.bold { + s.push_str("**"); + } + if self.italic { + s.push('*'); + } + if self.strikethrough { + s.push_str("~~"); + } + } +} + /// Trait for converting rich text to plain text. pub trait ToPlaintext { /// Convert rich text to plain text. @@ -83,7 +158,7 @@ impl TextComponent { /// Get the text from the component pub fn get_text(&self) -> &str { match self { - TextComponent::Text { text } + TextComponent::Text { text, .. } | TextComponent::Web { text, .. } | TextComponent::YouTube { text, .. } => text, } @@ -104,7 +179,7 @@ impl TextComponent { impl ToPlaintext for TextComponent { fn to_plaintext_yt_host(&self, yt_host: &str) -> String { match self { - TextComponent::Text { text } => text.clone(), + TextComponent::Text { text, .. } => text.clone(), _ => self.get_url(yt_host), } } @@ -113,7 +188,13 @@ impl ToPlaintext for TextComponent { impl ToHtml for TextComponent { fn to_html_yt_host(&self, yt_host: &str) -> String { match self { - TextComponent::Text { text } => util::escape_html(text), + TextComponent::Text { text, style } => { + let mut html = String::with_capacity(text.len()); + style.html_open(&mut html); + util::escape_html_append(text, &mut html); + style.html_close(&mut html); + html + } TextComponent::Web { text, .. } => { format!( r#"{}"#, @@ -135,7 +216,13 @@ impl ToHtml for TextComponent { impl ToMarkdown for TextComponent { fn to_markdown_yt_host(&self, yt_host: &str) -> String { match self { - TextComponent::Text { text } => util::escape_markdown(text), + TextComponent::Text { text, style } => { + let mut md = String::with_capacity(text.len()); + style.md_tag(&mut md); + util::escape_markdown_append(text, &mut md); + style.md_tag(&mut md); + md + } TextComponent::Web { text, .. } | TextComponent::YouTube { text, .. } => { format!( "[{}]({})", @@ -175,6 +262,7 @@ impl ToMarkdown for RichText { mod tests { use super::*; + use insta::assert_snapshot; use once_cell::sync::Lazy; use crate::client::response::url_endpoint::MusicVideoType; @@ -182,37 +270,47 @@ mod tests { static TEXT_SOURCE: Lazy = Lazy::new(|| { text::TextComponents(vec![ - text::TextComponent::Text { text: "🎧Listen and download aespa's debut single \"Black Mamba\": ".to_owned() }, + text::TextComponent::new("🎧Listen and download aespa's debut single \"Black Mamba\": "), text::TextComponent::Web { text: "https://smarturl.it/aespa_BlackMamba".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFY1QmpQamJPSms0Z1FnVTlQUS00ZFhBZnBJZ3xBQ3Jtc0tuRGJBanludGoyRnphb2dZWVd3cUNnS3dEd0FnNHFOZEY1NHBJaHFmLXpaWUJwX3ZucDZxVnpGeHNGX1FpMzFkZW9jQkI2Mi1wNGJ1UVFNN3h1MnN3R3JLMzdxU01nZ01POHBGcmxHU2puSUk1WHRzQQ&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n🐍The Debut Stage ".to_owned() }, + text::TextComponent::new("\n🐍The Debut Stage "), text::TextComponent::Video { text: "https://youtu.be/Ky5RT5oGg0w".to_owned(), video_id: "Ky5RT5oGg0w".to_owned(), start_time: 0, vtype: MusicVideoType::Video }, - text::TextComponent::Text { text: "\n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: ".to_owned() }, + text::TextComponent::new("\n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: "), text::TextComponent::Web { text: "https://www.ticketmaster.com/event/0A...".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFpUMEZiaXJWWkszaVZXaEM0emxWU1JQV3NoQXxBQ3Jtc0tuU2g4VWNPNE5UY3hoSWYtamFzX0h4bUVQLVJiRy1ubDZrTnh3MUpGdDNSaUo0ZlMyT3lUM28ycUVBdHJLMndGcDhla3BkOFpxSVFfOS1QdVJPVHBUTEV1LXpOV0J2QXdhV05lV210cEJtZUJMeHdaTQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n\nSubscribe to aespa Official YouTube Channel!\n".to_owned() }, + text::TextComponent::new("\n\nSubscribe to aespa Official YouTube Channel!\n"), text::TextComponent::Web { text: "https://www.youtube.com/aespa?sub_con...".to_owned(), url: "https://www.youtube.com/aespa?sub_confirmation=1".to_owned() }, - text::TextComponent::Text { text: "\n\naespa official\n".to_owned() }, + text::TextComponent::new("\n\naespa official\n"), text::TextComponent::Web { text: "https://www.youtube.com/c/aespa".to_owned(), url: "https://www.youtube.com/c/aespa".to_owned() }, - text::TextComponent::Text { text: "\n".to_owned() }, + text::TextComponent::new("\n"), text::TextComponent::Web { text: "https://www.instagram.com/aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbmE4UXZBdFM4allpdUkwaGQ1SGFBTklKYVVaQXxBQ3Jtc0tsOVg3WTM2Y0t1eE5YUm5vZjNTVjM4bncxTl9JeFdWeGJlbDZJa3BqTXZDQUdzVndPR3ZpV2ZEOGMzZ1FsT21HMEp5UllpWVZVb3djYTVzNGNFaWlmbzhmTEVmQ0RiVUxMNUM4MDV3ZGt3SHhJM3pGSQ&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n".to_owned() }, + text::TextComponent::new("\n"), text::TextComponent::Web { text: "https://www.tiktok.com/@aespa_official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa2hVUk9QQXZmMHk5ZkdEZnVKZXIyXzZvX09zZ3xBQ3Jtc0trZEhjd1lVc1NZMWs4TVY3UmpzdDhnX0lLYnZjekZqNUprWUpHV1ZOR2g0al84TlNLTEFjODktUWE3QUFFTlJ5RlpvOVNOWUdJXzF2ZHhzOHRTdGhlUG1OcmhZVkMtazBzYXJqNFVUYVBKUVI1ZzB4VQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n".to_owned() }, + text::TextComponent::new("\n"), text::TextComponent::Web { text: "https://twitter.com/aespa_Official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWFlRFFWWVpMeFRzU08ySWhJWVl0RUJpZzIxZ3xBQ3Jtc0tsekJiMUI4Zk1QdENObWpLZVppdk1nRVBkamJmX21VNGxaYjdUTEdoREx4Z3pWTm0wVHg4MWNTVmdxakNJT3VQQk5tSDVnZkNJZkhQSTF1d0ZEX3g0RUVDWjFjVzA1ZzVsTEVvMW5ISTdaZU1xYjhXSQ&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n".to_owned() }, + text::TextComponent::new("\n"), text::TextComponent::Web { text: "https://www.facebook.com/aespa.official".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWJxUWVETWNwM0ltc0JYXzBjQ1h5dmQ2OXNzUXxBQ3Jtc0ttVy1JRHV2VVpUOUtDdUZTU0tROEtLX1k0bVFFNTdoZVpIUDhDbTkydmRmY2diR3RlQmlON1Y4NURsaU1YcTRKLXBzeGdkWWY1d0R3MzhMYXl6cE1OM0hMcEpkdXZvVXItQzRhMTVqVU1ySk93UG9Ydw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n".to_owned() }, + text::TextComponent::new("\n"), text::TextComponent::Web { text: "https://weibo.com/aespa".to_owned(), url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUZFOVFFSEtTRkU5LXluWk9uTVRHbU5tN2JGd3xBQ3Jtc0ttR003eUM4ZVBVM3JPdjdJMnZwRXpxZmJMMkhFbHYtbklJUG9LYXh5VHBXalgyWTZwc3RqcGlhT2JIR0RlNVpWUEpBajZ0X2d5ZkxEZUUyQmF4bE13NjhEdDZOak9saHdnb25qdnB3dnRiYmplbkY0MA&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E".to_owned() }, - text::TextComponent::Text { text: "\n\n".to_owned() }, - text::TextComponent::Text { text: "#aespa".to_owned() }, - text::TextComponent::Text { text: " ".to_owned() }, - text::TextComponent::Text { text: "#æspa".to_owned() }, - text::TextComponent::Text { text: " ".to_owned() }, - text::TextComponent::Text { text: "#BlackMamba".to_owned() }, - text::TextComponent::Text { text: " ".to_owned() }, - text::TextComponent::Text { text: "#블랙맘바".to_owned() }, - text::TextComponent::Text { text: " ".to_owned() }, - text::TextComponent::Text { text: "#에스파".to_owned() }, - text::TextComponent::Text { text: "\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment".to_owned() }, + text::TextComponent::new("\n\n"), + text::TextComponent::new("#aespa"), + text::TextComponent::new(" "), + text::TextComponent::new("#æspa"), + text::TextComponent::new(" "), + text::TextComponent::new("#BlackMamba"), + text::TextComponent::new(" "), + text::TextComponent::new("#블랙맘바"), + text::TextComponent::new(" "), + text::TextComponent::new("#에스파"), + text::TextComponent::new("\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment"), + text::TextComponent::new("\n\n"), + + text::TextComponent::new("Bold: "), + text::TextComponent::Text { text: "Awesome".to_owned(), style: Style { bold: true, italic: false, strikethrough: false } }, + text::TextComponent::new("\nItalic: "), + text::TextComponent::Text { text: "Great".to_owned(), style: Style { bold: false, italic: true, strikethrough: false } }, + text::TextComponent::new("\nStrikethrough: "), + text::TextComponent::Text { text: "Gone".to_owned(), style: Style { bold: false, italic: false, strikethrough: true } }, + text::TextComponent::new("\nMixed: "), + text::TextComponent::Text { text: "Everything".to_owned(), style: Style { bold: true, italic: true, strikethrough: true } }, ]) }); @@ -220,36 +318,41 @@ mod tests { fn to_plaintext() { let richtext = RichText::from(TEXT_SOURCE.clone()); let plaintext = richtext.to_plaintext_yt_host("https://piped.kavin.rocks"); - assert_eq!( - plaintext, - r#"🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba -🐍The Debut Stage https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w -🎟️ aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A005CCD9E871F6E + assert_snapshot!(plaintext, @r###" + 🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba + 🐍The Debut Stage https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w -Subscribe to aespa Official YouTube Channel! -https://www.youtube.com/aespa?sub_confirmation=1 + 🎟️ aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A005CCD9E871F6E -aespa official -https://www.youtube.com/c/aespa -https://www.instagram.com/aespa_official -https://www.tiktok.com/@aespa_official -https://twitter.com/aespa_Official -https://www.facebook.com/aespa.official -https://weibo.com/aespa + Subscribe to aespa Official YouTube Channel! + https://www.youtube.com/aespa?sub_confirmation=1 -#aespa #æspa #BlackMamba #블랙맘바 #에스파 -aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"# - ); + aespa official + https://www.youtube.com/c/aespa + https://www.instagram.com/aespa_official + https://www.tiktok.com/@aespa_official + https://twitter.com/aespa_Official + https://www.facebook.com/aespa.official + https://weibo.com/aespa + + #aespa #æspa #BlackMamba #블랙맘바 #에스파 + aespa 에스파 'Black Mamba' MV ℗ SM Entertainment + + Bold: Awesome + Italic: Great + Strikethrough: Gone + Mixed: Everything + "###); } #[test] fn to_html() { let richtext = RichText::from(TEXT_SOURCE.clone()); let html = richtext.to_html_yt_host("https://piped.kavin.rocks"); - assert_eq!( + assert_snapshot!( html, - "🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba
🐍The Debut Stage https://youtu.be/Ky5RT5oGg0w

🎟\u{fe0f} aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A...

Subscribe to aespa Official YouTube Channel!
https://www.youtube.com/aespa?sub_con...

aespa official
https://www.youtube.com/c/aespa
https://www.instagram.com/aespa_official
https://www.tiktok.com/@aespa_official
https://twitter.com/aespa_Official
https://www.facebook.com/aespa.official
https://weibo.com/aespa

#aespa #æspa #BlackMamba #블랙맘바 #에스파
aespa 에스파 'Black Mamba' MV ℗ SM Entertainment" + @r###"🎧Listen and download aespa's debut single "Black Mamba": https://smarturl.it/aespa_BlackMamba
🐍The Debut Stage https://youtu.be/Ky5RT5oGg0w

🎟️ aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A...

Subscribe to aespa Official YouTube Channel!
https://www.youtube.com/aespa?sub_con...

aespa official
https://www.youtube.com/c/aespa
https://www.instagram.com/aespa_official
https://www.tiktok.com/@aespa_official
https://twitter.com/aespa_Official
https://www.facebook.com/aespa.official
https://weibo.com/aespa

#aespa #æspa #BlackMamba #블랙맘바 #에스파
aespa 에스파 'Black Mamba' MV ℗ SM Entertainment

Bold: Awesome
Italic: Great
Strikethrough: Gone
Mixed: Everything"### ); } @@ -258,9 +361,9 @@ aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"# let richtext = RichText::from(TEXT_SOURCE.clone()); let markdown = richtext.to_markdown_yt_host("https://piped.kavin.rocks"); println!("{markdown}"); - assert_eq!( + assert_snapshot!( markdown, - r#"🎧Listen and download aespa's debut single "Black Mamba"\: [https\://smarturl.it/aespa\_BlackMamba](https://smarturl.it/aespa_BlackMamba)
🐍The Debut Stage [https\://youtu.be/Ky5RT5oGg0w](https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w)

🎟️ aespa Showcase SYNK in LA! Tickets now on sale\: [https\://www.ticketmaster.com/event/0A...](https://www.ticketmaster.com/event/0A005CCD9E871F6E)

Subscribe to aespa Official YouTube Channel!
[https\://www.youtube.com/aespa?sub\_con...](https://www.youtube.com/aespa?sub_confirmation=1)

aespa official
[https\://www.youtube.com/c/aespa](https://www.youtube.com/c/aespa)
[https\://www.instagram.com/aespa\_official](https://www.instagram.com/aespa_official)
[https\://www.tiktok.com/@aespa\_official](https://www.tiktok.com/@aespa_official)
[https\://twitter.com/aespa\_Official](https://twitter.com/aespa_Official)
[https\://www.facebook.com/aespa.official](https://www.facebook.com/aespa.official)
[https\://weibo.com/aespa](https://weibo.com/aespa)

\#aespa \#æspa \#BlackMamba \#블랙맘바 \#에스파
aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"# + @r###"🎧Listen and download aespa's debut single "Black Mamba"\: [https\://smarturl.it/aespa\_BlackMamba](https://smarturl.it/aespa_BlackMamba)
🐍The Debut Stage [https\://youtu.be/Ky5RT5oGg0w](https://piped.kavin.rocks/watch?v=Ky5RT5oGg0w)

🎟️ aespa Showcase SYNK in LA! Tickets now on sale\: [https\://www.ticketmaster.com/event/0A...](https://www.ticketmaster.com/event/0A005CCD9E871F6E)

Subscribe to aespa Official YouTube Channel!
[https\://www.youtube.com/aespa?sub\_con...](https://www.youtube.com/aespa?sub_confirmation=1)

aespa official
[https\://www.youtube.com/c/aespa](https://www.youtube.com/c/aespa)
[https\://www.instagram.com/aespa\_official](https://www.instagram.com/aespa_official)
[https\://www.tiktok.com/@aespa\_official](https://www.tiktok.com/@aespa_official)
[https\://twitter.com/aespa\_Official](https://twitter.com/aespa_Official)
[https\://www.facebook.com/aespa.official](https://www.facebook.com/aespa.official)
[https\://weibo.com/aespa](https://weibo.com/aespa)

\#aespa \#æspa \#BlackMamba \#블랙맘바 \#에스파
aespa 에스파 'Black Mamba' MV ℗ SM Entertainment

Bold\: **Awesome**
Italic\: *Great*
Strikethrough\: ~~Gone~~
Mixed\: ***~~Everything***~~"### ); } } diff --git a/src/model/traits.rs b/src/model/traits.rs index e64c5b2..329a01d 100644 --- a/src/model/traits.rs +++ b/src/model/traits.rs @@ -4,7 +4,7 @@ use std::ops::Range; pub use super::{convert::FromYtItem, ordering::QualityOrd}; -use super::{AudioFormat, AudioStream, VideoFormat, VideoStream}; +use super::*; /// Trait for YouTube streams (video and audio) pub trait YtStream { @@ -128,3 +128,67 @@ impl FileFormat for AudioFormat { } } } + +/// Trait for YouTube entities (Videos, Channels, Playlists) +pub trait YtEntity { + /// ID + fn id(&self) -> &str; + /// Name + fn name(&self) -> &str; +} + +macro_rules! yt_entity { + ($entity_type:ty) => { + impl YtEntity for $entity_type { + fn id(&self) -> &str { + &self.id + } + + fn name(&self) -> &str { + &self.name + } + } + }; +} + +impl YtEntity for VideoPlayer { + fn id(&self) -> &str { + &self.details.id + } + + fn name(&self) -> &str { + &self.details.name + } +} + +impl YtEntity for Channel { + fn id(&self) -> &str { + &self.id + } + + fn name(&self) -> &str { + &self.name + } +} + +yt_entity! {VideoPlayerDetails} +yt_entity! {Playlist} +yt_entity! {ChannelId} +yt_entity! {VideoDetails} +yt_entity! {ChannelTag} +yt_entity! {ChannelRss} +yt_entity! {ChannelRssVideo} +yt_entity! {VideoItem} +yt_entity! {ChannelItem} +yt_entity! {PlaylistItem} +yt_entity! {VideoId} +yt_entity! {TrackItem} +yt_entity! {ArtistItem} +yt_entity! {AlbumItem} +yt_entity! {MusicPlaylistItem} +yt_entity! {AlbumId} +yt_entity! {MusicPlaylist} +yt_entity! {MusicAlbum} +yt_entity! {MusicArtist} +yt_entity! {MusicGenreItem} +yt_entity! {MusicGenre} diff --git a/src/serializer/snapshots/rustypipe__serializer__text__tests__split_text_cmp.snap b/src/serializer/snapshots/rustypipe__serializer__text__tests__split_text_cmp.snap new file mode 100644 index 0000000..a5b6e05 --- /dev/null +++ b/src/serializer/snapshots/rustypipe__serializer__text__tests__split_text_cmp.snap @@ -0,0 +1,50 @@ +--- +source: src/serializer/text.rs +expression: split +--- +[ + TextComponents( + [ + Text { + text: "Hello", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + Text { + text: " World", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + ], + ), + TextComponents( + [ + Text { + text: "T2", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + ], + ), + TextComponents( + [ + Text { + text: "T3", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + ], + ), +] diff --git a/src/serializer/snapshots/rustypipe__serializer__text__tests__styled_comment.snap b/src/serializer/snapshots/rustypipe__serializer__text__tests__styled_comment.snap new file mode 100644 index 0000000..c90d4ac --- /dev/null +++ b/src/serializer/snapshots/rustypipe__serializer__text__tests__styled_comment.snap @@ -0,0 +1,74 @@ +--- +source: src/serializer/text.rs +expression: res +--- +SAttributed { + ln: TextComponents( + [ + Text { + text: "Bold: ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + Text { + text: "Awesome", + style: Style { + bold: true, + italic: false, + strikethrough: false, + }, + }, + Text { + text: "\nItalic: ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + Text { + text: "Great", + style: Style { + bold: false, + italic: true, + strikethrough: false, + }, + }, + Text { + text: "\nCut: ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + Text { + text: "Dumb", + style: Style { + bold: false, + italic: false, + strikethrough: true, + }, + }, + Text { + text: "\n\nMixed: ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, + }, + Text { + text: "Mixer", + style: Style { + bold: true, + italic: true, + strikethrough: true, + }, + }, + ], + ), +} diff --git a/src/serializer/snapshots/rustypipe__serializer__text__tests__t_attributed_description.snap b/src/serializer/snapshots/rustypipe__serializer__text__tests__t_attributed_description.snap index 25c6179..c4bf828 100644 --- a/src/serializer/snapshots/rustypipe__serializer__text__tests__t_attributed_description.snap +++ b/src/serializer/snapshots/rustypipe__serializer__text__tests__t_attributed_description.snap @@ -7,6 +7,11 @@ SAttributed { [ Text { text: "🎧Listen and download aespa's debut single \"Black Mamba\": ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { text: "https://smarturl.it/aespa_BlackMamba", @@ -14,15 +19,25 @@ SAttributed { }, Text { text: "\n🐍The Debut Stage ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Video { - text: "aespa 에스파 'Black ...", + text: "aespa 에스파 'Black Mamba' The Debut Stage", video_id: "Ky5RT5oGg0w", start_time: 0, vtype: Video, }, Text { text: "\n\n🎟\u{fe0f} aespa Showcase SYNK in LA! Tickets now on sale: ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { text: "https://www.ticketmaster.com/event/0A...", @@ -30,6 +45,11 @@ SAttributed { }, Text { text: "\n\nSubscribe to aespa Official YouTube Channel!\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { text: "https://www.youtube.com/aespa?sub_con...", @@ -37,41 +57,71 @@ SAttributed { }, Text { text: "\n\naespa official\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { - text: "aespa", + text: "YouTube: aespa", url: "https://www.youtube.com/c/aespa", }, Text { text: "\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { - text: "https://www.instagram.com/aespa_official", + text: "Instagram: aespa_official", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", }, Text { text: "\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { - text: "https://www.tiktok.com/@aespa_official", + text: "TikTok: aespa_official", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", }, Text { text: "\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { - text: "https://twitter.com/aespa_Official", + text: "Twitter: aespa_official", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", }, Text { text: "\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { - text: "https://www.facebook.com/aespa.official", + text: "Facebook: aespa.official", url: "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", }, Text { text: "\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Web { text: "https://weibo.com/aespa", @@ -79,6 +129,11 @@ SAttributed { }, Text { text: "\n\n", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "#aespa", @@ -87,6 +142,11 @@ SAttributed { }, Text { text: " ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "#æspa", @@ -95,6 +155,11 @@ SAttributed { }, Text { text: " ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "#BlackMamba", @@ -103,6 +168,11 @@ SAttributed { }, Text { text: " ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "#블랙맘바", @@ -111,6 +181,11 @@ SAttributed { }, Text { text: " ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "#에스파", @@ -119,6 +194,11 @@ SAttributed { }, Text { text: "\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, ], ), diff --git a/src/serializer/text.rs b/src/serializer/text.rs index 5fbe692..2395d41 100644 --- a/src/serializer/text.rs +++ b/src/serializer/text.rs @@ -1,7 +1,5 @@ use std::convert::TryFrom; -use once_cell::sync::Lazy; -use regex::Regex; use serde::{Deserialize, Deserializer}; use serde_with::{serde_as, DefaultOnError, DeserializeAs, VecSkipError}; @@ -9,7 +7,7 @@ use crate::{ client::response::url_endpoint::{ MusicPage, MusicPageType, MusicVideoType, NavigationEndpoint, PageType, }, - model::UrlTarget, + model::{richtext::Style, UrlTarget}, util, }; @@ -110,6 +108,7 @@ pub(crate) enum TextComponent { }, Text { text: String, + style: Style, }, } @@ -130,6 +129,12 @@ struct RichTextRun { #[serde(default)] #[serde_as(as = "DefaultOnError")] navigation_endpoint: Option, + #[serde(default)] + bold: bool, + #[serde(default)] + italic: bool, + #[serde(default)] + strikethrough: bool, } /// This is a new rich text representation format that YouTube is A/B testing @@ -142,15 +147,53 @@ pub(crate) struct AttributedText { content: String, #[serde(default)] #[serde_as(as = "VecSkipError<_>")] - command_runs: Vec, + command_runs: Vec, + #[serde(default)] + #[serde_as(as = "VecSkipError<_>")] + style_runs: Vec, +} + +#[serde_as] +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +struct CommandRun { + start_index: usize, + length: usize, + on_tap: AttributedTextOnTap, + #[serde(default)] + #[serde_as(as = "DefaultOnError<_>")] + on_tap_options: Option, } #[derive(Deserialize)] #[serde(rename_all = "camelCase")] -struct AttributedTextRun { +struct StyleRun { start_index: usize, length: usize, - on_tap: AttributedTextOnTap, + #[serde(default)] + weight_label: WeightLabel, + #[serde(default)] + italic: bool, + #[serde(default)] + strikethrough: Strikethrough, +} + +#[derive(Default, Deserialize)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +enum WeightLabel { + FontWeightMedium, + #[default] + #[serde(other)] + FontWeightNormal, +} + +#[derive(Default, Deserialize)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +enum Strikethrough { + LineStyleSingle, + #[default] + #[serde(other)] + None, } #[derive(Deserialize)] @@ -159,14 +202,83 @@ struct AttributedTextOnTap { innertube_command: NavigationEndpoint, } +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +struct AttributedTextOnTapOptions { + accessibility_info: AccessibilityInfo, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +struct AccessibilityInfo { + accessibility_label: String, +} + +struct AttributedTextRun { + start_index: usize, + length: usize, + content: AttributedTextRunContent, +} + +enum AttributedTextRunContent { + Link(NavigationEndpoint, Option), + Style(Style), +} + impl From for TextComponent { fn from(run: RichTextRun) -> Self { - map_text_component(run.text, run.navigation_endpoint) + map_text_component( + run.text, + Style { + bold: run.bold, + italic: run.italic, + strikethrough: run.strikethrough, + }, + run.navigation_endpoint, + ) + } +} + +impl From for AttributedTextRun { + fn from(value: CommandRun) -> Self { + Self { + start_index: value.start_index, + length: value.length, + content: AttributedTextRunContent::Link( + value.on_tap.innertube_command, + value + .on_tap_options + .map(|o| o.accessibility_info.accessibility_label), + ), + } + } +} + +impl StyleRun { + fn into_attributed_text_run(self) -> Option { + let style = Style { + bold: matches!(self.weight_label, WeightLabel::FontWeightMedium), + italic: self.italic, + strikethrough: matches!(self.strikethrough, Strikethrough::LineStyleSingle), + }; + if style.is_styled() { + Some(AttributedTextRun { + start_index: self.start_index, + length: self.length, + content: AttributedTextRunContent::Style(style), + }) + } else { + None + } } } /// Map a single component of a rich text -fn map_text_component(text: String, nav: Option) -> TextComponent { +fn map_text_component( + text: String, + style: Style, + nav: Option, +) -> TextComponent { match nav { Some(NavigationEndpoint::Watch { watch_endpoint }) => TextComponent::Video { text, @@ -185,7 +297,7 @@ fn map_text_component(text: String, nav: Option) -> TextComp Some(bc) => bc.browse_endpoint_context_music_config.page_type, None => match &command_metadata { Some(cm) => cm.web_command_metadata.web_page_type, - None => return TextComponent::Text { text }, + None => return TextComponent::Text { text, style }, }, }, text, @@ -202,7 +314,7 @@ fn map_text_component(text: String, nav: Option) -> TextComp page_type: PageType::Playlist, browse_id: watch_playlist_endpoint.playlist_id, }, - None => TextComponent::Text { text }, + None => TextComponent::Text { text, style }, } } @@ -267,37 +379,76 @@ impl<'de> DeserializeAs<'de, TextComponents> for AttributedText { buf }; - let mut components = Vec::with_capacity(text.command_runs.len() + 1); - text.command_runs.into_iter().for_each(|cmd| { - let txt_before = take_chars(cmd.start_index); - let txt_link = take_chars(cmd.start_index + cmd.length); + let mut runs = text + .command_runs + .into_iter() + .map(AttributedTextRun::from) + .collect::>(); + runs.extend( + text.style_runs + .into_iter() + .filter_map(StyleRun::into_attributed_text_run), + ); + runs.sort_by_key(|run| run.start_index); - // Trim link text: - // 3xnbsp, (/ •), nbsp, Name, 2xnbsp - // Channel: `\u{a0}\u{a0}\u{a0}/\u{a0}aespa\u{a0}\u{a0}` - // Video: `\u{a0}\u{a0}\u{a0}•\u{a0}aespa\u{a0}에스파\u{a0}'Black\u{a0}...\u{a0}\u{a0}` - - // Replace no-break spaces, trim off whitespace and prefix character - let txt_link = txt_link.trim(); - let txt_link = txt_link.replace('\u{a0}', " "); - - static LINK_PREFIX: Lazy = Lazy::new(|| Regex::new("^[/•] *").unwrap()); - let txt_link = LINK_PREFIX.replace(&txt_link, ""); + let mut components = Vec::with_capacity(runs.len() + 1); + for run in runs { + let txt_before = take_chars(run.start_index); + let txt_run = take_chars(run.start_index + run.length); if !txt_before.is_empty() { - components.push(TextComponent::Text { text: txt_before }); + components.push(TextComponent::new(txt_before)); } - components.push(map_text_component( - txt_link.to_string(), - Some(cmd.on_tap.innertube_command), - )); - }); + components.push(match run.content { + AttributedTextRunContent::Link(link, label) => { + // Trim link text: + // 3xnbsp, (/ •), nbsp, Name, 2xnbsp + // Channel: `\u{a0}\u{a0}\u{a0}/\u{a0}aespa\u{a0}\u{a0}` + // Video: `\u{a0}\u{a0}\u{a0}•\u{a0}aespa\u{a0}에스파\u{a0}'Black\u{a0}...\u{a0}\u{a0}` + + // Replace no-break spaces, trim off whitespace and prefix character + let txt_link = txt_run.trim(); + let txt_link = txt_link.replace('\u{a0}', " "); + + if let Some(txt_link) = txt_link.strip_prefix(['/', '•']) { + let txt_link = txt_link.trim_start(); + match (&link, label) { + (NavigationEndpoint::Url { .. }, Some(label)) => { + // Prefix chip-style web links with the service name from accessibility label + // Example: `Twitter: aespa_official` + if let Some(first_word) = label.split_whitespace().next() { + map_text_component( + format!("{first_word}: {txt_link}"), + Style::default(), + Some(link), + ) + } else { + map_text_component( + txt_link.to_owned(), + Style::default(), + Some(link), + ) + } + } + _ => map_text_component( + txt_link.to_owned(), + Style::default(), + Some(link), + ), + } + } else { + map_text_component(txt_link, Style::default(), Some(link)) + } + } + AttributedTextRunContent::Style(style) => { + map_text_component(txt_run.to_string(), style, None) + } + }) + } let end = chars.as_str(); if !end.is_empty() { - components.push(TextComponent::Text { - text: end.to_owned(), - }); + components.push(TextComponent::new(end)); } Ok(TextComponents(components)) @@ -325,15 +476,12 @@ impl TryFrom for crate::model::ChannelId { match value { TextComponent::Browse { text, - page_type, + page_type: PageType::Channel | PageType::Artist, browse_id, - } => match page_type { - PageType::Channel | PageType::Artist => Ok(crate::model::ChannelId { - id: browse_id, - name: text, - }), - _ => Err(()), - }, + } => Ok(crate::model::ChannelId { + id: browse_id, + name: text, + }), _ => Err(()), } } @@ -376,7 +524,7 @@ impl From for crate::model::ArtistId { }, TextComponent::Video { text, .. } | TextComponent::Web { text, .. } - | TextComponent::Text { text } => Self { + | TextComponent::Text { text, .. } => Self { id: None, name: text, }, @@ -405,13 +553,16 @@ impl From for crate::model::richtext::TextComponent { browse_id, } => match page_type.to_url_target(browse_id) { Some(target) => Self::YouTube { text, target }, - None => Self::Text { text }, + None => Self::Text { + text, + style: Default::default(), + }, }, TextComponent::Web { text, url } => Self::Web { text, url: util::sanitize_yt_url(&url), }, - TextComponent::Text { text } => Self::Text { text }, + TextComponent::Text { text, style } => Self::Text { text, style }, } } } @@ -423,12 +574,19 @@ impl From for crate::model::richtext::RichText { } impl TextComponent { + pub fn new>(s: S) -> Self { + Self::Text { + text: s.into(), + style: Style::default(), + } + } + pub fn as_str(&self) -> &str { match self { TextComponent::Video { text, .. } | TextComponent::Browse { text, .. } | TextComponent::Web { text, .. } - | TextComponent::Text { text } => text, + | TextComponent::Text { text, .. } => text, } } @@ -456,7 +614,7 @@ impl From for String { TextComponent::Video { text, .. } | TextComponent::Browse { text, .. } | TextComponent::Web { text, .. } - | TextComponent::Text { text } => text, + | TextComponent::Text { text, .. } => text, } } } @@ -497,9 +655,12 @@ impl TextComponents { } } -impl ToString for TextComponents { - fn to_string(&self) -> String { - self.0.iter().map(TextComponent::as_str).collect::() +impl std::fmt::Display for TextComponents { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + for t in &self.0 { + f.write_str(t.as_str())?; + } + Ok(()) } } @@ -732,6 +893,11 @@ mod tests { SLink { ln: Text { text: "Hello World", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, } "###); @@ -823,6 +989,11 @@ mod tests { }, Text { text: " & ", + style: Style { + bold: false, + italic: false, + strikethrough: false, + }, }, Browse { text: "Maite Kelly", @@ -851,57 +1022,26 @@ mod tests { insta::assert_debug_snapshot!(res); } + #[test] + fn styled_comment() { + let json_path = path!(*TESTFILES / "text" / "styled_comment.json"); + let json_file = File::open(json_path).unwrap(); + let res: SAttributed = serde_json::from_reader(BufReader::new(json_file)).unwrap(); + insta::assert_debug_snapshot!(res); + } + #[test] fn split_text_cmp() { let text = TextComponents(vec![ - TextComponent::Text { - text: "Hello".to_owned(), - }, - TextComponent::Text { - text: " World".to_owned(), - }, - TextComponent::Text { - text: util::DOT_SEPARATOR.to_owned(), - }, - TextComponent::Text { - text: "T2".to_owned(), - }, - TextComponent::Text { - text: util::DOT_SEPARATOR.to_owned(), - }, - TextComponent::Text { - text: "T3".to_owned(), - }, + TextComponent::new("Hello"), + TextComponent::new(" World"), + TextComponent::new(util::DOT_SEPARATOR), + TextComponent::new("T2"), + TextComponent::new(util::DOT_SEPARATOR), + TextComponent::new("T3"), ]); let split = text.split(util::DOT_SEPARATOR); - insta::assert_debug_snapshot!(split, @r###" - [ - TextComponents( - [ - Text { - text: "Hello", - }, - Text { - text: " World", - }, - ], - ), - TextComponents( - [ - Text { - text: "T2", - }, - ], - ), - TextComponents( - [ - Text { - text: "T3", - }, - ], - ), - ] - "###); + insta::assert_debug_snapshot!(split); } } diff --git a/src/serializer/vec_log_err.rs b/src/serializer/vec_log_err.rs index c2e89ff..9e3e32c 100644 --- a/src/serializer/vec_log_err.rs +++ b/src/serializer/vec_log_err.rs @@ -20,6 +20,13 @@ where where D: serde::Deserializer<'de>, { + #[derive(serde::Deserialize)] + #[serde(untagged)] + enum GoodOrError { + Good(T), + Error(serde_json::Value), + } + struct SeqVisitor(PhantomData); impl<'de, T> Visitor<'de> for SeqVisitor @@ -39,14 +46,16 @@ where let mut values = Vec::with_capacity(seq.size_hint().unwrap_or_default()); let mut warnings = Vec::new(); - loop { - match seq.next_element::() { - Ok(val) => match val { - Some(val) => values.push(val), - None => break, - }, - Err(e) => { - warnings.push(format!("error deserializing item: {e}")); + while let Some(value) = seq.next_element()? { + match value { + GoodOrError::::Good(value) => { + values.push(value); + } + GoodOrError::::Error(value) => { + warnings.push(format!( + "error deserializing item: {}", + serde_json::to_string(&value).unwrap_or_default() + )); } } } @@ -177,8 +186,8 @@ mod tests { insta::assert_debug_snapshot!(res.items.warnings, @r###" [ - "error deserializing item: missing field `name` at line 1 column 40", - "error deserializing item: missing field `name` at line 1 column 73", + "error deserializing item: {\"xyz\":\"i2\"}", + "error deserializing item: {\"namra\":\"i4\"}", ] "###); } diff --git a/src/util/dictionary.rs b/src/util/dictionary.rs index eee7f6e..f2fbe2a 100644 --- a/src/util/dictionary.rs +++ b/src/util/dictionary.rs @@ -5418,16 +5418,16 @@ pub(crate) fn entry(lang: Language) -> Entry { ], }, album_types: ::phf::Map { - key: 12913932095322966823, + key: 15467950696543387533, disps: &[ - (1, 0), + (2, 0), ], entries: &[ ("álbum", AlbumType::Album), - ("single", AlbumType::Single), ("ep", AlbumType::Ep), + ("single", AlbumType::Single), ("programa", AlbumType::Show), - ("livro áudio", AlbumType::Audiobook), + ("audiolivro", AlbumType::Audiobook), ], }, }, diff --git a/src/util/mod.rs b/src/util/mod.rs index 34d09ac..75dcb00 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -284,6 +284,7 @@ pub fn div_ceil(a: u32, b: u32) -> u32 { } } +#[allow(dead_code)] pub trait TryRemove { /// Removes and returns the element at position `index` within the vector, /// shifting all elements after it to the left. @@ -327,7 +328,7 @@ impl TryRemove for Vec { /// Check if a channel name equals "YouTube Music" /// (the author of original YouTube music playlists) pub(crate) fn is_ytm(text: &TextComponent) -> bool { - if let TextComponent::Text { text } = text { + if let TextComponent::Text { text, .. } = text { text.starts_with("YouTube") } else { false @@ -422,7 +423,11 @@ where /// Replace all html control characters to make a string safe for inserting into HTML. pub fn escape_html(input: &str) -> String { let mut buf = String::with_capacity(input.len()); + escape_html_append(input, &mut buf); + buf +} +pub fn escape_html_append(input: &str, buf: &mut String) { for c in input.chars() { match c { '<' => buf.push_str("<"), @@ -434,14 +439,17 @@ pub fn escape_html(input: &str) -> String { _ => buf.push(c), }; } - buf } /// Replace all markdown control characters to make a string safe for /// inserting into Markdown. pub fn escape_markdown(input: &str) -> String { let mut buf = String::with_capacity(input.len()); + escape_markdown_append(input, &mut buf); + buf +} +pub fn escape_markdown_append(input: &str, buf: &mut String) { for c in input.chars() { match c { '<' => buf.push_str("<"), @@ -455,7 +463,6 @@ pub fn escape_markdown(input: &str) -> String { _ => buf.push(c), }; } - buf } pub fn video_id_from_thumbnail_url(url: &str) -> Option { diff --git a/testfiles/channel/channel_videos_20240324_pageheader2.json b/testfiles/channel/channel_videos_20240324_pageheader2.json new file mode 100644 index 0000000..974ee89 --- /dev/null +++ b/testfiles/channel/channel_videos_20240324_pageheader2.json @@ -0,0 +1,14558 @@ +{ + "responseContext": { + "serviceTrackingParams": [ + { + "service": "GFEEDBACK", + "params": [ + { + "key": "route", + "value": "channel.videos" + }, + { + "key": "is_casual", + "value": "false" + }, + { + "key": "is_owner", + "value": "false" + }, + { + "key": "is_alc_surface", + "value": "false" + }, + { + "key": "browse_id", + "value": "UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "key": "browse_id_prefix", + "value": "" + }, + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "9453588,9453589,23804281,23848212,23946420,23952866,23966208,23983296,23986015,23998056,24004644,24036948,24077241,24080738,24108448,24120819,24135310,24166867,24181174,24187377,24208765,24241378,24255545,24290971,24377598,24390675,24439361,24451319,24453989,24458317,24458324,24458329,24468724,24502054,24506784,24515423,24524098,24524562,24542367,24547316,24548627,24548629,24550458,24560416,24566687,24695884,24697069,24699899,39324567,39325349,39325801,39325808,39325818,39325930,39325955,39325978,39326022,39326072,39326089,39326093,39326154,51003636,51006181,51009781,51010235,51012659,51014091,51016856,51017346,51019626,51020570,51025415,51026715,51027870,51033399,51033765,51037540,51038805,51039200,51048489,51050361,51053689,51057501,51059571,51060353,51063643,51064834,51069269,51072748,51074183,51074739,51079239,51080341,51082384,51089441,51089956,51091331,51092661,51092929,51095478,51096389,51096576,51096646,51096989,51098297,51098299,51101170,51101454,51102791,51103088,51103518,51103858,51105868,51106995,51107658,51108006,51108977,51109078,51110160,51111738,51112401,51112970,51112972,51115184,51118293,51118932,51119507,51119512,51119935,51120529,51124104,51125637,51125903,51126281,51128585,51128977,51129060,51129216,51129218,51129220,51129223,51129224,51129395,51132393,51134507,51134731,51135346,51136218,51136785,51136843,51137185,51137936,51138637,51140454,51140749,51141038,51141385,51141541,51142840,51142842,51144819,51146434,51146794,51146962,51147896,51149880" + } + ] + }, + { + "service": "GOOGLE_HELP", + "params": [ + { + "key": "browse_id", + "value": "UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "key": "browse_id_prefix", + "value": "" + } + ] + }, + { + "service": "CSI", + "params": [ + { + "key": "c", + "value": "WEB" + }, + { + "key": "cver", + "value": "2.20240326.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetChannelPage_rid", + "value": "0x4841fea0e2f9bba2" + } + ] + }, + { + "service": "GUIDED_HELP", + "params": [ + { + "key": "logged_in", + "value": "0" + } + ] + }, + { + "service": "ECATCHER", + "params": [ + { + "key": "client.version", + "value": "2.20240326" + }, + { + "key": "client.name", + "value": "WEB" + } + ] + } + ], + "maxAgeSeconds": 300, + "mainAppWebResponseContext": { + "loggedOut": true, + "trackingParam": "kx_fmPxhoPZRHF5swax781ASv6Mc0wrX3EYhjhUHwBzNr_wRgkuswmIBwOcCE59TDtslLKPQ-SS" + }, + "webResponseContextExtensionData": { + "hasDecorated": true + } + }, + "contents": { + "twoColumnBrowseResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CP8BEPCTARgFIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/featured", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EghmZWF0dXJlZPIGBAoCMgA%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Home", + "trackingParams": "CP8BEPCTARgFIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCUQ8JMBGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/videos", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZ2aWRlb3PyBgQKAjoA", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Videos", + "selected": true, + "content": { + "richGridRenderer": { + "contents": [ + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "BpW_DxGRCRw", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBHX3HMauysp5rOpOOuhvfEsTxqHQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA_U5Sa2uICYXjld4CrvvATptclxg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCoKLkbEuYKfnF8kuplvjngEyUN1A", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/BpW_DxGRCRw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDQnQsIHhkGbo_SLJY2DFMT1_lhgQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1605 - Chasing Fart Noises - JBL Charge 3 \"Repair\"" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1605 - Chasing Fart Noises - JBL Charge 3 \"Repair\" by EEVblog 27,799 views 12 days ago 27 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Dave is chasing fart noises in this JBL Charge 3 waterproof speaker.\nA teardown, and powerup on the bench to find the mysterious fart noises.\nWill it get repaired, or will the fault do a Harold..." + } + ] + }, + "publishedTimeText": { + "simpleText": "12 days ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 56 seconds" + } + }, + "simpleText": "27:56" + }, + "viewCountText": { + "simpleText": "27,799 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=BpW_DxGRCRw", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "BpW_DxGRCRw", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=0695bf0f1191091c&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQJySxIzx4e_KBg==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "27K views" + } + }, + "simpleText": "27K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CP4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CP4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "BpW_DxGRCRw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CP4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "BpW_DxGRCRw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "BpW_DxGRCRw" + ] + } + } + ] + } + }, + "trackingParams": "CP4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CP0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "BpW_DxGRCRw", + "onAddCommand": { + "clickTrackingParams": "CP0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "BpW_DxGRCRw", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CP0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtCcFdfRHhHUkNSdw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CPwBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CPkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 56 seconds" + } + }, + "simpleText": "27:56" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CPsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "BpW_DxGRCRw", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CPsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "BpW_DxGRCRw" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CPsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CPoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CPoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "BpW_DxGRCRw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CPoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "BpW_DxGRCRw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "BpW_DxGRCRw" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CPoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/BpW_DxGRCRw/mqdefault_6s.webp?du=3000&sqp=CNy2jLAG&rs=AOn4CLAy5DDSy48S8hZo8HUSL_nLzbN5Qw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CPgBEJmNBRgAIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "GRRvGj8OT_A", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGMgYyhjMA8=&rs=AOn4CLByLXyg74bCFFJH8-ZqVMLtFqzniQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGMgYyhjMA8=&rs=AOn4CLAcXJZ9LF0JwB9XRc8GTmVY57pg4A", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhjIGMoYzAP&rs=AOn4CLDOJD6P5nzkBqRGXNwNU9U0xPZkMQ", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/GRRvGj8OT_A/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhjIGMoYzAP&rs=AOn4CLCZrK32i8fghUmiT89TeqxQX10Hiw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1604 - BEWARE! Multimeter Burden Voltage" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1604 - BEWARE! Multimeter Burden Voltage by EEVblog 34,723 views 2 weeks ago 6 minutes, 23 seconds" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Burden Voltage is a BIG trap with Multimeters, don't get caught out!\nA short video demonstrating the impact of Burden Voltage / Shunt Resistance on current measurement.\n\nMutlimeter Shunt Tutorial..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 weeks ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "6 minutes, 23 seconds" + } + }, + "simpleText": "6:23" + }, + "viewCountText": { + "simpleText": "34,723 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=GRRvGj8OT_A", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "GRRvGj8OT_A", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=19146f1a3f0e4ff0&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQPCfufij45uKGQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "34K views" + } + }, + "simpleText": "34K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CPcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "GRRvGj8OT_A", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CPcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "GRRvGj8OT_A" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "GRRvGj8OT_A" + ] + } + } + ] + } + }, + "trackingParams": "CPcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CPYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "GRRvGj8OT_A", + "onAddCommand": { + "clickTrackingParams": "CPYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "GRRvGj8OT_A", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CPYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtHUlJ2R2o4T1RfQQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CPUBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CPIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "6 minutes, 23 seconds" + } + }, + "simpleText": "6:23" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CPQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "GRRvGj8OT_A", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CPQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "GRRvGj8OT_A" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CPQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CPMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CPMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "GRRvGj8OT_A", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CPMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "GRRvGj8OT_A" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "GRRvGj8OT_A" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CPMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/GRRvGj8OT_A/mqdefault_6s.webp?du=3000&sqp=CIDCjLAG&rs=AOn4CLAdfyOPM06vBIxDx2iWY0bhZzP5aw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CPEBEJmNBRgBIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "Nl9NL1oup3Q", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD8mC5yQTccSI3dqhCBNgbw8D981w", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDoJQx200qpXQ-EzVw0jrK789egcA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB-OXpAH9uy86pgfpOUyJPqoRUfhQ", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/Nl9NL1oup3Q/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAWmsEaL8v6ii05P_hNTOqDir7-9A", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1603 - Colas Wattway Solar Roadways is DEAD" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1603 - Colas Wattway Solar Roadways is DEAD by EEVblog 60,589 views 3 weeks ago 17 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The 1km Colas Wattway Solar Roadway in Normandy in France is finally being scrapped.\nPress F in the chat.\n€5M of taxpayer money down the drain. That money could have bought a 5MW commercial..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 weeks ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 35 seconds" + } + }, + "simpleText": "17:35" + }, + "viewCountText": { + "simpleText": "60,589 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Nl9NL1oup3Q", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Nl9NL1oup3Q", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=365f4d2f5a2ea774&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQPTOutH1pdOvNg==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "60K views" + } + }, + "simpleText": "60K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CPABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "Nl9NL1oup3Q", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CPABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "Nl9NL1oup3Q" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "Nl9NL1oup3Q" + ] + } + } + ] + } + }, + "trackingParams": "CPABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CO8BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "Nl9NL1oup3Q", + "onAddCommand": { + "clickTrackingParams": "CO8BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "Nl9NL1oup3Q", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CO8BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtObDlOTDFvdXAzUQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CO4BEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "COsBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 35 seconds" + } + }, + "simpleText": "17:35" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CO0BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "Nl9NL1oup3Q", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CO0BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "Nl9NL1oup3Q" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CO0BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "COwBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "COwBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "Nl9NL1oup3Q", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "COwBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "Nl9NL1oup3Q" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "Nl9NL1oup3Q" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "COwBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/Nl9NL1oup3Q/mqdefault_6s.webp?du=3000&sqp=CPTOjLAG&rs=AOn4CLAMyjVZePdjNNOY7jQQs4YjQuu4wg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "COoBEJmNBRgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "u6tuZ7plOa4", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBa5FnB0TzCXbwoequOCmRm_VSIDw", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGyuxbT5RDjioJbP0MZpPjx5KGfw", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkUDAy5lmD4jIwDvnZ_wouReQQiw", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/u6tuZ7plOa4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwJw4LOQJtOp9jkqyeuDzNVTvOtQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1602 - Sony Amplifier REPAIR ADVENTURE" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1602 - Sony Amplifier REPAIR ADVENTURE by EEVblog 48,158 views 3 weeks ago 44 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Repair of a Sony HCD-SBT20B Bluetooth Stereo. What it's like to nail the repair and then, well come-a-gutsa and have to go down the rabbit hole to fix the fix all whilst battling bad design..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 weeks ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "44 minutes, 51 seconds" + } + }, + "simpleText": "44:51" + }, + "viewCountText": { + "simpleText": "48,158 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=u6tuZ7plOa4", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "u6tuZ7plOa4", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=bbab6e67ba6539ae&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQK7zlNP7zNvVuwE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "48K views" + } + }, + "simpleText": "48K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "COkBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "COkBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "u6tuZ7plOa4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "COkBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "u6tuZ7plOa4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "u6tuZ7plOa4" + ] + } + } + ] + } + }, + "trackingParams": "COkBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "COgBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "u6tuZ7plOa4", + "onAddCommand": { + "clickTrackingParams": "COgBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "u6tuZ7plOa4", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "COgBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "Cgt1NnR1WjdwbE9hNA%3D%3D", + "commands": [ + { + "clickTrackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "COcBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "COQBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "44 minutes, 51 seconds" + } + }, + "simpleText": "44:51" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "COYBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "u6tuZ7plOa4", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "COYBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "u6tuZ7plOa4" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "COYBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "COUBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "COUBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "u6tuZ7plOa4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "COUBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "u6tuZ7plOa4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "u6tuZ7plOa4" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "COUBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/u6tuZ7plOa4/mqdefault_6s.webp?du=3000&sqp=COi1jLAG&rs=AOn4CLD_P0hFROlVU-Q8XQbTA-RBIBl9Zw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "COMBEJmNBRgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "gZIRPJt69sM", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgHSw4ma5wo_wloJIzb_3L6-BAaQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRUMcrDRkPOCBHD6i1bJpPuQyj_g", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwXmNXxSwqFtdNawCfFwbucc3u9A", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/gZIRPJt69sM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBUaLo7Nv3DbZva82FOIY_ChHG3fw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1601 - How VFD (Vacuum Fluorescent) Displays Work" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1601 - How VFD (Vacuum Fluorescent) Displays Work by EEVblog 23,312 views 4 weeks ago 10 minutes, 6 seconds" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "How VFD (Vacuum Fluorescent) Displays Work.\nExtracted from a hacking video #717: https://www.youtube.com/watch?v=clUVEyi_YNM\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1601-how-vfd-(vacuum-..." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 weeks ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "10 minutes, 6 seconds" + } + }, + "simpleText": "10:06" + }, + "viewCountText": { + "simpleText": "23,312 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=gZIRPJt69sM", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "gZIRPJt69sM", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8192113c9b7af6c3&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQMPt69vJp4TJgQE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "23K views" + } + }, + "simpleText": "23K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "COIBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "COIBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "gZIRPJt69sM", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "COIBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "gZIRPJt69sM" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "gZIRPJt69sM" + ] + } + } + ] + } + }, + "trackingParams": "COIBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "COEBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "gZIRPJt69sM", + "onAddCommand": { + "clickTrackingParams": "COEBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "gZIRPJt69sM", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "COEBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtnWklSUEp0NjlzTQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "COABEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CN0BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "10 minutes, 6 seconds" + } + }, + "simpleText": "10:06" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CN8BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "gZIRPJt69sM", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CN8BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "gZIRPJt69sM" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CN8BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CN4BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CN4BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "gZIRPJt69sM", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CN4BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "gZIRPJt69sM" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "gZIRPJt69sM" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CN4BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/gZIRPJt69sM/mqdefault_6s.webp?du=3000&sqp=CLGxjLAG&rs=AOn4CLAXFTKEnV9U60vvEju5pgMa-UezPg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CNwBEJmNBRgEIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "SGwHRImfE4E", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAX6ecM7rCaBFym8pyYPrWnYwbGuA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDXmFxtcPiAVEG7zmr1amWN3Td4Pg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8ZePkxoFVNGAqUrRwEWX2DRxKFg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/SGwHRImfE4E/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCJXFjDYNXUM_QSZce45bOadBgiAA", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1600 - Rouute: Road Based Energy BUSTED" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1600 - Rouute: Road Based Energy BUSTED by EEVblog 70,912 views 1 month ago 21 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Rouute: Road Based Energy! Harvest kinestic energy from cars using speed bumps. Will this decarbonise and save the planet? Do the numbers add up?\n\nhttps://www.rouute.com/road-based-energy\nDiscount..." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "21 minutes, 57 seconds" + } + }, + "simpleText": "21:57" + }, + "viewCountText": { + "simpleText": "70,912 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=SGwHRImfE4E", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "SGwHRImfE4E", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=486c0744899f1381&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQIGn_MzI6IG2SA==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "70K views" + } + }, + "simpleText": "70K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNsBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CNsBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "SGwHRImfE4E", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CNsBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "SGwHRImfE4E" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "SGwHRImfE4E" + ] + } + } + ] + } + }, + "trackingParams": "CNsBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CNoBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "SGwHRImfE4E", + "onAddCommand": { + "clickTrackingParams": "CNoBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "SGwHRImfE4E", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CNoBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtTR3dIUkltZkU0RQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CNkBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CNYBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "21 minutes, 57 seconds" + } + }, + "simpleText": "21:57" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CNgBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "SGwHRImfE4E", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CNgBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "SGwHRImfE4E" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CNgBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CNcBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CNcBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "SGwHRImfE4E", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CNcBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "SGwHRImfE4E" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "SGwHRImfE4E" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CNcBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/SGwHRImfE4E/mqdefault_6s.webp?du=3000&sqp=CObBjLAG&rs=AOn4CLDGvTQnwevoISSDpvyOX23XTnOX-w", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CNUBEJmNBRgFIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "XYdmX8w8xwI", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBrEHr6sXxajy0arfVzB9rlF1APVg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqz9bAHSQ72iytzM1ioyIesJo9rA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtG_u9CWg-VhHWEfF0yIWqHfmQTg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/XYdmX8w8xwI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB-n4BcMAgWcLsi3ssO65lR7PcESQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1599 - TOP 5 Jellybean Bipolar Transistors" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1599 - TOP 5 Jellybean Bipolar Transistors by EEVblog 45,396 views 1 month ago 22 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The TOP 5 Jellybean Bipolar Junction Transistors (BJT)\n\n00:00 - What is a Jellybean Component?\n01:30 - Low Power BJT: 2N3904 / 3906, SMD Marking 1A\n06:49 - 2N2222\n08:52 - BC547 fanboys\n09:28..." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 50 seconds" + } + }, + "simpleText": "22:50" + }, + "viewCountText": { + "simpleText": "45,396 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=XYdmX8w8xwI", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "XYdmX8w8xwI", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5d87665fcc3cc702&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQIKO8-H8y9nDXQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "45K views" + } + }, + "simpleText": "45K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNQBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CNQBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "XYdmX8w8xwI", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CNQBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "XYdmX8w8xwI" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "XYdmX8w8xwI" + ] + } + } + ] + } + }, + "trackingParams": "CNQBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CNMBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "XYdmX8w8xwI", + "onAddCommand": { + "clickTrackingParams": "CNMBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "XYdmX8w8xwI", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CNMBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtYWWRtWDh3OHh3SQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CNIBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CM8BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 50 seconds" + } + }, + "simpleText": "22:50" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CNEBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "XYdmX8w8xwI", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CNEBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "XYdmX8w8xwI" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CNEBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CNABEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CNABEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "XYdmX8w8xwI", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CNABEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "XYdmX8w8xwI" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "XYdmX8w8xwI" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CNABEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/XYdmX8w8xwI/mqdefault_6s.webp?du=3000&sqp=CPC9jLAG&rs=AOn4CLDdQaa8jVUGcNPoH_i0u95vN76MCg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CM4BEJmNBRgGIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "igQoD_I7Arw", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDh-14EGoep-9LhQ2xkHz4xkUD3jA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAfXU9U0rc1Q5j4f7Ct-jqx_RrckQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC7K7-Rh0rVBuLguj0VaZzRZ2Tm4Q", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/igQoD_I7Arw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEqV1YRK4RBIeVI_7QLzkNU0B14w", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1598 - ANENG AC11 Socket Tester TEARDOWN + SCHEMATIC Reverse Eng" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1598 - ANENG AC11 Socket Tester TEARDOWN + SCHEMATIC Reverse Eng by EEVblog 54,864 views 1 month ago 19 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Teardown and reverse engineering of the ANENG AC11 Smart Mains Socket Tester + DaveCAD schematic.\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1598-aneng-ac11-socket-tester-teardown-schematic..." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 47 seconds" + } + }, + "simpleText": "19:47" + }, + "viewCountText": { + "simpleText": "54,864 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=igQoD_I7Arw", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "igQoD_I7Arw", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8a04280ff23b02bc&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQLyF7JH_gYqCigE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "54K views" + } + }, + "simpleText": "54K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CM0BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CM0BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "igQoD_I7Arw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CM0BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "igQoD_I7Arw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "igQoD_I7Arw" + ] + } + } + ] + } + }, + "trackingParams": "CM0BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CMwBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "igQoD_I7Arw", + "onAddCommand": { + "clickTrackingParams": "CMwBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "igQoD_I7Arw", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CMwBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtpZ1FvRF9JN0Fydw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CMsBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CMgBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 47 seconds" + } + }, + "simpleText": "19:47" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CMoBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "igQoD_I7Arw", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CMoBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "igQoD_I7Arw" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CMoBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CMkBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CMkBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "igQoD_I7Arw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CMkBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "igQoD_I7Arw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "igQoD_I7Arw" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CMkBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/igQoD_I7Arw/mqdefault_6s.webp?du=3000&sqp=CNixjLAG&rs=AOn4CLAk0aY6YwImlH_3duDsGJyarfvjSg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CMcBEJmNBRgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "kpzNVsSmUu0", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAPg-goL1Tq9bpbFq9Ni64B0n3o_A", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw1Oq_Nej8ADOSEuf4kHx4RCkvIQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLByIc5t3TIxU-SnKQ18UCRVbRhFQg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/kpzNVsSmUu0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDBCboNAHxJphNAxlsIedScp9zQTQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1597 - Zoyi ZT-703S $80 2CH 50MHz Oscilloscope/Multimeter Review" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1597 - Zoyi ZT-703S $80 2CH 50MHz Oscilloscope/Multimeter Review by EEVblog 145,453 views 1 month ago 29 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Looking at the new $80 Zoyi/Zotech ZT703S Dual channel 50MHz 25,000 count 0.05% handheld oscilloscope/multimeter compared to the single channel 10MHz 10,000 count ZT702S\nhttps://s.click.aliexpress...." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 52 seconds" + } + }, + "simpleText": "29:52" + }, + "viewCountText": { + "simpleText": "145,453 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=kpzNVsSmUu0", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "kpzNVsSmUu0", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=929ccd56c4a652ed&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQO2lmaXsqrPOkgE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "145K views" + } + }, + "simpleText": "145K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMYBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CMYBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "kpzNVsSmUu0", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CMYBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "kpzNVsSmUu0" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "kpzNVsSmUu0" + ] + } + } + ] + } + }, + "trackingParams": "CMYBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CMUBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "kpzNVsSmUu0", + "onAddCommand": { + "clickTrackingParams": "CMUBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "kpzNVsSmUu0", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CMUBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtrcHpOVnNTbVV1MA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CMQBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CMEBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 52 seconds" + } + }, + "simpleText": "29:52" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CMMBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "kpzNVsSmUu0", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CMMBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "kpzNVsSmUu0" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CMMBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CMIBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CMIBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "kpzNVsSmUu0", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CMIBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "kpzNVsSmUu0" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "kpzNVsSmUu0" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CMIBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/kpzNVsSmUu0/mqdefault_6s.webp?du=3000&sqp=CJ20jLAG&rs=AOn4CLDNUCBhSwrlSUSJyWf4lXw-kgZ8cg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CMABEJmNBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "AUsENwVjiDQ", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfOMU68_jSX9nkY3L8dhS8Cv4kOQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCnvjM2BZHjgyIQJV1I1ZQ_RXk2Tg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCNGhrJhe7PZltk0wDJDdV5IFRpdA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/AUsENwVjiDQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDs6dRcR4txFRhzlFaSS1JSRPFM7g", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1596 - NEW Digilent Analog Discovery Pro ADP2230 TEARDOWN" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1596 - NEW Digilent Analog Discovery Pro ADP2230 TEARDOWN by EEVblog 37,347 views 1 month ago 20 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Teardown of the UNRELEASED Digilent Analog Discovery Pro ADP2230\nIt will be released on the 29th Feb 2024 for US$695\nFeaturing the AvE Widlarizer!\nhttps://digilent.com/reference/test-and-measuremen..." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "20 minutes, 12 seconds" + } + }, + "simpleText": "20:12" + }, + "viewCountText": { + "simpleText": "37,347 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=AUsENwVjiDQ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "AUsENwVjiDQ", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=014b043705638834&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQLSQjqvwhsGlAQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "37K views" + } + }, + "simpleText": "37K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CL8BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CL8BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AUsENwVjiDQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CL8BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AUsENwVjiDQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AUsENwVjiDQ" + ] + } + } + ] + } + }, + "trackingParams": "CL8BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CL4BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "AUsENwVjiDQ", + "onAddCommand": { + "clickTrackingParams": "CL4BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "AUsENwVjiDQ", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CL4BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtBVXNFTndWamlEUQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CL0BEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CLoBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "20 minutes, 12 seconds" + } + }, + "simpleText": "20:12" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CLwBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "AUsENwVjiDQ", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CLwBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "AUsENwVjiDQ" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CLwBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CLsBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CLsBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AUsENwVjiDQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CLsBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AUsENwVjiDQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AUsENwVjiDQ" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CLsBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/AUsENwVjiDQ/mqdefault_6s.webp?du=3000&sqp=CMCqjLAG&rs=AOn4CLBvTekoWKeFbS5DpsaZJ7Uv1U1Fog", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CLkBEJmNBRgJIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "nEmO8DcOap4", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCajo6A-qIwGioGsM1c0wzSBfiing", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3pojZkVS4aTcVgyTCmcTPSr1vOg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCxkPEaPujMTuU3fOw7H1I7rsZ_FQ", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/nEmO8DcOap4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDGMmn8M8ZHRajlM0W-ezuuqsGPGg", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1595 - 50 Year Chinese Nuclear Diamond Battery!" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1595 - 50 Year Chinese Nuclear Diamond Battery! by EEVblog 145,315 views 1 month ago 17 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A Chinese startup has developed a tiny 50 year life diamond nuclear battery that's going to change the world! Yeah, nah. Same old betavoltaic, same old limitations, and same old startup marketing..." + } + ] + }, + "publishedTimeText": { + "simpleText": "1 month ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 31 seconds" + } + }, + "simpleText": "17:31" + }, + "viewCountText": { + "simpleText": "145,315 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=nEmO8DcOap4", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "nEmO8DcOap4", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9c498ef0370e6a9e&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQJ7VubiD3uOknAE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "145K views" + } + }, + "simpleText": "145K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLgBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CLgBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "nEmO8DcOap4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CLgBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "nEmO8DcOap4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "nEmO8DcOap4" + ] + } + } + ] + } + }, + "trackingParams": "CLgBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CLcBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "nEmO8DcOap4", + "onAddCommand": { + "clickTrackingParams": "CLcBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "nEmO8DcOap4", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CLcBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtuRW1POERjT2FwNA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CLYBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CLMBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 31 seconds" + } + }, + "simpleText": "17:31" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CLUBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "nEmO8DcOap4", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CLUBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "nEmO8DcOap4" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CLUBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CLQBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CLQBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "nEmO8DcOap4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CLQBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "nEmO8DcOap4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "nEmO8DcOap4" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CLQBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/nEmO8DcOap4/mqdefault_6s.webp?du=3000&sqp=CPS4jLAG&rs=AOn4CLAnfEs4ODBLk4oK_l0p5bVVqJZjPA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CLIBEJmNBRgKIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "fIEH4-P2nyQ", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRMUDhvpmmRPm6XLU21VstvzTzRw", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD8DHZzlUMtmxLLN-qA9Zd-WQtn-A", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC5C05Q_taEr6dJ_7ZZUsNAlMnxOA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/fIEH4-P2nyQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfV1MQkPXlSfBEI76RXVHguwrqcQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1594 - Inside a Quantum Computer! with Andrea Morello" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1594 - Inside a Quantum Computer! with Andrea Morello by EEVblog 73,277 views 2 months ago 1 hour, 34 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "An in-depth look at the engineering inside a quantum computer, and also demonstrating the operational results live and how they are measured.\nWith Professor Andrea Morello who is the Scientia..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "1 hour, 34 minutes, 10 seconds" + } + }, + "simpleText": "1:34:10" + }, + "viewCountText": { + "simpleText": "73,277 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=fIEH4-P2nyQ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "fIEH4-P2nyQ", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=7c8107e3e3f69f24&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQKS-2p--_MHAfA==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "73K views" + } + }, + "simpleText": "73K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLEBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CLEBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "fIEH4-P2nyQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CLEBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "fIEH4-P2nyQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "fIEH4-P2nyQ" + ] + } + } + ] + } + }, + "trackingParams": "CLEBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CLABENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "fIEH4-P2nyQ", + "onAddCommand": { + "clickTrackingParams": "CLABENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "fIEH4-P2nyQ", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CLABENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtmSUVINC1QMm55UQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CK8BEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CKwBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "1 hour, 34 minutes, 10 seconds" + } + }, + "simpleText": "1:34:10" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CK4BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "fIEH4-P2nyQ", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CK4BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "fIEH4-P2nyQ" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CK4BEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CK0BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CK0BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "fIEH4-P2nyQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CK0BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "fIEH4-P2nyQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "fIEH4-P2nyQ" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CK0BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/fIEH4-P2nyQ/mqdefault_6s.webp?du=3000&sqp=CPzIjLAG&rs=AOn4CLBsQ9tqmOZTiDP5fXX78pYUi6qu3A", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CKsBEJmNBRgLIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "cO45J-8qTZ4", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA4xdKXs7GYV215wv6CHdGcgCSKkg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIVwZLpawWUVY9fJPfKUZb109HRQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD49Mep9rt3px3yoVjxbgBwn55AVA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/cO45J-8qTZ4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCMf82skBbiBKUlk_rjtz1w3Rtuug", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1593 - 16kV ESD Tester REPAIR - Part 2" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1593 - 16kV ESD Tester REPAIR - Part 2 by EEVblog 24,722 views 2 months ago 27 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Repairing the Haefely Trench PESD-1600 ESD Tester, plus some testing and discussion of the IEC 61000-4-2 standard.\nPart 1 teardown: https://www.youtube.com/watch?v=-xtZvSG4N9I\nRotary encoder..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 16 seconds" + } + }, + "simpleText": "27:16" + }, + "viewCountText": { + "simpleText": "24,722 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=cO45J-8qTZ4", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "cO45J-8qTZ4", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=70ee3927ef2a4d9e&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQJ6bqfn-pI73cA==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "24K views" + } + }, + "simpleText": "24K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKoBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CKoBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "cO45J-8qTZ4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CKoBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "cO45J-8qTZ4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "cO45J-8qTZ4" + ] + } + } + ] + } + }, + "trackingParams": "CKoBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CKkBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "cO45J-8qTZ4", + "onAddCommand": { + "clickTrackingParams": "CKkBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "cO45J-8qTZ4", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CKkBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtjTzQ1Si04cVRaNA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CKgBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CKUBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 16 seconds" + } + }, + "simpleText": "27:16" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CKcBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "cO45J-8qTZ4", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CKcBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "cO45J-8qTZ4" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CKcBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CKYBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CKYBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "cO45J-8qTZ4", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CKYBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "cO45J-8qTZ4" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "cO45J-8qTZ4" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CKYBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/cO45J-8qTZ4/mqdefault_6s.webp?du=3000&sqp=CKyvjLAG&rs=AOn4CLArEIEvqH6i_K71xjnD1FsERCw7fg", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CKQBEJmNBRgMIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "AFz0qmkq4LM", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA7MqMPizOmrSHoXDsieAhELhYHCg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvVNDGakUPgksdzQoVBtnuFoEhOw", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBBqAmgDGBFIKlKfeeIhlSQ2q78Q", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/AFz0qmkq4LM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzn6AUQPf5LEwXE-iFLWsDikereg", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1592 - Fluke 287 Multimeter Teardown" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1592 - Fluke 287 Multimeter Teardown by EEVblog 51,408 views 2 months ago 17 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Fluke 287 Multmeter Teardown.\nTesting video: https://www.youtube.com/watch?v=FgkD8K0Ssdc\nForum: https://www.eevblog.com/forum/blog/eevblog-1592-fluke-287-multimeter-teardown/\nTeardown photos:..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 2 seconds" + } + }, + "simpleText": "17:02" + }, + "viewCountText": { + "simpleText": "51,408 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=AFz0qmkq4LM", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "AFz0qmkq4LM", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=005cf4aa692ae0b3&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQLPBq8mmlb0u", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "51K views" + } + }, + "simpleText": "51K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKMBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CKMBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AFz0qmkq4LM", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CKMBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AFz0qmkq4LM" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AFz0qmkq4LM" + ] + } + } + ] + } + }, + "trackingParams": "CKMBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CKIBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "AFz0qmkq4LM", + "onAddCommand": { + "clickTrackingParams": "CKIBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "AFz0qmkq4LM", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CKIBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtBRnowcW1rcTRMTQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CKEBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CJ4BENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 2 seconds" + } + }, + "simpleText": "17:02" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CKABEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "AFz0qmkq4LM", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CKABEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "AFz0qmkq4LM" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CKABEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CJ8BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CJ8BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AFz0qmkq4LM", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CJ8BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AFz0qmkq4LM" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AFz0qmkq4LM" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CJ8BEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/AFz0qmkq4LM/mqdefault_6s.webp?du=3000&sqp=COPSjLAG&rs=AOn4CLAFjWUTmjS8kvgzLmhTE1ARLzJ8Lw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CJ0BEJmNBRgNIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "bnQCKa6GNWo", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA71_sOs1fDAGBk2WJtxxOi6R_4KA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBM0aU_1BnOHPMgdOl0hCrcTSDq1Q", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCdBRH0B7FOEPeVDjAoLirUoqD6TA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/bnQCKa6GNWo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD2hbFGTjn9QOr3EVE-k0AAdLLcng", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1591 - MORE Colas Wattway Solar Cycleways in the Netherlands!" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1591 - MORE Colas Wattway Solar Cycleways in the Netherlands! by EEVblog 48,969 views 2 months ago 22 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Colas Wattway is back with the two 1000sqm solar cycleway installations in the Netherlands!\nhttps://electrek.co/2023/12/18/dutch-riding-bikes-solar-cycle-paths/\n\nJust 4 months ago! https://www.yout..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 23 seconds" + } + }, + "simpleText": "22:23" + }, + "viewCountText": { + "simpleText": "48,969 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=bnQCKa6GNWo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "bnQCKa6GNWo", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6e740229ae86356a&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQOrqmPSaxYC6bg==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "48K views" + } + }, + "simpleText": "48K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJwBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CJwBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "bnQCKa6GNWo", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CJwBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "bnQCKa6GNWo" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "bnQCKa6GNWo" + ] + } + } + ] + } + }, + "trackingParams": "CJwBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CJsBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "bnQCKa6GNWo", + "onAddCommand": { + "clickTrackingParams": "CJsBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "bnQCKa6GNWo", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CJsBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtiblFDS2E2R05Xbw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CJoBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CJcBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 23 seconds" + } + }, + "simpleText": "22:23" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CJkBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "bnQCKa6GNWo", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CJkBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "bnQCKa6GNWo" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CJkBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CJgBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CJgBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "bnQCKa6GNWo", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CJgBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "bnQCKa6GNWo" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "bnQCKa6GNWo" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CJgBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/bnQCKa6GNWo/mqdefault_6s.webp?du=3000&sqp=CLLLjLAG&rs=AOn4CLCMgCJhKqZ_peoX_BWDflzbBeOd6g", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CJYBEJmNBRgOIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "-g-MD69V0CU", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDjLnRunCSuUYAmnxKgbuSTJHshrA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCnpcRQQJ6UdKU5pBPE5DoM1a29Ug", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCBsP1C14m96X9-F53bOjynIH9a3A", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/-g-MD69V0CU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB3TuJnDbUdOSUr-oJdRFkPKrUPSw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1590 - Cheap $33 Boombox Teardown" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1590 - Cheap $33 Boombox Teardown by EEVblog 49,405 views 2 months ago 19 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Is a modern $33 boombox from Kmart any good?\n\nTHE 80's boombox teardown: https://www.youtube.com/watch?v=hULNdrsh6uw\nBoombox REPAIR: https://www.youtube.com/watch?v=8ToVCAhLg8A\n\nForum: https://www...." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 51 seconds" + } + }, + "simpleText": "19:51" + }, + "viewCountText": { + "simpleText": "49,405 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=-g-MD69V0CU", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "-g-MD69V0CU", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fa0f8c0faf55d025&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQKWg1_r6geOH-gE=", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "49K views" + } + }, + "simpleText": "49K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJUBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CJUBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "-g-MD69V0CU", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CJUBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "-g-MD69V0CU" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "-g-MD69V0CU" + ] + } + } + ] + } + }, + "trackingParams": "CJUBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CJQBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "-g-MD69V0CU", + "onAddCommand": { + "clickTrackingParams": "CJQBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "-g-MD69V0CU", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CJQBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgstZy1NRDY5VjBDVQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CJMBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CJABENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 51 seconds" + } + }, + "simpleText": "19:51" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CJIBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "-g-MD69V0CU", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CJIBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "-g-MD69V0CU" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CJIBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CJEBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CJEBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "-g-MD69V0CU", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CJEBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "-g-MD69V0CU" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "-g-MD69V0CU" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CJEBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/-g-MD69V0CU/mqdefault_6s.webp?du=3000&sqp=CKPQjLAG&rs=AOn4CLDkQ72c4u_sBzSTRPYa6DCHS5gC4w", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CI8BEJmNBRgPIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "KKMrT2HeRsQ", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgZShbMA8=&rs=AOn4CLBigIAgMdNzHkMH9gB4lgiwfXy-Yg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGIgZShbMA8=&rs=AOn4CLChNMPDTpMIcZK42mT4mlvYA26DNA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhiIGUoWzAP&rs=AOn4CLCM5qQo9J2YdtrGVcz3WKws4i4KHw", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/KKMrT2HeRsQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhiIGUoWzAP&rs=AOn4CLCIInd_b6uxUyrLvjr8SLIn1aBVlw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1589 - CCD Scanner Array" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1589 - CCD Scanner Array by EEVblog 24,160 views 2 months ago 14 minutes, 32 seconds" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A closer look at the scanner array head from the dumpster FAX machine teardown.\n\n00:00 - Linear Scanner Array\n04:40 - CCD sensor grouping\n08:24 - The optical zebra strip\n11:30 - Under the x400..." + } + ] + }, + "publishedTimeText": { + "simpleText": "2 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "14 minutes, 32 seconds" + } + }, + "simpleText": "14:32" + }, + "viewCountText": { + "simpleText": "24,160 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=KKMrT2HeRsQ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "KKMrT2HeRsQ", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=28a32b4f61de46c4&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQMSN-Y726crRKA==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "24K views" + } + }, + "simpleText": "24K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CI4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "KKMrT2HeRsQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CI4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "KKMrT2HeRsQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "KKMrT2HeRsQ" + ] + } + } + ] + } + }, + "trackingParams": "CI4BEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CI0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "KKMrT2HeRsQ", + "onAddCommand": { + "clickTrackingParams": "CI0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "KKMrT2HeRsQ", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CI0BENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtLS01yVDJIZVJzUQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CIwBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CIkBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "14 minutes, 32 seconds" + } + }, + "simpleText": "14:32" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CIsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "KKMrT2HeRsQ", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CIsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "KKMrT2HeRsQ" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CIsBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CIoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CIoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "KKMrT2HeRsQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CIoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "KKMrT2HeRsQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "KKMrT2HeRsQ" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CIoBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/KKMrT2HeRsQ/mqdefault_6s.webp?du=3000&sqp=CPSXjLAG&rs=AOn4CLAi549dq3IxKiObInOWOHXykBlSlA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CIgBEJmNBRgQIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "W_W_BDcebao", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAgwPWx85cGEbBtxXot2PtP7Z12bQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQz7mTB-mLsP9kZy6A5tEIzc-lJg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA16LtERNyYUhPNardaLA0xGa53Kg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/W_W_BDcebao/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAptKADGms1JjbIo-Nk_uwsYxFLUQ", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1588 - Virgin Hyperloop One Goes BUST!" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1588 - Virgin Hyperloop One Goes BUST! by EEVblog 56,586 views 3 months ago 29 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The Elon Musk vision of Hyperloop has come-a-gutsa. Vigin Hyperloop One has gone out of business. Who could have predicted it?\nAnd who's left standing in the Hyperloop world?\nPart 2: TUM Hyperloop:..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 43 seconds" + } + }, + "simpleText": "29:43" + }, + "viewCountText": { + "simpleText": "56,586 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeWhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1GaAQMQ8jg=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=W_W_BDcebao", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "W_W_BDcebao", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5bf5bf04371e6daa&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbeQKrb-bjD4O_6Ww==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "56K views" + } + }, + "simpleText": "56K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CIcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "W_W_BDcebao", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CIcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "W_W_BDcebao" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "W_W_BDcebao" + ] + } + } + ] + } + }, + "trackingParams": "CIcBEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CIYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "offlineVideoEndpoint": { + "videoId": "W_W_BDcebao", + "onAddCommand": { + "clickTrackingParams": "CIYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe", + "getDownloadActionCommand": { + "videoId": "W_W_BDcebao", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CIYBENGqBRgIIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtXX1dfQkRjZWJhbw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CIUBEI5iIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + ], + "trackingParams": "CIIBENwwIhMIv-qO59yShQMV0R8GAB0bsgbe", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 43 seconds" + } + }, + "simpleText": "29:43" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CIQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "W_W_BDcebao", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CIQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "W_W_BDcebao" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CIQBEPnnAxgCIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CIMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CIMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "W_W_BDcebao", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CIMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "W_W_BDcebao" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "W_W_BDcebao" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CIMBEMfsBBgDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/W_W_BDcebao/mqdefault_6s.webp?du=3000&sqp=CJrLjLAG&rs=AOn4CLCYJeswzXIRxFuxLzYMOqZCqG932w", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CIEBEJmNBRgRIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "FknxWtZkuUE", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXChUMA8=&rs=AOn4CLBGke3u13MxDYsi4cLbME7jckVKuw", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXChUMA8=&rs=AOn4CLBik13O4ddFMDmmOFqI0E7GAHaxwA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFwoVDAP&rs=AOn4CLAhqflsQgDfCpLOuVx76xOnZMJWrw", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/FknxWtZkuUE/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFwoVDAP&rs=AOn4CLAZi82kenLuT10YrEc4jR2sHigcPw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1587 - Dumpster FAX Teardown" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1587 - Dumpster FAX Teardown by EEVblog 21,250 views 3 months ago 19 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Teardown of a Brother FAX machine found in the dumpster, just because.\nForum: https://www.eevblog.com/forum/blog/eevblog-1587-dumpster-fax-teardown/\n\n\nIf you find my videos useful you may consider..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 45 seconds" + } + }, + "simpleText": "19:45" + }, + "viewCountText": { + "simpleText": "21,250 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=FknxWtZkuUE", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "FknxWtZkuUE", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1649f15ad664b941&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5AwfKSs62r_KQW", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "21K views" + } + }, + "simpleText": "21K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CIABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "FknxWtZkuUE", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CIABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "FknxWtZkuUE" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "FknxWtZkuUE" + ] + } + } + ] + } + }, + "trackingParams": "CIABEP6YBBgHIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CH8Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "FknxWtZkuUE", + "onAddCommand": { + "clickTrackingParams": "CH8Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "FknxWtZkuUE", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CH8Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtGa254V3Raa3VVRQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CH4QjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CHsQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 45 seconds" + } + }, + "simpleText": "19:45" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CH0Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "FknxWtZkuUE", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CH0Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "FknxWtZkuUE" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CH0Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CHwQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CHwQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "FknxWtZkuUE", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CHwQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "FknxWtZkuUE" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "FknxWtZkuUE" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CHwQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/FknxWtZkuUE/mqdefault_6s.webp?du=3000&sqp=CIXEjLAG&rs=AOn4CLCl4uYSkpev6fX8rgbvK4xaEhCiZA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CHoQmY0FGBIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "AuFSMpFzAnw", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrpv-fSn1pwpshPv-QWXV6jeFCiw", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUMFdAy0xuIpgEQOsBy5UqKyATPw", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAxNwGVeljlwit2jXNRLuKw4VDXhg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/AuFSMpFzAnw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAEKVLY8uPv8V-V9xzdtX6ib8mhZw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "eevBLAB 117 - The Youtube Bot Comment Problem" + } + ], + "accessibility": { + "accessibilityData": { + "label": "eevBLAB 117 - The Youtube Bot Comment Problem by EEVblog 23,126 views 3 months ago 4 minutes, 59 seconds" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The huge Youtube bot comment spam problem has to end.\nForum: https://www.eevblog.com/forum/blog/eevblab-117-the-youtube-porn-bot-comment-problem/\n\nIf you find my videos useful you may consider..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "4 minutes, 59 seconds" + } + }, + "simpleText": "4:59" + }, + "viewCountText": { + "simpleText": "23,126 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=AuFSMpFzAnw", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "AuFSMpFzAnw", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=02e152329173027c&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5A_ITMi6nG1PAC", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "23K views" + } + }, + "simpleText": "23K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHkQ_pgEGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CHkQ_pgEGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AuFSMpFzAnw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CHkQ_pgEGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AuFSMpFzAnw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AuFSMpFzAnw" + ] + } + } + ] + } + }, + "trackingParams": "CHkQ_pgEGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CHgQ0aoFGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "AuFSMpFzAnw", + "onAddCommand": { + "clickTrackingParams": "CHgQ0aoFGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "AuFSMpFzAnw", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CHgQ0aoFGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtBdUZTTXBGekFudw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CHcQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CHQQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "4 minutes, 59 seconds" + } + }, + "simpleText": "4:59" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CHYQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "AuFSMpFzAnw", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CHYQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "AuFSMpFzAnw" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CHYQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CHUQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CHUQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "AuFSMpFzAnw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CHUQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "AuFSMpFzAnw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "AuFSMpFzAnw" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CHUQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ] + } + }, + "trackingParams": "CHMQmY0FGBMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "WIEb1Zd1NdI", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD5ndIPZJndQkkrCcT_SbrBWdBXaA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArJNxp3V0M_9kH7bCTUJtiB-oNJQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA6EJKuGz-aJASBI9RzKNGBuKhmDg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/WIEb1Zd1NdI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1Atq4K6famlQ0WMrT6SPcQdSUmg", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1586 - Stranger Things Decade Resistor Box + Repair" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1586 - Stranger Things Decade Resistor Box + Repair by EEVblog 42,940 views 3 months ago 16 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A $12 6 decade resistor box, is it any good?\nAnd it's not every day you have to repair a brand new product.\nhttps://s.click.aliexpress.com/e/_Ddfe4PL\nhttps://s.click.aliexpress.com/e/_DnK2irb..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "16 minutes, 8 seconds" + } + }, + "simpleText": "16:08" + }, + "viewCountText": { + "simpleText": "42,940 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=WIEb1Zd1NdI", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "WIEb1Zd1NdI", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=58811bd5977535d2&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5A0uvUu9n6xsBY", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "42K views" + } + }, + "simpleText": "42K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHIQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CHIQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "WIEb1Zd1NdI", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CHIQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "WIEb1Zd1NdI" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "WIEb1Zd1NdI" + ] + } + } + ] + } + }, + "trackingParams": "CHIQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CHEQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "WIEb1Zd1NdI", + "onAddCommand": { + "clickTrackingParams": "CHEQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "WIEb1Zd1NdI", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CHEQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtXSUViMVpkMU5kSQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CHAQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CG0Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "16 minutes, 8 seconds" + } + }, + "simpleText": "16:08" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CG8Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "WIEb1Zd1NdI", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CG8Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "WIEb1Zd1NdI" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CG8Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CG4Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CG4Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "WIEb1Zd1NdI", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CG4Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "WIEb1Zd1NdI" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "WIEb1Zd1NdI" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CG4Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/WIEb1Zd1NdI/mqdefault_6s.webp?du=3000&sqp=COzAjLAG&rs=AOn4CLB1PVRwr1GZF8yuM_QPOjd_eezIWA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CGwQmY0FGBQiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "PhGPacEg3zw", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBluu7atTRGHN9p5mhKoCjtJcQCQA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBVyhkIIYxEY8tWrvwUDP_uPW_0GA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC0tvz4rEY0usPCIsx6tiCQh81eAw", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/PhGPacEg3zw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASwFdk5zIuZ2cOecCtcqkNxCBPnw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1585 - SCAM! Portable Kinetic Molecular Heater BUSTED" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1585 - SCAM! Portable Kinetic Molecular Heater BUSTED by EEVblog 48,996 views 3 months ago 19 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The Portable Kinetic Molecular Heater is an obvious SCAM.\nWe shouldn't have to look at why, but let's do it anyway.\n\nForum: https://www.eevblog.com/forum/blog/eevblog-1585-scam!-portable-kinetic-mo..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 26 seconds" + } + }, + "simpleText": "19:26" + }, + "viewCountText": { + "simpleText": "48,996 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=PhGPacEg3zw", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "PhGPacEg3zw", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3e118f69c120df3c&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5AvL6DiZzt44g-", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "48K views" + } + }, + "simpleText": "48K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGsQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CGsQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "PhGPacEg3zw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CGsQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "PhGPacEg3zw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "PhGPacEg3zw" + ] + } + } + ] + } + }, + "trackingParams": "CGsQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CGoQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "PhGPacEg3zw", + "onAddCommand": { + "clickTrackingParams": "CGoQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "PhGPacEg3zw", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CGoQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtQaEdQYWNFZzN6dw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CGkQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CGYQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "19 minutes, 26 seconds" + } + }, + "simpleText": "19:26" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CGgQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "PhGPacEg3zw", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CGgQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "PhGPacEg3zw" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CGgQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CGcQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CGcQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "PhGPacEg3zw", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CGcQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "PhGPacEg3zw" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "PhGPacEg3zw" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CGcQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/PhGPacEg3zw/mqdefault_6s.webp?du=3000&sqp=CNTRjLAG&rs=AOn4CLCawg0Iwa0_xqEKCT0BbdLamG9OCw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CGUQmY0FGBUiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "sisD61ohzK0", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAX1Q1G-ek-lBZwvIlTXGO6UYPmEA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDK5abYrCa9sCDFhbSbc5l5D9VFgg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDCdVqoCSmOa_ymbbFmwJscfA4A7Q", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/sisD61ohzK0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBEnUHLoe1Y_oaS4XHBiF_OYBG2yw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1584 - Wireless Freakin' EV Charging Roads! A $250M Boondoggle" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1584 - Wireless Freakin' EV Charging Roads! A $250M Boondoggle by EEVblog 49,899 views 3 months ago 29 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The US Department of Transport have authorised a $250M grant program to fund Wireless EV charging roads. A look at the pilot program in Detroit Michigan with the startup company Electreon:..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 45 seconds" + } + }, + "simpleText": "29:45" + }, + "viewCountText": { + "simpleText": "49,899 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=sisD61ohzK0", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "sisD61ohzK0", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b22b03eb5a21ccad&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5ArZmH0bX9wJWyAQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "49K views" + } + }, + "simpleText": "49K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGQQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CGQQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "sisD61ohzK0", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CGQQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "sisD61ohzK0" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "sisD61ohzK0" + ] + } + } + ] + } + }, + "trackingParams": "CGQQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CGMQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "sisD61ohzK0", + "onAddCommand": { + "clickTrackingParams": "CGMQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "sisD61ohzK0", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CGMQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtzaXNENjFvaHpLMA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CGIQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CF8Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 45 seconds" + } + }, + "simpleText": "29:45" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CGEQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "sisD61ohzK0", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CGEQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "sisD61ohzK0" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CGEQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CGAQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CGAQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "sisD61ohzK0", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CGAQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "sisD61ohzK0" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "sisD61ohzK0" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CGAQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/sisD61ohzK0/mqdefault_6s.webp?du=3000&sqp=CKTTjLAG&rs=AOn4CLCeaJdoU82LcP_lKeVqakZ75XSwcA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CF4QmY0FGBYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "1YK_GlnUlI8", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6wJK1kBMorZs7ba2ny9fNdGA8yQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAz1_NlQZNe-2-619L3yD86bobmQA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDlw133uPnQlqJdk92hW1XNNdg_iA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/1YK_GlnUlI8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCyFSnkXdizZScSRqxHW2UA_AWfyw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1583 - Advanced Oscilloscope Triggering: Glitch/Pulse/Runt/Interval" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1583 - Advanced Oscilloscope Triggering: Glitch/Pulse/Runt/Interval by EEVblog 24,076 views 3 months ago 22 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A practical demonstration on how to use advanced oscillocope trigger features to trigger on an unsyncronised infrequenct runt/glitch pulse.\nIncludes Pulse/Glitch, Runt, Interval, Zone triggering,..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 19 seconds" + } + }, + "simpleText": "22:19" + }, + "viewCountText": { + "simpleText": "24,076 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=1YK_GlnUlI8", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "1YK_GlnUlI8", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d582bf1a59d4948f&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5Aj6nSzqXjr8HVAQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "24K views" + } + }, + "simpleText": "24K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CF0Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CF0Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "1YK_GlnUlI8", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CF0Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "1YK_GlnUlI8" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "1YK_GlnUlI8" + ] + } + } + ] + } + }, + "trackingParams": "CF0Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CFwQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "1YK_GlnUlI8", + "onAddCommand": { + "clickTrackingParams": "CFwQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "1YK_GlnUlI8", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CFwQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgsxWUtfR2xuVWxJOA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CFsQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CFgQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "22 minutes, 19 seconds" + } + }, + "simpleText": "22:19" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CFoQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "1YK_GlnUlI8", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CFoQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "1YK_GlnUlI8" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CFoQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CFkQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CFkQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "1YK_GlnUlI8", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CFkQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "1YK_GlnUlI8" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "1YK_GlnUlI8" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CFkQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/1YK_GlnUlI8/mqdefault_6s.webp?du=3000&sqp=CO67jLAG&rs=AOn4CLCvZhUeF02PCY4mBpIgDmUFVfVPqA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CFcQmY0FGBciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "HR6_Lp7fH_c", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5ywdoHcjG1ge9V3fGZNJdrhDoxg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoJN2piQ_s5LKnnACOt4XuQUwe3g", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCqn_7bTbdgh0h803Wjt0pfvkIDGw", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/HR6_Lp7fH_c/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAj9fOW252TtK7YDHEOix09_Utw_w", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1582 - FNIRSI DPOX180H 180MHz DPO for $123?" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1582 - FNIRSI DPOX180H 180MHz DPO for $123? by EEVblog 149,964 views 3 months ago 27 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A look at the FNIRSI DPOX180H 180MHz Handheld Digital Phosphor Oscilloscope for $123.\nhttps://www.aliexpress.com/item/1005005564788266.html\nhttps://eevblog.store/products/eevblog-bm036-ac-dc-clamp-..." + } + ] + }, + "publishedTimeText": { + "simpleText": "3 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 30 seconds" + } + }, + "simpleText": "27:30" + }, + "viewCountText": { + "simpleText": "149,964 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=HR6_Lp7fH_c", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "HR6_Lp7fH_c", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1d1ebf2e9edf1ff7&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5A97_89unlr48d", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "149K views" + } + }, + "simpleText": "149K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFYQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CFYQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "HR6_Lp7fH_c", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CFYQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "HR6_Lp7fH_c" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "HR6_Lp7fH_c" + ] + } + } + ] + } + }, + "trackingParams": "CFYQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CFUQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "HR6_Lp7fH_c", + "onAddCommand": { + "clickTrackingParams": "CFUQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "HR6_Lp7fH_c", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CFUQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtIUjZfTHA3ZkhfYw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CFQQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CFEQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "27 minutes, 30 seconds" + } + }, + "simpleText": "27:30" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CFMQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "HR6_Lp7fH_c", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CFMQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "HR6_Lp7fH_c" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CFMQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CFIQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CFIQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "HR6_Lp7fH_c", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CFIQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "HR6_Lp7fH_c" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "HR6_Lp7fH_c" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CFIQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/HR6_Lp7fH_c/mqdefault_6s.webp?du=3000&sqp=CPLAjLAG&rs=AOn4CLBgupkIZD4lVo7jjfYPQGocqnzCeQ", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CFAQmY0FGBgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "m_8jh_MpWBE", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDHUvTCcc_XQO0MDCBTBOuXvixyuQ", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDw1oBMhbunOL68Ir0-NMHp2maDqQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDeTzuK2Z6cx5UF_sR8j45-KfYVLA", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/m_8jh_MpWBE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDY0xdTkroLDhjQdHqu30ll2-XBzA", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1581 - Tesla Roadster now OPEN SOURCE?" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1581 - Tesla Roadster now OPEN SOURCE? by EEVblog 52,290 views 4 months ago 17 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Elon Musk just announced that the Tesla Roadster is now open source! Do we get schematics? Let's have a look...\nhttps://service.tesla.com/roadster\nPart 2: https://www.youtube.com/watch?v=r7Cw3GVXl4..." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 12 seconds" + } + }, + "simpleText": "17:12" + }, + "viewCountText": { + "simpleText": "52,290 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=m_8jh_MpWBE", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "m_8jh_MpWBE", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=9bff2387f3295811&ip=79.250.144.228&initcwndbps=1366250&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5AkbClmf_wyP-bAQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "52K views" + } + }, + "simpleText": "52K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CE8Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CE8Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "m_8jh_MpWBE", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CE8Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "m_8jh_MpWBE" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "m_8jh_MpWBE" + ] + } + } + ] + } + }, + "trackingParams": "CE8Q_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CE4Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "m_8jh_MpWBE", + "onAddCommand": { + "clickTrackingParams": "CE4Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "m_8jh_MpWBE", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CE4Q0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgttXzhqaF9NcFdCRQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CE0QjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CEoQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 12 seconds" + } + }, + "simpleText": "17:12" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CEwQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "m_8jh_MpWBE", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CEwQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "m_8jh_MpWBE" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CEwQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CEsQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CEsQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "m_8jh_MpWBE", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CEsQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "m_8jh_MpWBE" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "m_8jh_MpWBE" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CEsQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/m_8jh_MpWBE/mqdefault_6s.webp?du=3000&sqp=CKLRjLAG&rs=AOn4CLDd4AsYqjUQVFoF8Zw31YDcCyT_iw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CEkQmY0FGBkiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "eeNKvh2cFPQ", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBy8szo9U24ueqgaeinBiQSTiNdcw", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCLTSBvNyxutsFXolQ3sXxb6ym0tA", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBdedMyH0qswdu3IQuaXJl9uDfX6Q", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/eeNKvh2cFPQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwpBjlO_Fpo1NoV9jF6HUd58tPpw", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1580 - MacGruber Mailbag" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1580 - MacGruber Mailbag by EEVblog 29,462 views 4 months ago 37 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "More Mailbag!\n\n00:00 - Mailbag Monday time\n01:42 - T-88C Analog Multimeter\nhttps://s.click.aliexpress.com/e/_DEojyDp\n07:26 - Teardown\n12:11 - PCB proto boards from Jon Newcomb\nhttp://www.jnewcomb.c..." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "37 minutes, 15 seconds" + } + }, + "simpleText": "37:15" + }, + "viewCountText": { + "simpleText": "29,462 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=eeNKvh2cFPQ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "eeNKvh2cFPQ", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr3---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=79e34abe1d9c14f4&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5A9Knw7OHX0vF5", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "29K views" + } + }, + "simpleText": "29K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEgQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CEgQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "eeNKvh2cFPQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CEgQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "eeNKvh2cFPQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "eeNKvh2cFPQ" + ] + } + } + ] + } + }, + "trackingParams": "CEgQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CEcQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "eeNKvh2cFPQ", + "onAddCommand": { + "clickTrackingParams": "CEcQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "eeNKvh2cFPQ", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CEcQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtlZU5LdmgyY0ZQUQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CEYQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CEMQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "37 minutes, 15 seconds" + } + }, + "simpleText": "37:15" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CEUQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "eeNKvh2cFPQ", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CEUQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "eeNKvh2cFPQ" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CEUQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CEQQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CEQQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "eeNKvh2cFPQ", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CEQQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "eeNKvh2cFPQ" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "eeNKvh2cFPQ" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CEQQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/eeNKvh2cFPQ/mqdefault_6s.webp?du=3000&sqp=CPjLjLAG&rs=AOn4CLCRjIp_novqB_M9tzUJNwecUBhH8A", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CEIQmY0FGBoiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "5M5MF6KE-jY", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBq8h9yVCll1FPCLA5FdQTAWiaCAg", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB0NK0jYYF9EYK7qdkqd4a055dupQ", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCGGZY7vMAQGVzoLqxrODxF7nYiMQ", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/5M5MF6KE-jY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAFDAgQafqowx58nWJuGHULbRkR3A", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1579 - Nuclear Diamond Battery FRAUD Lawsuit by SEC!" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1579 - Nuclear Diamond Battery FRAUD Lawsuit by SEC! by EEVblog 116,169 views 4 months ago 17 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The Nuclear Diamond Battery that made a huge marketing splash back in Aug 2020 and raised $1.2M in funding, NDB Inc and it's founder Nima Golsharifi is now being sued by the SEC for fraud...." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 57 seconds" + } + }, + "simpleText": "17:57" + }, + "viewCountText": { + "simpleText": "116,169 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=5M5MF6KE-jY", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "5M5MF6KE-jY", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr4---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e4ce4c17a284fa36&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5AtvSTlPqCk-fkAQ==", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "116K views" + } + }, + "simpleText": "116K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEEQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CEEQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "5M5MF6KE-jY", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CEEQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "5M5MF6KE-jY" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "5M5MF6KE-jY" + ] + } + } + ] + } + }, + "trackingParams": "CEEQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CEAQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "5M5MF6KE-jY", + "onAddCommand": { + "clickTrackingParams": "CEAQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "5M5MF6KE-jY", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CEAQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "Cgs1TTVNRjZLRS1qWQ%3D%3D", + "commands": [ + { + "clickTrackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CD8QjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CDwQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "17 minutes, 57 seconds" + } + }, + "simpleText": "17:57" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CD4Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "5M5MF6KE-jY", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CD4Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "5M5MF6KE-jY" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CD4Q-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CD0Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CD0Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "5M5MF6KE-jY", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CD0Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "5M5MF6KE-jY" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "5M5MF6KE-jY" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CD0Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/5M5MF6KE-jY/mqdefault_6s.webp?du=3000&sqp=CObOjLAG&rs=AOn4CLBoDc5Ax3uZRmVoSdskpFxK0iaCmA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CDsQmY0FGBsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "IWHS2FDyh7s", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDru0L9uKllbOsCuLX_39XvlAAN5g", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwhjsPYVb2BYxX9PP7bnzQxa7Y1g", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA5lv9wWJUiPNUUEPJET4HFuRWj-A", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/IWHS2FDyh7s/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCh0_Y1OAf-CWf_u8J_mWhXwka03Q", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1578 - No one can be told what the Metrix is." + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1578 - No one can be told what the Metrix is. by EEVblog 40,487 views 4 months ago 29 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "A multimeter without any screws? A 1990's vintage Metrix MX44 multimeter torn down, tested and calibration adjusted.\n\nTektronix Multimeter Repair-o-thon\nhttps://www.youtube.com/watch?v=2QZ8GWwzXXY..." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 54 seconds" + } + }, + "simpleText": "29:54" + }, + "viewCountText": { + "simpleText": "40,487 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=IWHS2FDyh7s", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "IWHS2FDyh7s", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr1---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2161d2d850f287bb&ip=79.250.144.228&initcwndbps=993750&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5Au4_Kh4Xb9LAh", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "40K views" + } + }, + "simpleText": "40K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDoQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CDoQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "IWHS2FDyh7s", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CDoQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "IWHS2FDyh7s" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "IWHS2FDyh7s" + ] + } + } + ] + } + }, + "trackingParams": "CDoQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CDkQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "IWHS2FDyh7s", + "onAddCommand": { + "clickTrackingParams": "CDkQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "IWHS2FDyh7s", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CDkQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtJV0hTMkZEeWg3cw%3D%3D", + "commands": [ + { + "clickTrackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CDgQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CDUQ3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "29 minutes, 54 seconds" + } + }, + "simpleText": "29:54" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CDcQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "IWHS2FDyh7s", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CDcQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "IWHS2FDyh7s" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CDcQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CDYQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CDYQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "IWHS2FDyh7s", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CDYQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "IWHS2FDyh7s" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "IWHS2FDyh7s" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CDYQx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/IWHS2FDyh7s/mqdefault_6s.webp?du=3000&sqp=CKq4jLAG&rs=AOn4CLALqC81AdG4H4pcHvd53CYIkL92dA", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CDQQmY0FGBwiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "richItemRenderer": { + "content": { + "videoRenderer": { + "videoId": "CnJ7mQ_Fo-8", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIxRMt80uMLr-xNjaez0XsbalQsA", + "width": 168, + "height": 94 + }, + { + "url": "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdu3DdSJu3KSO0jlwzVhCGivAYNg", + "width": 196, + "height": 110 + }, + { + "url": "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLmaAzBCUac2J1wi4FefpdRAMcBg", + "width": 246, + "height": 138 + }, + { + "url": "https://i.ytimg.com/vi/CnJ7mQ_Fo-8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBFvfKg1VqDDc7TMVYAn9gCb8YiVg", + "width": 336, + "height": 188 + } + ] + }, + "title": { + "runs": [ + { + "text": "EEVblog 1577 - History of Television & Cathode Ray Tubes with Kathy Loves Physics" + } + ], + "accessibility": { + "accessibilityData": { + "label": "EEVblog 1577 - History of Television & Cathode Ray Tubes with Kathy Loves Physics by EEVblog 17,237 views 4 months ago 1 hour, 18 minutes" + } + } + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Kathy Joseph from Kathy Loves Physics joins me on The Amp Hour to discuss history and physics and we end up discussing the intricate history of the development of television and the Cathode..." + } + ] + }, + "publishedTimeText": { + "simpleText": "4 months ago" + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "1 hour, 18 minutes, 13 seconds" + } + }, + "simpleText": "1:18:13" + }, + "viewCountText": { + "simpleText": "17,237 views" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5aGFVDMkRqRkU3WGYxMVVSWnFXQmlnY1ZPUZoBAxDyOA==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=CnJ7mQ_Fo-8", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "CnJ7mQ_Fo-8", + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=0a727b990fc5a3ef&ip=79.250.144.228&initcwndbps=1407500&mt=1711483046&oweuc=" + } + } + } + } + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "trackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt5A78eW_pDznrkK", + "showActionMenu": false, + "shortViewCountText": { + "accessibility": { + "accessibilityData": { + "label": "17K views" + } + }, + "simpleText": "17K views" + }, + "menu": { + "menuRenderer": { + "items": [ + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDMQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CDMQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "CnJ7mQ_Fo-8", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CDMQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "CnJ7mQ_Fo-8" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "CnJ7mQ_Fo-8" + ] + } + } + ] + } + }, + "trackingParams": "CDMQ_pgEGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemDownloadRenderer": { + "serviceEndpoint": { + "clickTrackingParams": "CDIQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "offlineVideoEndpoint": { + "videoId": "CnJ7mQ_Fo-8", + "onAddCommand": { + "clickTrackingParams": "CDIQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "getDownloadActionCommand": { + "videoId": "CnJ7mQ_Fo-8", + "params": "CAI%3D" + } + } + } + }, + "trackingParams": "CDIQ0aoFGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/share/get_share_panel" + } + }, + "shareEntityServiceEndpoint": { + "serializedShareEntity": "CgtDbko3bVFfRm8tOA%3D%3D", + "commands": [ + { + "clickTrackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "unifiedSharePanelRenderer": { + "trackingParams": "CDEQjmIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "showLoadingSpinner": true + } + }, + "popupType": "DIALOG", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + ], + "trackingParams": "CC4Q3DAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "1 hour, 18 minutes, 13 seconds" + } + }, + "simpleText": "1:18:13" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CDAQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "CnJ7mQ_Fo-8", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CDAQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "CnJ7mQ_Fo-8" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CDAQ-ecDGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "untoggledIcon": { + "iconType": "ADD_TO_QUEUE_TAIL" + }, + "toggledIcon": { + "iconType": "PLAYLIST_ADD_CHECK" + }, + "untoggledTooltip": "Add to queue", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CC8Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CC8Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "addToPlaylistCommand": { + "openMiniplayer": true, + "videoId": "CnJ7mQ_Fo-8", + "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", + "onCreateListCommand": { + "clickTrackingParams": "CC8Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/playlist/create" + } + }, + "createPlaylistServiceEndpoint": { + "videoIds": [ + "CnJ7mQ_Fo-8" + ], + "params": "CAQ%3D" + } + }, + "videoIds": [ + "CnJ7mQ_Fo-8" + ] + } + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Add to queue" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CC8Qx-wEGAMiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "thumbnailOverlayNowPlayingRenderer": { + "text": { + "runs": [ + { + "text": "Now playing" + } + ] + } + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/CnJ7mQ_Fo-8/mqdefault_6s.webp?du=3000&sqp=CNu1jLAG&rs=AOn4CLDBMPzG7mNjpZVMpskyCVr3YTqQtQ", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + } + } + }, + "trackingParams": "CC0QmY0FGB0iEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CCYQ8eIEIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgKrCBIYVUMyRGpGRTdYZjExVVJacVdCaWdjVk9RGo4IOGdhRUJocUJCbnItQlFyNUJRclFCVUZtYW5Fd2RrNDNNVTFSUkdVd2VGWXdSVXRSVlhORk16ZzFWRXQ2ZDJVelNrVlpXamhIWDJ4d2NIZG1SM2hXTm1ObFVVY3pkVWhoYUdWYVgzTjRUREZRYkhBdGNIVnlhQzF3VTNKMVlrVTRjRGRuVGxOdmFrdHJRbVozWHpKaVJXVmtVRUZyUTJ4M01WRlhZbloxV0d0eWRUUlZkM2s0VjNRMVYxRk9SVkV6Y2xwTlpIUllWelpSY3pCelJVeFFkVEJLU25aUFpESk9XVkE1T1hZdFYzUjFVbFV0Wm1ZM1F6VkdVa2hrY0UxYVlUaG1aa1I2ZWxWRWNHUXpUbmsxUlhJeGMyZGxTRFpOWTBWeE0wZzVVVkl6WjAxTWVrZEJkeTFVYVZSWFozbGtiME5oUW5oVFRGbFNkVkE1UWtaekxUbHRjVTVKWWtSMmVIRlBNMmRtVkhOd1ZuVkNSR3RFUlZJd1MxUlhkV3BNVVRBMlNGbFlUV0ZOVEd0NFNWUk1UREV4TWpoc1ZqUmpWamRhUlRWQ1prdDFMWFpZU1VKSlVXcFZWSGhKY0U5aExUZDFjbWRKU0hCNmQwRmxkMmhXV0dST00wbFVUMWxQYld4MGJVRjNlalJVZGxjNGIzTXdabEE1VTJ3eGVXUkZZbEl5YW1ZM1pqaFFkRGhhYUdOM1JGVjNNelI1WTFGVFNFbFllbFUxUkRoU04zVkVZVEJhVFVacFFqUnVhR1JTVjNBdGQyRjFOR05YVVVSWGJERktRbDlZU1U1NVJtNVpNR1ZhTWpSWVdYYzVhak4xTUcxcmVYTjZjVzFNWDBSS09WaHhObDlTUVV0cGNUSk9iVVZVVkZneExWRXdTRlZVYVZkRk4yOTFhRFZ4VDA1UmIzUkVVbTgxTjFsc2VuZExjRzVQWjNCdk0zTlRSV3hxU1dwQk9VcGZja2xTVjFBeGVEaFNSMWRKYzJ4UVN5MVRVVE5pTTJOZmMxRndORmh6TjFWUGRqUkdSbmN0WVc0eVRubHFhV3RuZVZONFV5MTFZelZVU0ZOd1NTMHhUVXRWTTNGbVZtcHRTRVpDUkhoaU9WWmtkbk14UW5aTmEzcGZWV3BhUlRaWkxVVXpNRTFRYVVaemVEaFhYMlJCT0ZOeE5Gb3lSWHBzY3psdGNWbGlUV0YxT0MxeU1XdHpiMXBpTjJ0d1ZqTjRVWEJGYW5rMVoxTm1TMXBXWW5OMllVYzVSVll5TVVFeWNDMXJPR3BHTm1ST1JUbFNWekZYWW00eldHRjVWaElrTmpZek16RTRaVEl0TURBd01DMHlNakZpTFdGak9XTXROVGd5TkRJNVlXVmpPR1V3R0FFJTNE", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CCYQ8eIEIhMIv-qO59yShQMV0R8GAB0bsgbe", + "header": { + "feedFilterChipBarRenderer": { + "contents": [ + { + "chipCloudChipRenderer": { + "text": { + "simpleText": "Latest" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCwQ_V0YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJkEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaSDhnWXVHaXg2S2hJbUNpUTJOak16TVRobE1pMHdNREF3TFRJeU1XSXRZV001WXkwMU9ESTBNamxoWldNNFpUQVlBUSUzRCUzRA%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE", + "command": { + "clickTrackingParams": "CCwQ_V0YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "showReloadUiCommand": { + "targetId": "663318e2-0000-221b-ac9c-582429aec8e0" + } + } + } + }, + "trackingParams": "CCwQ_V0YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "isSelected": true + } + }, + { + "chipCloudChipRenderer": { + "text": { + "simpleText": "Popular" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCsQ_V0YASITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJkEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaSDhnWXVHaXg2S2hJbUNpUTJOak16TVRobE1pMHdNREF3TFRJeU1XSXRZV001WXkwMU9ESTBNamxoWldNNFpUQVlBZyUzRCUzRA%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE", + "command": { + "clickTrackingParams": "CCsQ_V0YASITCL_qjufckoUDFdEfBgAdG7IG3g==", + "showReloadUiCommand": { + "targetId": "663318e2-0000-221b-ac9c-582429aec8e0" + } + } + } + }, + "trackingParams": "CCsQ_V0YASITCL_qjufckoUDFdEfBgAdG7IG3g==", + "isSelected": false + } + }, + { + "chipCloudChipRenderer": { + "text": { + "simpleText": "Oldest" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCoQ_V0YAiITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJkEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaSDhnWXVHaXg2S2hJbUNpUTJOak16TVRobE1pMHdNREF3TFRJeU1XSXRZV001WXkwMU9ESTBNamxoWldNNFpUQVlCQSUzRCUzRA%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE", + "command": { + "clickTrackingParams": "CCoQ_V0YAiITCL_qjufckoUDFdEfBgAdG7IG3g==", + "showReloadUiCommand": { + "targetId": "663318e2-0000-221b-ac9c-582429aec8e0" + } + } + } + }, + "trackingParams": "CCoQ_V0YAiITCL_qjufckoUDFdEfBgAdG7IG3g==", + "isSelected": false + } + } + ], + "trackingParams": "CCcQ4M4DIhMIv-qO59yShQMV0R8GAB0bsgbe", + "nextButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CHEVRON_RIGHT" + }, + "tooltip": "Next", + "trackingParams": "CCkQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "accessibilityData": { + "label": "Next" + } + } + } + }, + "previousButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CHEVRON_LEFT" + }, + "tooltip": "Previous", + "trackingParams": "CCgQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "accessibilityData": { + "label": "Previous" + } + } + } + }, + "styleType": "FEED_FILTER_CHIP_BAR_STYLE_TYPE_CHANNEL_PAGE_GRID" + } + }, + "targetId": "663318e2-0000-221b-ac9c-582429aec8e0", + "style": "RICH_GRID_STYLE_SLIM" + } + }, + "trackingParams": "CCUQ8JMBGAYiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCQQ8JMBGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/shorts", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZzaG9ydHPyBgUKA5oBAA%3D%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Shorts", + "trackingParams": "CCQQ8JMBGAciEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCMQ8JMBGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/streams", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgdzdHJlYW1z8gYECgJ6AA%3D%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Live", + "trackingParams": "CCMQ8JMBGAgiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCIQ8JMBGAkiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/playlists", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EglwbGF5bGlzdHPyBgQKAkIA", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Playlists", + "trackingParams": "CCIQ8JMBGAkiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCEQ8JMBGAoiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/community", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "Egljb21tdW5pdHnyBgQKAkoA", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Community", + "trackingParams": "CCEQ8JMBGAoiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "tabRenderer": { + "endpoint": { + "clickTrackingParams": "CCAQ8JMBGAsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/store", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgVzdG9yZfIGBAoCGgA%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Store", + "trackingParams": "CCAQ8JMBGAsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + { + "expandableTabRenderer": { + "endpoint": { + "clickTrackingParams": "CAAQhGciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/search", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZzZWFyY2jyBgQKAloA", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "title": "Search", + "selected": false + } + } + ] + } + }, + "header": { + "pageHeaderRenderer": { + "pageTitle": "EEVblog", + "content": { + "pageHeaderViewModel": { + "title": { + "dynamicTextViewModel": { + "text": { + "content": "EEVblog", + "styleRuns": [ + { + "startIndex": 7, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + } + } + ], + "attachmentRuns": [ + { + "startIndex": 7, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "clientResource": { + "imageName": "CHECK_CIRCLE_FILLED" + }, + "width": 14, + "height": 14 + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "left": { + "value": 8, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + } + ] + }, + "maxLines": 2, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB8Qj-QKIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176655, + "veCounter": 659248539 + } + } + }, + "accessibilityContext": { + "label": "EEVblog, Verified" + } + } + } + }, + "image": { + "decoratedAvatarViewModel": { + "avatar": { + "avatarViewModel": { + "image": { + "sources": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s72-c-k-c0x00ffffff-no-rj", + "width": 72, + "height": 72 + }, + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s120-c-k-c0x00ffffff-no-rj", + "width": 120, + "height": 120 + }, + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s160-c-k-c0x00ffffff-no-rj", + "width": 160, + "height": 160 + } + ], + "processor": { + "borderImageProcessor": { + "circular": true + } + } + }, + "avatarImageSize": "AVATAR_SIZE_XL" + } + } + } + }, + "metadata": { + "contentMetadataViewModel": { + "metadataRows": [ + { + "metadataParts": [ + { + "text": { + "content": "@EEVblog" + } + } + ] + }, + { + "metadataParts": [ + { + "text": { + "content": "933K subscribers" + } + }, + { + "text": { + "content": "1.9K videos", + "styleRuns": [ + { + "startIndex": 0, + "length": 11 + } + ] + } + } + ] + } + ], + "delimiter": "•", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB4Q9eQKIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176757, + "veCounter": 659248537 + } + } + } + } + } + }, + "actions": { + "flexibleActionsViewModel": { + "actionsRows": [ + { + "actions": [ + { + "buttonViewModel": { + "title": "Subscribe", + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBkQjqULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "ignoreNavigation": true + } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "simpleText": "Want to subscribe to this channel?" + }, + "content": { + "simpleText": "Sign in to subscribe to this channel." + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BLUE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "simpleText": "Sign in" + }, + "navigationEndpoint": { + "clickTrackingParams": "CB0Q_YYEIhMIv-qO59yShQMV0R8GAB0bsgbeMglzdWJzY3JpYmU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F%2540EEVblog%252Fvideos%26continue_action%3DQUFFLUhqbFpzRVVELUpyRzhZRjBpN3pLWDN4MWt5UE1BZ3xBQ3Jtc0ttY05YNUJwZVhCSU5NQ1FYRmF3Tm9YcmRvemlYX2pTX2NsVy1VX3JOX1FlV2tmdWZWTC1DMG9IbVdmUF8yWFR6SHVvamVGamR4N0JUek5fR1BOVDJLOUdzRDl2b0ppdmFHMTZDdFEtVWhJdFRKeUlEdWdFWXNwUzFscDNZMHVYSW53N19ha0F3LU5vZGVLV1o4WHNVLXptUzVqUkg0WGJyTUtKNTJQWV9ldFNCeE1DcVJRVkloUjViZ0sySnJtanFjOWl0SVY&hl=en&ec=66429", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CB0Q_YYEIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/videos", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgZ2aWRlb3M%3D", + "canonicalBaseUrl": "/@EEVblog" + } + }, + "continueAction": "QUFFLUhqbFpzRVVELUpyRzhZRjBpN3pLWDN4MWt5UE1BZ3xBQ3Jtc0ttY05YNUJwZVhCSU5NQ1FYRmF3Tm9YcmRvemlYX2pTX2NsVy1VX3JOX1FlV2tmdWZWTC1DMG9IbVdmUF8yWFR6SHVvamVGamR4N0JUek5fR1BOVDJLOUdzRDl2b0ppdmFHMTZDdFEtVWhJdFRKeUlEdWdFWXNwUzFscDNZMHVYSW53N19ha0F3LU5vZGVLV1o4WHNVLXptUzVqUkg0WGJyTUtKNTJQWV9ldFNCeE1DcVJRVkloUjViZ0sySnJtanFjOWl0SVY", + "idamTag": "66429" + } + }, + "trackingParams": "CB0Q_YYEIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + } + } + } + } + } + }, + "accessibilityText": "Subscribe", + "style": "BUTTON_VIEW_MODEL_STYLE_MONO", + "trackingParams": "CBkQjqULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "isFullWidth": false, + "type": "BUTTON_VIEW_MODEL_TYPE_FILLED", + "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", + "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE" + } + }, + { + "buttonViewModel": { + "title": "Join", + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBsQqGAYBCITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "ignoreNavigation": true + } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { + "text": "Want to join this channel?" + } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to become a member." + } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "simpleText": "Sign in" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBwQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fbrowse%253Fkey%253DAIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8%2526prettyPrint%253Dfalse&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "hack": true + } + }, + "trackingParams": "CBwQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + } + } + } + } + } + }, + "accessibilityText": "Join this channel", + "style": "BUTTON_VIEW_MODEL_STYLE_MONO", + "trackingParams": "CBsQqGAYBCITCL_qjufckoUDFdEfBgAdG7IG3g==", + "isFullWidth": false, + "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", + "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", + "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE", + "onVisible": { + "innertubeCommand": { + "clickTrackingParams": "CBsQqGAYBCITCL_qjufckoUDFdEfBgAdG7IG3g==", + "logFlowLoggingEventCommand": { + "flowEventType": 1, + "flowEventNamespace": "FLOW_EVENT_NAMESPACE_SPONSORSHIPS_PURCHASE", + "flowType": "FLOW_TYPE_SPONSORSHIPS_PURCHASE", + "flowEventMetadata": { + "sponsorshipsPurchaseContext": { + "joinMethod": "SPONSORSHIPS_JOIN_METHOD_CHANNEL_PAGE_BUTTON" + } + } + } + } + }, + "targetId": "sponsorships-button" + } + } + ] + }, + { + "actions": [ + { + "buttonViewModel": { + "title": "Visit store", + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBoQoMYHGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@EEVblog/store", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2DjFE7Xf11URZqWBigcVOQ", + "params": "EgVzdG9yZfIGBAoCGgA%3D", + "canonicalBaseUrl": "/@EEVblog" + } + } + }, + "accessibilityText": "Visit store", + "style": "BUTTON_VIEW_MODEL_STYLE_MONO", + "trackingParams": "CBoQoMYHGAIiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "isFullWidth": false, + "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", + "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", + "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE", + "accessibilityId": "eml.header_store_button" + } + } + ] + } + ], + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBkQjqULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 184974, + "veCounter": 659248535 + } + } + } + } + } + }, + "description": { + "descriptionPreviewViewModel": { + "description": { + "content": "NO SCRIPT, NO FEAR, ALL OPINION " + }, + "maxLines": 2, + "truncationText": { + "content": "...more", + "styleRuns": [ + { + "startIndex": 0, + "length": 7, + "weight": 500 + } + ] + }, + "alwaysShowTruncationText": true, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBQQr_4KIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 180015, + "veCounter": 659248533 + } + } + }, + "accessibilityContext": { + "label": "Description. NO SCRIPT, NO FEAR, ALL OPINION...tap for more." + }, + "commandContext": { + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBQQr_4KIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showEngagementPanelEndpoint": { + "engagementPanel": { + "engagementPanelSectionListRenderer": { + "header": { + "engagementPanelTitleHeaderRenderer": { + "title": { + "simpleText": "About" + }, + "visibilityButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "accessibility": { + "label": "Close" + }, + "trackingParams": "CBgQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "accessibilityData": { + "label": "Close" + } + }, + "command": { + "clickTrackingParams": "CBgQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "changeEngagementPanelVisibilityAction": { + "targetId": "663318e4-0000-221b-ac9c-582429aec8e0", + "visibility": "ENGAGEMENT_PANEL_VISIBILITY_HIDDEN" + } + } + } + }, + "trackingParams": "CBUQ040EIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + "content": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CBcQuy8YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJgEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaRDhnWXJHaW1hQVNZS0pEWTJNek14T0dVMUxUQXdNREF0TWpJeFlpMWhZemxqTFRVNE1qUXlPV0ZsWXpobE1BJTNEJTNE", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CBcQuy8YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "sectionIdentifier": "663318e5-0000-221b-ac9c-582429aec8e0", + "targetId": "663318e5-0000-221b-ac9c-582429aec8e0" + } + } + ], + "trackingParams": "CBYQui8iEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "scrollPaneStyle": { + "scrollable": true + } + } + }, + "targetId": "663318e4-0000-221b-ac9c-582429aec8e0", + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "663318e4-0000-221b-ac9c-582429aec8e0" + } + } + }, + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "663318e4-0000-221b-ac9c-582429aec8e0" + }, + "engagementPanelPresentationConfigs": { + "engagementPanelPopupPresentationConfig": { + "popupType": "PANEL_POPUP_TYPE_DIALOG" + } + } + } + } + } + } + } + } + }, + "attribution": { + "attributionViewModel": { + "text": { + "content": "eevblog.com", + "commandRuns": [ + { + "startIndex": 0, + "length": 11, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CA8QjaULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=channel_header&redir_token=QUFFLUhqbWo3eGtDZlhPUlduLTdmUk5sb0lkWkJwSERqUXxBQ3Jtc0tseER0SzZ3bk5fSjh0N3BWYW02bks5Umh3RU03M2hBbFNSeE9KM25FWnJLYy12ZHYtUzE3V1V2VWg5WWdXXzNLWkY0bURCMXhJT2kwd1Zzcm11WUZGcGtleEFJZVdkWW1Fd1Qyekh5dURFSmo2aDJ2SQ&q=http%3A%2F%2Fwww.eevblog.com", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=channel_header&redir_token=QUFFLUhqbWo3eGtDZlhPUlduLTdmUk5sb0lkWkJwSERqUXxBQ3Jtc0tseER0SzZ3bk5fSjh0N3BWYW02bks5Umh3RU03M2hBbFNSeE9KM25FWnJLYy12ZHYtUzE3V1V2VWg5WWdXXzNLWkY0bURCMXhJT2kwd1Zzcm11WUZGcGtleEFJZVdkWW1Fd1Qyekh5dURFSmo2aDJ2SQ&q=http%3A%2F%2Fwww.eevblog.com", + "target": "TARGET_NEW_WINDOW" + } + } + } + } + ], + "styleRuns": [ + { + "weightLabel": "FONT_WEIGHT_NORMAL", + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + } + } + ] + }, + "suffix": { + "content": "and 12 more links", + "commandRuns": [ + { + "startIndex": 0, + "length": 17, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CA8QjaULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "showEngagementPanelEndpoint": { + "engagementPanel": { + "engagementPanelSectionListRenderer": { + "header": { + "engagementPanelTitleHeaderRenderer": { + "title": { + "simpleText": "About" + }, + "visibilityButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "accessibility": { + "label": "Close" + }, + "trackingParams": "CBMQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "accessibilityData": { + "label": "Close" + } + }, + "command": { + "clickTrackingParams": "CBMQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "changeEngagementPanelVisibilityAction": { + "targetId": "663318e6-0000-221b-ac9c-582429aec8e0", + "visibility": "ENGAGEMENT_PANEL_VISIBILITY_HIDDEN" + } + } + } + }, + "trackingParams": "CBAQ040EIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + "content": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CBIQuy8YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse" + } + }, + "continuationCommand": { + "token": "4qmFsgJgEhhVQzJEakZFN1hmMTFVUlpxV0JpZ2NWT1EaRDhnWXJHaW1hQVNZS0pEWTJNek14T0dVM0xUQXdNREF0TWpJeFlpMWhZemxqTFRVNE1qUXlPV0ZsWXpobE1BJTNEJTNE", + "request": "CONTINUATION_REQUEST_TYPE_BROWSE" + } + } + } + } + ], + "trackingParams": "CBIQuy8YACITCL_qjufckoUDFdEfBgAdG7IG3g==", + "sectionIdentifier": "663318e7-0000-221b-ac9c-582429aec8e0", + "targetId": "663318e7-0000-221b-ac9c-582429aec8e0" + } + } + ], + "trackingParams": "CBEQui8iEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "scrollPaneStyle": { + "scrollable": true + } + } + }, + "targetId": "663318e6-0000-221b-ac9c-582429aec8e0", + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "663318e6-0000-221b-ac9c-582429aec8e0" + } + } + }, + "identifier": { + "surface": "ENGAGEMENT_PANEL_SURFACE_BROWSE", + "tag": "663318e6-0000-221b-ac9c-582429aec8e0" + }, + "engagementPanelPresentationConfigs": { + "engagementPanelPopupPresentationConfig": { + "popupType": "PANEL_POPUP_TYPE_DIALOG" + } + } + } + } + } + } + ], + "styleRuns": [ + { + "fontName": "", + "fontSize": 0, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA8QjaULIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 184973, + "veCounter": 659248531 + } + } + } + } + } + }, + "banner": { + "imageBannerViewModel": { + "image": { + "sources": [ + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1060, + "height": 175 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1138-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1138, + "height": 188 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w1707-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 1707, + "height": 283 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2120-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2120, + "height": 351 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2276-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2276, + "height": 377 + }, + { + "url": "https://yt3.googleusercontent.com/yIJ9ad80n49rK-YUcZLe_8bLmR-aGyg5ybDH_XKIc0GDWrC6s1Wzz8lxnq3_hux_5b6NHPZ9=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj", + "width": 2560, + "height": 424 + } + ] + }, + "style": "IMAGE_BANNER_STYLE_INSET", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA4QnfILIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 194845, + "veCounter": 659248529 + } + } + } + } + } + }, + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CA0Qot8KIhMIv-qO59yShQMV0R8GAB0bsgbe", + "visibility": { + "types": "12" + }, + "clientVeSpec": { + "uiType": 176034, + "veCounter": 659248527 + } + } + } + } + } + } + } + }, + "metadata": { + "channelMetadataRenderer": { + "title": "EEVblog", + "description": "NO SCRIPT, NO FEAR, ALL OPINION\nAn off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers\nHosted by Dave Jones from Sydney Australia\n\nDONATIONS:\nBitcoin: 3KqyH1U3qrMPnkLufM2oHDU7YB4zVZeFyZ\nEthereum: 0x99ccc4d2654ba40744a1f678d9868ecb15e91206\nPayPal: david@alternatezone.com\n\nPatreon: https://www.patreon.com/eevblog\n\nEEVblog2: http://www.youtube.com/EEVblog2\nEEVdiscover: https://www.youtube.com/channel/UCkGvUEt8iQLmq3aJIMjT2qQ\n\nEMAIL:\nAdvertising/Commercial: eevblog+business@gmail.com\nFan mail: eevblog+fan@gmail.com\nHate Mail: eevblog+hate@gmail.com\n\nI DON'T DO PAID VIDEO SPONSORSHIPS, DON'T ASK!\n\nPLEASE:\nDo NOT ask for personal advice on something, post it in the EEVblog forum.\nI read ALL email, but please don't be offended if I don't have time to reply, I get a LOT of email.\n\nMailbag\nPO Box 7949\nBaulkham Hills NSW 2153\nAUSTRALIA", + "rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC2DjFE7Xf11URZqWBigcVOQ", + "externalId": "UC2DjFE7Xf11URZqWBigcVOQ", + "keywords": "electronics engineering maker hacker design circuit hardware pic atmel oscilloscope multimeter diy hobby review teardown microcontroller arduino video blog tutorial how-to interview rant industry news mailbag \"dumpster diving\" debunking", + "ownerUrls": [ + "http://www.youtube.com/@EEVblog" + ], + "avatar": { + "thumbnails": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s900-c-k-c0x00ffffff-no-rj", + "width": 900, + "height": 900 + } + ] + }, + "channelUrl": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "isFamilySafe": true, + "facebookProfileId": "EEVblog", + "availableCountryCodes": [ + "ID", + "IR", + "FO", + "ME", + "YT", + "BL", + "MO", + "EC", + "CL", + "GT", + "NE", + "AG", + "PM", + "EE", + "ZW", + "CN", + "EH", + "MG", + "ES", + "GY", + "GL", + "VE", + "CU", + "KM", + "MD", + "NI", + "CZ", + "AR", + "DO", + "BE", + "MY", + "MZ", + "DE", + "KH", + "BS", + "SK", + "UA", + "TO", + "PT", + "BY", + "JM", + "MU", + "ER", + "FK", + "GB", + "MK", + "TM", + "SD", + "RE", + "NP", + "TT", + "MQ", + "UZ", + "GD", + "AI", + "AX", + "AD", + "CR", + "US", + "NZ", + "LV", + "KN", + "NU", + "CI", + "MF", + "KP", + "ST", + "FJ", + "KE", + "SM", + "CA", + "SV", + "OM", + "AQ", + "TF", + "BZ", + "LY", + "SS", + "PK", + "UG", + "HM", + "HN", + "TK", + "RO", + "SI", + "CG", + "MW", + "CO", + "DK", + "ET", + "MR", + "AL", + "TC", + "LB", + "BH", + "GU", + "BT", + "BB", + "ML", + "MS", + "SX", + "LT", + "AS", + "TH", + "UM", + "SR", + "KI", + "KR", + "NF", + "HU", + "VA", + "NR", + "GI", + "IL", + "PA", + "AF", + "MX", + "HT", + "AU", + "BV", + "SB", + "NG", + "VU", + "DZ", + "ZM", + "KZ", + "WF", + "SN", + "GF", + "TW", + "IM", + "MN", + "GQ", + "PF", + "PG", + "PR", + "TR", + "BO", + "RU", + "AW", + "MT", + "MC", + "MH", + "SC", + "SG", + "WS", + "BI", + "JO", + "TJ", + "TZ", + "TG", + "CH", + "CV", + "GR", + "VG", + "AZ", + "GP", + "BJ", + "TL", + "KW", + "SA", + "BN", + "RW", + "EG", + "PY", + "IE", + "LR", + "CF", + "CD", + "LC", + "MM", + "LU", + "BA", + "GS", + "NA", + "GM", + "NC", + "SO", + "DM", + "BQ", + "IT", + "RS", + "IO", + "TV", + "BD", + "AT", + "LK", + "BG", + "UY", + "BM", + "PW", + "CW", + "CX", + "AE", + "AO", + "GE", + "JP", + "FI", + "NL", + "SH", + "AM", + "FM", + "CK", + "BR", + "SL", + "LA", + "SY", + "QA", + "TD", + "CC", + "DJ", + "SJ", + "VN", + "ZA", + "BW", + "PN", + "GW", + "FR", + "YE", + "LS", + "PL", + "SE", + "HK", + "NO", + "VC", + "IS", + "KG", + "GN", + "LI", + "GH", + "CM", + "PH", + "IN", + "BF", + "GA", + "GG", + "HR", + "IQ", + "PE", + "CY", + "MP", + "MV", + "PS", + "SZ", + "MA", + "KY", + "TN", + "VI", + "JE" + ], + "androidDeepLink": "android-app://com.google.android.youtube/http/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "androidAppindexingLink": "android-app://com.google.android.youtube/http/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "iosAppindexingLink": "ios-app://544007664/vnd.youtube/www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "vanityChannelUrl": "http://www.youtube.com/@EEVblog" + } + }, + "trackingParams": "CAAQhGciEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "topbar": { + "desktopTopbarRenderer": { + "logo": { + "topbarLogoRenderer": { + "iconImage": { + "iconType": "YOUTUBE_LOGO" + }, + "tooltipText": { + "runs": [ + { + "text": "YouTube Home" + } + ] + }, + "endpoint": { + "clickTrackingParams": "CAwQsV4iEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 3854, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEwhat_to_watch" + } + }, + "trackingParams": "CAwQsV4iEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "overrideEntityKey": "EgZ0b3BiYXIg9QEoAQ%3D%3D" + } + }, + "searchbox": { + "fusionSearchboxRenderer": { + "icon": { + "iconType": "SEARCH" + }, + "placeholderText": { + "runs": [ + { + "text": "Search" + } + ] + }, + "config": { + "webSearchboxConfig": { + "requestLanguage": "en", + "requestDomain": "us", + "hasOnscreenKeyboard": false, + "focusSearchbox": true + } + }, + "trackingParams": "CAoQ7VAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "searchEndpoint": { + "clickTrackingParams": "CAoQ7VAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "" + } + }, + "clearButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "trackingParams": "CAsQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibilityData": { + "accessibilityData": { + "label": "Clear search query" + } + } + } + } + } + }, + "trackingParams": "CAEQq6wBIhMIv-qO59yShQMV0R8GAB0bsgbe", + "topbarButtons": [ + { + "topbarMenuButtonRenderer": { + "icon": { + "iconType": "MORE_VERT" + }, + "menuRequest": { + "clickTrackingParams": "CAgQ_qsBGAAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/account/account_menu" + } + }, + "signalServiceEndpoint": { + "signal": "GET_ACCOUNT_MENU", + "actions": [ + { + "clickTrackingParams": "CAgQ_qsBGAAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "openPopupAction": { + "popup": { + "multiPageMenuRenderer": { + "trackingParams": "CAkQ_6sBIhMIv-qO59yShQMV0R8GAB0bsgbe", + "style": "MULTI_PAGE_MENU_STYLE_TYPE_SYSTEM", + "showLoadingSpinner": true + } + }, + "popupType": "DROPDOWN", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CAgQ_qsBGAAiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "accessibility": { + "accessibilityData": { + "label": "Settings" + } + }, + "tooltip": "Settings", + "style": "STYLE_DEFAULT" + } + }, + { + "buttonRenderer": { + "style": "STYLE_SUGGESTIVE", + "size": "SIZE_SMALL", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "icon": { + "iconType": "AVATAR_LOGGED_OUT" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAcQ1IAEGAEiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fbrowse%253Fkey%253DAIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8%2526prettyPrint%253Dfalse&hl=en&ec=65620", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "idamTag": "65620" + } + }, + "trackingParams": "CAcQ1IAEGAEiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "targetId": "topbar-signin" + } + } + ], + "hotkeyDialog": { + "hotkeyDialogRenderer": { + "title": { + "runs": [ + { + "text": "Keyboard shortcuts" + } + ] + }, + "sections": [ + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Playback" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle play/pause" + } + ] + }, + "hotkey": "k" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rewind 10 seconds" + } + ] + }, + "hotkey": "j" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Fast forward 10 seconds" + } + ] + }, + "hotkey": "l" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous video" + } + ] + }, + "hotkey": "P (SHIFT+p)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next video" + } + ] + }, + "hotkey": "N (SHIFT+n)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous frame (while paused)" + } + ] + }, + "hotkey": ",", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next frame (while paused)" + } + ] + }, + "hotkey": ".", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Decrease playback rate" + } + ] + }, + "hotkey": "< (SHIFT+,)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Less than or SHIFT + comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Increase playback rate" + } + ] + }, + "hotkey": "> (SHIFT+.)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Greater than or SHIFT + period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to specific point in the video (7 advances to 70% of duration)" + } + ] + }, + "hotkey": "0..9" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to previous chapter" + } + ] + }, + "hotkey": "CONTROL + ←" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to next chapter" + } + ] + }, + "hotkey": "CONTROL + →" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "General" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle full screen" + } + ] + }, + "hotkey": "f" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle theater mode" + } + ] + }, + "hotkey": "t" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle miniplayer" + } + ] + }, + "hotkey": "i" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Close miniplayer or current dialog" + } + ] + }, + "hotkey": "ESCAPE" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle mute" + } + ] + }, + "hotkey": "m" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Subtitles and closed captions" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "If the video supports captions, toggle captions ON/OFF" + } + ] + }, + "hotkey": "c" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different text opacity levels" + } + ] + }, + "hotkey": "o" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different window opacity levels" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (increasing)" + } + ] + }, + "hotkey": "+" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (decreasing)" + } + ] + }, + "hotkey": "-", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus" + } + } + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Spherical Videos" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan up" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan left" + } + ] + }, + "hotkey": "a" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan down" + } + ] + }, + "hotkey": "s" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan right" + } + ] + }, + "hotkey": "d" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom in" + } + ] + }, + "hotkey": "+ on numpad or ]", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Plus on number pad or right bracket" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom out" + } + ] + }, + "hotkey": "- on numpad or [", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus on number pad or left bracket" + } + } + } + } + ] + } + } + ], + "dismissButton": { + "buttonRenderer": { + "style": "STYLE_BLUE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Dismiss" + } + ] + }, + "trackingParams": "CAYQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=" + } + }, + "trackingParams": "CAUQteYDIhMIv-qO59yShQMV0R8GAB0bsgbe" + } + }, + "backButton": { + "buttonRenderer": { + "trackingParams": "CAQQvIYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "command": { + "clickTrackingParams": "CAQQvIYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAQQvIYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "signalAction": { + "signal": "HISTORY_BACK" + } + } + ] + } + } + } + }, + "forwardButton": { + "buttonRenderer": { + "trackingParams": "CAMQvYYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "command": { + "clickTrackingParams": "CAMQvYYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAMQvYYDIhMIv-qO59yShQMV0R8GAB0bsgbe", + "signalAction": { + "signal": "HISTORY_FORWARD" + } + } + ] + } + } + } + }, + "a11ySkipNavigationButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Skip navigation" + } + ] + }, + "trackingParams": "CAIQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "command": { + "clickTrackingParams": "CAIQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAIQ8FsiEwi_6o7n3JKFAxXRHwYAHRuyBt4=", + "signalAction": { + "signal": "SKIP_NAVIGATION" + } + } + ] + } + } + } + } + } + }, + "microformat": { + "microformatDataRenderer": { + "urlCanonical": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "title": "EEVblog", + "description": "NO SCRIPT, NO FEAR, ALL OPINION An off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers Hosted by...", + "thumbnail": { + "thumbnails": [ + { + "url": "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s200-c-k-c0x00ffffff-no-rj?days_since_epoch=19808", + "width": 200, + "height": 200 + } + ] + }, + "siteName": "YouTube", + "appName": "YouTube", + "androidPackage": "com.google.android.youtube", + "iosAppStoreId": "544007664", + "iosAppArguments": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ", + "ogType": "yt-fb-app:channel", + "urlApplinksWeb": "https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlApplinksIos": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlApplinksAndroid": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=applinks", + "urlTwitterIos": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=twitter-deep-link", + "urlTwitterAndroid": "vnd.youtube://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ?feature=twitter-deep-link", + "twitterCardType": "summary", + "twitterSiteHandle": "@YouTube", + "schemaDotOrgType": "http://schema.org/http://schema.org/YoutubeChannelV2", + "noindex": false, + "unlisted": false, + "familySafe": true, + "tags": [ + "electronics", + "engineering", + "maker", + "hacker", + "design", + "circuit", + "hardware", + "pic", + "atmel", + "oscilloscope", + "multimeter", + "diy", + "hobby", + "review", + "teardown", + "microcontroller", + "arduino", + "video", + "blog", + "tutorial", + "how-to", + "interview", + "rant", + "industry", + "news", + "mailbag", + "dumpster diving", + "debunking" + ], + "availableCountries": [ + "ID", + "IR", + "FO", + "ME", + "YT", + "BL", + "MO", + "EC", + "CL", + "GT", + "NE", + "AG", + "PM", + "EE", + "ZW", + "CN", + "EH", + "MG", + "ES", + "GY", + "GL", + "VE", + "CU", + "KM", + "MD", + "NI", + "CZ", + "AR", + "DO", + "BE", + "MY", + "MZ", + "DE", + "KH", + "BS", + "SK", + "UA", + "TO", + "PT", + "BY", + "JM", + "MU", + "ER", + "FK", + "GB", + "MK", + "TM", + "SD", + "RE", + "NP", + "TT", + "MQ", + "UZ", + "GD", + "AI", + "AX", + "AD", + "CR", + "US", + "NZ", + "LV", + "KN", + "NU", + "CI", + "MF", + "KP", + "ST", + "FJ", + "KE", + "SM", + "CA", + "SV", + "OM", + "AQ", + "TF", + "BZ", + "LY", + "SS", + "PK", + "UG", + "HM", + "HN", + "TK", + "RO", + "SI", + "CG", + "MW", + "CO", + "DK", + "ET", + "MR", + "AL", + "TC", + "LB", + "BH", + "GU", + "BT", + "BB", + "ML", + "MS", + "SX", + "LT", + "AS", + "TH", + "UM", + "SR", + "KI", + "KR", + "NF", + "HU", + "VA", + "NR", + "GI", + "IL", + "PA", + "AF", + "MX", + "HT", + "AU", + "BV", + "SB", + "NG", + "VU", + "DZ", + "ZM", + "KZ", + "WF", + "SN", + "GF", + "TW", + "IM", + "MN", + "GQ", + "PF", + "PG", + "PR", + "TR", + "BO", + "RU", + "AW", + "MT", + "MC", + "MH", + "SC", + "SG", + "WS", + "BI", + "JO", + "TJ", + "TZ", + "TG", + "CH", + "CV", + "GR", + "VG", + "AZ", + "GP", + "BJ", + "TL", + "KW", + "SA", + "BN", + "RW", + "EG", + "PY", + "IE", + "LR", + "CF", + "CD", + "LC", + "MM", + "LU", + "BA", + "GS", + "NA", + "GM", + "NC", + "SO", + "DM", + "BQ", + "IT", + "RS", + "IO", + "TV", + "BD", + "AT", + "LK", + "BG", + "UY", + "BM", + "PW", + "CW", + "CX", + "AE", + "AO", + "GE", + "JP", + "FI", + "NL", + "SH", + "AM", + "FM", + "CK", + "BR", + "SL", + "LA", + "SY", + "QA", + "TD", + "CC", + "DJ", + "SJ", + "VN", + "ZA", + "BW", + "PN", + "GW", + "FR", + "YE", + "LS", + "PL", + "SE", + "HK", + "NO", + "VC", + "IS", + "KG", + "GN", + "LI", + "GH", + "CM", + "PH", + "IN", + "BF", + "GA", + "GG", + "HR", + "IQ", + "PE", + "CY", + "MP", + "MV", + "PS", + "SZ", + "MA", + "KY", + "TN", + "VI", + "JE" + ], + "linkAlternates": [ + { + "hrefUrl": "https://m.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "hrefUrl": "android-app://com.google.android.youtube/http/youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + }, + { + "hrefUrl": "ios-app://544007664/http/youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ" + } + ] + } + } +} diff --git a/testfiles/dict/album_type_samples.json b/testfiles/dict/album_type_samples.json index c3869d3..9b3af4e 100644 --- a/testfiles/dict/album_type_samples.json +++ b/testfiles/dict/album_type_samples.json @@ -423,7 +423,7 @@ "Album": "Álbum", "Ep": "EP", "Single": "Single", - "Audiobook": "Livro áudio", + "Audiobook": "Audiolivro", "Show": "Programa" }, "ro": { diff --git a/testfiles/dict/dictionary.json b/testfiles/dict/dictionary.json index 66a6671..0a7032e 100644 --- a/testfiles/dict/dictionary.json +++ b/testfiles/dict/dictionary.json @@ -3184,7 +3184,7 @@ "number_nd_tokens": {}, "album_types": { "álbum": "Album", - "livro áudio": "Audiobook", + "audiolivro": "Audiobook", "ep": "Ep", "programa": "Show", "single": "Single" diff --git a/testfiles/player_model/hdr.json b/testfiles/player_model/hdr.json index d9b1f83..d9feb68 100644 --- a/testfiles/player_model/hdr.json +++ b/testfiles/player_model/hdr.json @@ -3,7 +3,7 @@ "id": "LXb3EKWsInQ", "name": "COSTA RICA IN 4K 60fps HDR (ULTRA HD)", "description": "We've re-mastered and re-uploaded our favorite video in HDR!\n\nCHECK OUT OUR MOST POPULAR VIDEO: https://youtu.be/tO01J-M3g0U\n► INSTAGRAM: http://www.instagram.com/mysterybox\n► INSTAGRAM: http://www.instagram.com/jacobschwarz\n►WEBSITE: http://www.mysterybox.us\n►FACEBOOK: https://www.facebook.com/mysteryboxdi...\n\nMake sure to follow us on Instagram for BTS and sneak-peaks at upcoming projects. \n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nCHECK OUT OUR VIDEO PRODUCTION COMPANY\n► https://www.mysterybox.us\n\n4K PLAYLISTS\n► https://www.youtube.com/playlist?list...\n\nBLOG Check out our blog for great information on working in HDR and 8K. \n► http://www.mysterybox.us/blog\n\nSUBSCRIBE FOR MORE VIDS\n►https://www.youtube.com/user/jacobsch...\n\nMUSIC\n► Storyworks Music \"Promise of Dawn\"\nhttps://soundcloud.com/joshuapeterson/promise-of-dawn\nwww.storyworksmusic.com\n\n► SHOT ON\nRed Weapon LE w/Helium 8K s35 sensor (Stormtrooper33)\nCanon 16-35mm III \nCanon 24-70mm II\nSigma 150-500mm\nZeiss Classic 15mm\nMOVI M10\nAdobe Premiere and DaVinci Resolve\n\n\n\nLICENSING & BUSINESS INQUIRIES\n► contact@mysterybox.us\n\nThis video is subject to copyright owned by Mystery Box LLC. Any reproduction or republication of all or part of this video is expressly prohibited, unless Mystery Box has explicitly granted its prior written consent. All other rights reserved.\n\nCopyright © 2017 Mystery Box, LLC. All Rights Reserved.", - "length": 314, + "duration": 314, "thumbnail": [ { "url": "https://i.ytimg.com/vi/LXb3EKWsInQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC0YPk1n3EyXOsJxvBcJsAgR1umog", diff --git a/testfiles/player_model/multilanguage.json b/testfiles/player_model/multilanguage.json index f1cb210..7f6e1de 100644 --- a/testfiles/player_model/multilanguage.json +++ b/testfiles/player_model/multilanguage.json @@ -3,7 +3,7 @@ "id": "tVWWp1PqDus", "name": "100 Boys Vs 100 Girls For $500,000", "description": "Giving away $25k on Current! Sign up and use my code “BEAST250” for a chance to win*: https://www.current.com/beast250\n\nSUBSCRIBE OR I TAKE YOUR DOG\n╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗\n║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣ \n╠╗║╚╝║║╠╗║╚╣║║║║║═╣\n╚═╩══╩═╩═╩═╩╝╚╩═╩═╝\n\n----------------------------------------------------------------\nfollow all of these or i will kick you\n• TikTok - https://www.tiktok.com/@mrbeast\n• Twitter - https://twitter.com/MrBeast\n• Instagram - https://www.instagram.com/mrbeast\n• Facebook - https://www.facebook.com/MrBeast6000/\n• Official Merch - https://www.shopmrbeast.com/\n• Beast Philanthropy - https://www.beastphilanthropy.org/\n\nText me @ +1 (917) 259-6364\nI'm Hiring! - https://www.mrbeastjobs.com/\nOrder a beast burger 🍔 - https://mrbeastburger.com\nChocolate 🍫 Win a Tesla or be in a MrBeast video - Buy now ▸ https://feastables.com\n-----------------------------------------------------------------—\n\nCurrent is a financial technology company, not a bank. Banking services provided by Choice Financial Group, Member FDIC. The Current Visa Debit Card is issued by Choice Financial Group pursuant to a license from Visa U.S.A. Inc. and may be used everywhere Visa debit cards are accepted.\n\n*NO PURCHASE OR PAYMENT NECESSARY TO ENTER OR WIN. Open to legal residents of the 50 U.S./D.C., age 18+ (19+ in AL and NE, 21+ in MS). Void outside the 50 U.S./D.C. and where prohibited. Sweepstakes starts at 12:00:01 AM ET on 7/9/22; ends at 11:59:59 PM ET on 10/9/22. Odds of winning will depend upon the number of eligible entries received. For full Official Rules and how to enter without becoming a Current member, visit https://www.current.com/beast250. Sponsor: Finco Services, Inc. d/b/a Current, 30 Cooper Square, Floor 4, New York, NY 10003.", - "length": 1013, + "duration": 1013, "thumbnail": [ { "url": "https://i.ytimg.com/vi/tVWWp1PqDus/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBg0pFmrd-KeoxX0Hb_lF9mvekfsw", diff --git a/testfiles/text/attributed_description.json b/testfiles/text/attributed_description.json index 3dcbb04..f169c79 100644 --- a/testfiles/text/attributed_description.json +++ b/testfiles/text/attributed_description.json @@ -1,346 +1,1325 @@ { - "ln": { - "content": "🎧Listen and download aespa's debut single \"Black Mamba\": https://smarturl.it/aespa_BlackMamba\n🐍The Debut Stage    • aespa 에스파 'Black ...  \n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A...\n\nSubscribe to aespa Official YouTube Channel!\nhttps://www.youtube.com/aespa?sub_con...\n\naespa official\n   / aespa  \nhttps://www.instagram.com/aespa_official\nhttps://www.tiktok.com/@aespa_official\nhttps://twitter.com/aespa_Official\nhttps://www.facebook.com/aespa.official\nhttps://weibo.com/aespa\n\n#aespa #æspa #BlackMamba #블랙맘바 #에스파\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment", - "commandRuns": [ - { - "startIndex": 58, - "length": 36, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbm1qRVVfQUlObURLcnFFQXBTUkJSOEpqWGIzUXxBQ3Jtc0tsNUJIYm5xdERxZk9rZEw3YlJzV0ZIYTNaSjU2a21PaFhNUmxzdjI5VE1VRWUyczZwYmtmQXh3QXV0eXlkMDgxRUJoNVMzRFZ6RlZ6MGdXeXdWQXFTTGY2ZHhFcUFqdExRQ21PYzNfWmlBaHhqYXVUdw&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbm1qRVVfQUlObURLcnFFQXBTUkJSOEpqWGIzUXxBQ3Jtc0tsNUJIYm5xdERxZk9rZEw3YlJzV0ZIYTNaSjU2a21PaFhNUmxzdjI5VE1VRWUyczZwYmtmQXh3QXV0eXlkMDgxRUJoNVMzRFZ6RlZ6MGdXeXdWQXFTTGY2ZHhFcUFqdExRQ21PYzNfWmlBaHhqYXVUdw&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 113, - "length": 27, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Ky5RT5oGg0w&t=0s", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Ky5RT5oGg0w", - "startTimeSeconds": 0, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeener.googlevideo.com/initplayback?source=youtube&orc=1&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odeak=1&odepv=1&osfc=1&id=2b2e514f9a06834c&ip=2003%3Ade%3Aaf30%3A200%3Ad8ce%3A4044%3A2ba2%3A3881&initcwndbps=1556250&mt=1663992556&oweuc=" - } - } - } - } - } - } - }, - { - "startIndex": 194, - "length": 40, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbU1ObGNaRDZaRmo1X1ZjejBoeTRnWkxuVUJxZ3xBQ3Jtc0ttWk1BVVhaRXRfN1VYWXBqMHdaYURTRFJNcUZJVlY3a21wRHE2ZGZaclE3WUM5bEZWbmFfT0sxWTZHOVotWVh6U3YtVk94SlA5NkRFTnBPcHVCWDJhMGJRQlI3ZHN0MnJleHp0c2lEVWNxeW1jSDZuVQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbU1ObGNaRDZaRmo1X1ZjejBoeTRnWkxuVUJxZ3xBQ3Jtc0ttWk1BVVhaRXRfN1VYWXBqMHdaYURTRFJNcUZJVlY3a21wRHE2ZGZaclE3WUM5bEZWbmFfT0sxWTZHOVotWVh6U3YtVk94SlA5NkRFTnBPcHVCWDJhMGJRQlI3ZHN0MnJleHp0c2lEVWNxeW1jSDZuVQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 281, - "length": 40, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/aespa?sub_confirmation=1", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/aespa?sub_confirmation=1", - "nofollow": true - } - } - } - }, - { - "startIndex": 338, - "length": 12, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/c/aespa", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/c/aespa", - "nofollow": true - } - } - } - }, - { - "startIndex": 351, - "length": 40, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 392, - "length": 38, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 431, - "length": 34, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 466, - "length": 39, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 506, - "length": 23, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ0BEM2rARgBIhMIzvHr0sis-gIV0kZ6BR0GNA_4SJGXrtzn9erzZQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEtGMHB6eXBESW92aEVLc1FybkRwQU95eTh6UXxBQ3Jtc0tuWXc5d2JsTHFYcHExdy1FTDFyUV9wdU1DSmxELUxGSGlPMzhBdFVkblRSZkNLQzRaMEJGUGhYLWp4RU40YUVwV3N3ZUpRTVVKVDRiY19zeE5RUkt2dW5aUVcxcHBRQldCOTE3YktXSXZlSFJhRWRjdw&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "urlEndpoint": { - "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEtGMHB6eXBESW92aEVLc1FybkRwQU95eTh6UXxBQ3Jtc0tuWXc5d2JsTHFYcHExdy1FTDFyUV9wdU1DSmxELUxGSGlPMzhBdFVkblRSZkNLQzRaMEJGUGhYLWp4RU40YUVwV3N3ZUpRTVVKVDRiY19zeE5RUkt2dW5aUVcxcHBRQldCOTE3YktXSXZlSFJhRWRjdw&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E", - "target": "TARGET_NEW_WINDOW", - "nofollow": true - } - } - } - }, - { - "startIndex": 531, - "length": 6, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CKIBENzXBBgKIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/hashtag/aespa", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEhashtag", - "params": "6gUHCgVhZXNwYQ%3D%3D" - } - } - }, - "loggingDirectives": { - "trackingParams": "CKIBENzXBBgKIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "enableDisplayloggerExperiment": true - } - }, - { - "startIndex": 538, - "length": 5, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CKEBENzXBBgLIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/hashtag/%C3%A6spa", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEhashtag", - "params": "6gUHCgXDpnNwYQ%3D%3D" - } - } - }, - "loggingDirectives": { - "trackingParams": "CKEBENzXBBgLIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "enableDisplayloggerExperiment": true - } - }, - { - "startIndex": 544, - "length": 11, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CKABENzXBBgMIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/hashtag/blackmamba", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEhashtag", - "params": "6gUMCgpibGFja21hbWJh" - } - } - }, - "loggingDirectives": { - "trackingParams": "CKABENzXBBgMIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "enableDisplayloggerExperiment": true - } - }, - { - "startIndex": 556, - "length": 5, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ8BENzXBBgNIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/hashtag/%EB%B8%94%EB%9E%99%EB%A7%98%EB%B0%94", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEhashtag", - "params": "6gUOCgzruJTrnpnrp5jrsJQ%3D" - } - } - }, - "loggingDirectives": { - "trackingParams": "CJ8BENzXBBgNIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "enableDisplayloggerExperiment": true - } - }, - { - "startIndex": 562, - "length": 4, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CJ4BENzXBBgOIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "commandMetadata": { - "webCommandMetadata": { - "url": "/hashtag/%EC%97%90%EC%8A%A4%ED%8C%8C", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEhashtag", - "params": "6gULCgnsl5DsiqTtjIw%3D" - } - } - }, - "loggingDirectives": { - "trackingParams": "CJ4BENzXBBgOIhMIzvHr0sis-gIV0kZ6BR0GNA_4", - "enableDisplayloggerExperiment": true - } - } - ] - } + "ln": { + "content": "🎧Listen and download aespa's debut single \"Black Mamba\": https://smarturl.it/aespa_BlackMamba\n🐍The Debut Stage    • aespa 에스파 'Black Mamba' The Debut Stage  \n\n🎟️ aespa Showcase SYNK in LA! Tickets now on sale: https://www.ticketmaster.com/event/0A...\n\nSubscribe to aespa Official YouTube Channel!\nhttps://www.youtube.com/aespa?sub_con...\n\naespa official\n   / aespa  \n  / aespa_official  \n  / aespa_official  \n  / aespa_official  \n  / aespa.official  \nhttps://weibo.com/aespa\n\n#aespa #æspa #BlackMamba #블랙맘바 #에스파\naespa 에스파 'Black Mamba' MV ℗ SM Entertainment", + "commandRuns": [ + { + "startIndex": 58, + "length": 36, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbm1qRVVfQUlObURLcnFFQXBTUkJSOEpqWGIzUXxBQ3Jtc0tsNUJIYm5xdERxZk9rZEw3YlJzV0ZIYTNaSjU2a21PaFhNUmxzdjI5VE1VRWUyczZwYmtmQXh3QXV0eXlkMDgxRUJoNVMzRFZ6RlZ6MGdXeXdWQXFTTGY2ZHhFcUFqdExRQ21PYzNfWmlBaHhqYXVUdw&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbm1qRVVfQUlObURLcnFFQXBTUkJSOEpqWGIzUXxBQ3Jtc0tsNUJIYm5xdERxZk9rZEw3YlJzV0ZIYTNaSjU2a21PaFhNUmxzdjI5VE1VRWUyczZwYmtmQXh3QXV0eXlkMDgxRUJoNVMzRFZ6RlZ6MGdXeXdWQXFTTGY2ZHhFcUFqdExRQ21PYzNfWmlBaHhqYXVUdw&q=https%3A%2F%2Fsmarturl.it%2Faespa_BlackMamba&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + } + }, + { + "startIndex": 113, + "length": 46, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Ky5RT5oGg0w&t=0s", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Ky5RT5oGg0w", + "startTimeSeconds": 0, + "watchEndpointSupportedOnesieConfig": { + "html5PlaybackOnesieConfig": { + "commonConfig": { + "url": "https://rr5---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2b2e514f9a06834c&ip=79.205.220.219&initcwndbps=1590000&mt=1712917030&oweuc=&pxtags=Cg4KAnR4Egg1MTExODU2NA&rxtags=Cg4KAnR4Egg1MTExODU2MQ%2CCg4KAnR4Egg1MTExODU2Mg%2CCg4KAnR4Egg1MTExODU2Mw%2CCg4KAnR4Egg1MTExODU2NA%2CCg4KAnR4Egg1MTExODU2NQ%2CCg4KAnR4Egg1MTExODU2Ng%2CCg4KAnR4Egg1MTExODU2Nw" + } + } + } + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "YouTube Channel Link: aespa 에스파 'Black Mamba' The Debut Stage" + } + } + }, + { + "startIndex": 213, + "length": 40, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbU1ObGNaRDZaRmo1X1ZjejBoeTRnWkxuVUJxZ3xBQ3Jtc0ttWk1BVVhaRXRfN1VYWXBqMHdaYURTRFJNcUZJVlY3a21wRHE2ZGZaclE3WUM5bEZWbmFfT0sxWTZHOVotWVh6U3YtVk94SlA5NkRFTnBPcHVCWDJhMGJRQlI3ZHN0MnJleHp0c2lEVWNxeW1jSDZuVQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbU1ObGNaRDZaRmo1X1ZjejBoeTRnWkxuVUJxZ3xBQ3Jtc0ttWk1BVVhaRXRfN1VYWXBqMHdaYURTRFJNcUZJVlY3a21wRHE2ZGZaclE3WUM5bEZWbmFfT0sxWTZHOVotWVh6U3YtVk94SlA5NkRFTnBPcHVCWDJhMGJRQlI3ZHN0MnJleHp0c2lEVWNxeW1jSDZuVQ&q=https%3A%2F%2Fwww.ticketmaster.com%2Fevent%2F0A005CCD9E871F6E&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + } + }, + { + "startIndex": 300, + "length": 40, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/aespa?sub_confirmation=1", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/aespa?sub_confirmation=1", + "nofollow": true + } + } + } + }, + { + "startIndex": 357, + "length": 12, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/c/aespa", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/c/aespa", + "nofollow": true + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "YouTube Channel Link: aespa" + } + } + }, + { + "startIndex": 370, + "length": 20, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbE9FVEtZZkVLUExjdFBnZjZnZ19KNWRYOVZUd3xBQ3Jtc0tsbHpCa1hLTVJ6MEllczlzUEpoVi1IQ2F5NG1jMnlOT3p3bnlFeE80ZzlsaG5CUXlFQnFGTkMtN19DcVYzQkw3bVlVVmNwQlpYQWZnNGNsME45WE1WQ21sR3V1Z3k5RG9DUDE0VTZQTm53Mk9vTWhiOA&q=https%3A%2F%2Fwww.instagram.com%2Faespa_official&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "Instagram Channel Link: aespa_official" + } + } + }, + { + "startIndex": 391, + "length": 20, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVdlSGk3eDd5U0dUVG16VFJCQnhKVFBEUUxMQXxBQ3Jtc0tuX3ZJbENNY1ZSN0FFemdxTFdlcTVvc3AwZE05NEFvRW5nOHpZWDUtZG9ORHBnT1JGc2UySDh3WWl3MU53VjFvbHRSdjdxMUlGM2Z6SmdaLTVaWWxhamJEems0Uld3MGlTT0Z0bkh5Y0hpcnY1aXptSQ&q=https%3A%2F%2Fwww.tiktok.com%2F%40aespa_official&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "TikTok Channel Link: aespa_official" + } + } + }, + { + "startIndex": 412, + "length": 20, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3lNcG1lMHkwSzNLQVBrUXFNTXl0N1hNa04wUXxBQ3Jtc0tubm1sQkdaVjNYR04xOHpJV3NxZVBpb3I5V1FVOHVFNC1uWE5vb211ZmZKYzhTZXZfbjlkY09fanBRdHpjUkdRVGJJYS0xZ3NBNkVZQVhWSS0xVDYwRlRzQ0J3ODQxNDE0ODAxd1Q0cG5icVlNWndscw&q=https%3A%2F%2Ftwitter.com%2Faespa_Official&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "Twitter Channel Link: aespa_Official" + } + } + }, + { + "startIndex": 433, + "length": 20, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjdBNG5yVEFwU0JMNGZaLUpQZ1ZoeGgwT0xOZ3xBQ3Jtc0tuRFdFNlJNV29PMThRNWo5MHZrREZ1ZU5oZlkxVmE4ZlU5STFCZW1mUFVSdXJ3VUQxUnNVVkUzLWJQMS1uRzVjdkRCV2ZxSWJ6cFNxRVVzejY0SDltZFZPc2xwS3ZPZGIxcFZ6cndIVkMtUjVtZ054cw&q=https%3A%2F%2Fwww.facebook.com%2Faespa.official&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + }, + "onTapOptions": { + "accessibilityInfo": { + "accessibilityLabel": "Facebook Channel Link: aespa.official" + } + } + }, + { + "startIndex": 454, + "length": 23, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CBwQ040EGAMiEwjGtqeIuryFAxUvb3oFHcieCCxIkZeu3Of16vNl", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEtGMHB6eXBESW92aEVLc1FybkRwQU95eTh6UXxBQ3Jtc0tuWXc5d2JsTHFYcHExdy1FTDFyUV9wdU1DSmxELUxGSGlPMzhBdFVkblRSZkNLQzRaMEJGUGhYLWp4RU40YUVwV3N3ZUpRTVVKVDRiY19zeE5RUkt2dW5aUVcxcHBRQldCOTE3YktXSXZlSFJhRWRjdw&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEtGMHB6eXBESW92aEVLc1FybkRwQU95eTh6UXxBQ3Jtc0tuWXc5d2JsTHFYcHExdy1FTDFyUV9wdU1DSmxELUxGSGlPMzhBdFVkblRSZkNLQzRaMEJGUGhYLWp4RU40YUVwV3N3ZUpRTVVKVDRiY19zeE5RUkt2dW5aUVcxcHBRQldCOTE3YktXSXZlSFJhRWRjdw&q=https%3A%2F%2Fweibo.com%2Faespa&v=ZeerrnuLi5E", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + } + }, + { + "startIndex": 479, + "length": 6, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CHAQ3NcEGC8iEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/hashtag/aespa", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 6827, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEhashtag", + "params": "6gUJCgVhZXNwYRgB" + } + } + }, + "loggingDirectives": { + "trackingParams": "CHAQ3NcEGC8iEwjGtqeIuryFAxUvb3oFHcieCCw=", + "enableDisplayloggerExperiment": true + } + }, + { + "startIndex": 486, + "length": 5, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CG8Q3NcEGDAiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/hashtag/%C3%A6spa", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 6827, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEhashtag", + "params": "6gUJCgXDpnNwYRgB" + } + } + }, + "loggingDirectives": { + "trackingParams": "CG8Q3NcEGDAiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "enableDisplayloggerExperiment": true + } + }, + { + "startIndex": 492, + "length": 11, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CG4Q3NcEGDEiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/hashtag/blackmamba", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 6827, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEhashtag", + "params": "6gUOCgpibGFja21hbWJhGAE%3D" + } + } + }, + "loggingDirectives": { + "trackingParams": "CG4Q3NcEGDEiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "enableDisplayloggerExperiment": true + } + }, + { + "startIndex": 504, + "length": 5, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CG0Q3NcEGDIiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/hashtag/%EB%B8%94%EB%9E%99%EB%A7%98%EB%B0%94", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 6827, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEhashtag", + "params": "6gUQCgzruJTrnpnrp5jrsJQYAQ%3D%3D" + } + } + }, + "loggingDirectives": { + "trackingParams": "CG0Q3NcEGDIiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "enableDisplayloggerExperiment": true + } + }, + { + "startIndex": 510, + "length": 4, + "onTap": { + "innertubeCommand": { + "clickTrackingParams": "CGwQ3NcEGDMiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/hashtag/%EC%97%90%EC%8A%A4%ED%8C%8C", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 6827, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEhashtag", + "params": "6gUNCgnsl5DsiqTtjIwYAQ%3D%3D" + } + } + }, + "loggingDirectives": { + "trackingParams": "CGwQ3NcEGDMiEwjGtqeIuryFAxUvb3oFHcieCCw=", + "enableDisplayloggerExperiment": true + } + } + ], + "styleRuns": [ + { + "startIndex": 0, + "length": 58, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 58, + "length": 36, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 94, + "length": 19, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 113, + "length": 46, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + } + }, + { + "startIndex": 159, + "length": 54, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 213, + "length": 40, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 253, + "length": 47, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 300, + "length": 40, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 340, + "length": 17, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 357, + "length": 12, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + } + }, + { + "startIndex": 369, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 370, + "length": 20, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + } + }, + { + "startIndex": 390, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 391, + "length": 20, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + } + }, + { + "startIndex": 411, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 412, + "length": 20, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + } + }, + { + "startIndex": 432, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 433, + "length": 20, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + } + }, + { + "startIndex": 453, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 454, + "length": 23, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 477, + "length": 2, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 479, + "length": 6, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 485, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 486, + "length": 5, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 491, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 492, + "length": 11, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 503, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 504, + "length": 5, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 509, + "length": 1, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 510, + "length": 4, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4282296063 + }, + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4278607828 + } + ] + } + }, + "fontFamilyName": "Roboto" + }, + { + "startIndex": 514, + "length": 46, + "styleRunExtensions": { + "styleRunColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 4279440147 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 4294967295 + } + ] + } + }, + "fontFamilyName": "Roboto" + } + ], + "attachmentRuns": [ + { + "startIndex": 115, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/yt_favicon.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 10, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + }, + { + "startIndex": 359, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/yt_favicon.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 10, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + }, + { + "startIndex": 371, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/social_media/instagram_1x.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + }, + { + "startIndex": 392, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/social_media/tiktok_1x.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + }, + { + "startIndex": 413, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/social_media/twitter_1x_v2.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + }, + { + "startIndex": 434, + "length": 0, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.gstatic.com/youtube/img/watch/social_media/facebook_1x.png" + } + ] + } + } + }, + "properties": { + "layoutProperties": { + "height": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "width": { + "value": 14, + "unit": "DIMENSION_UNIT_POINT" + }, + "margin": { + "top": { + "value": 0.5, + "unit": "DIMENSION_UNIT_POINT" + } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + } + ], + "decorationRuns": [ + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 113, + "length": 46, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + }, + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 357, + "length": 12, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + }, + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 370, + "length": 20, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + }, + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 391, + "length": 20, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + }, + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 412, + "length": 20, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + }, + { + "textDecorator": { + "highlightTextDecorator": { + "startIndex": 433, + "length": 20, + "backgroundCornerRadius": 8, + "bottomPadding": 1, + "highlightTextDecoratorExtensions": { + "highlightTextDecoratorColorMapExtension": { + "colorMap": [ + { + "key": "USER_INTERFACE_THEME_LIGHT", + "value": 218103808 + }, + { + "key": "USER_INTERFACE_THEME_DARK", + "value": 452984831 + } + ] + } + } + } + } + } + ] + } } diff --git a/testfiles/text/styled_comment.json b/testfiles/text/styled_comment.json new file mode 100644 index 0000000..6fc8621 --- /dev/null +++ b/testfiles/text/styled_comment.json @@ -0,0 +1,31 @@ +{ + "ln": { + "content": "Bold: Awesome\nItalic: Great\nCut: Dumb\n\nMixed: Mixer", + "styleRuns": [ + { + "startIndex": 6, + "length": 7, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 22, + "length": 5, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 33, + "length": 4, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 46, + "length": 5, + "weightLabel": "FONT_WEIGHT_MEDIUM", + "italic": true, + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + } +} diff --git a/testfiles/video_details/comments_20240401_frameworkupd.json b/testfiles/video_details/comments_20240401_frameworkupd.json new file mode 100644 index 0000000..00b9951 --- /dev/null +++ b/testfiles/video_details/comments_20240401_frameworkupd.json @@ -0,0 +1,13159 @@ +{ + "responseContext": { + "serviceTrackingParams": [ + { + "service": "CSI", + "params": [ + { "key": "c", "value": "WEB" }, + { + "key": "cver", + "value": "2.20240328.07.00-canary_experiment_2.20240327.00.00" + }, + { "key": "yt_li", "value": "0" }, + { + "key": "GetWatchPageWebTopLevelComments_rid", + "value": "0xfaf1213bff919a30" + } + ] + }, + { + "service": "GFEEDBACK", + "params": [ + { "key": "logged_in", "value": "0" }, + { + "key": "e", + "value": "23804281,23858057,23946420,23966208,23983296,23998056,24004644,24007613,24036948,24077241,24080738,24120820,24135310,24166867,24181174,24187377,24208765,24241378,24290971,24377598,24407446,24425061,24439361,24451319,24453989,24468724,24506784,24515423,24524098,24524562,24542367,24547316,24548627,24548629,24550458,24560416,24566687,24690004,24697068,24699899,39325978,51003636,51006181,51009781,51010235,51012659,51014091,51016856,51017346,51017378,51019626,51020570,51025415,51026715,51027870,51030101,51033399,51033765,51037330,51037342,51037349,51037540,51038805,51039200,51040842,51048489,51050361,51053689,51053731,51057501,51057846,51057855,51060353,51063363,51063643,51064835,51069269,51072748,51073089,51074183,51074739,51076170,51078191,51079239,51079303,51080341,51080402,51082236,51083234,51084267,51084279,51084292,51089177,51089441,51089956,51091331,51091812,51092557,51092661,51092916,51092929,51094175,51094202,51094209,51095478,51096389,51096577,51096646,51096989,51098297,51098299,51099412,51101454,51103518,51103858,51104988,51105868,51106995,51107331,51107338,51108006,51108620,51108977,51109077,51110160,51111738,51112970,51112972,51113658,51113663,51115184,51116067,51118293,51118456,51118564,51118932,51119507,51119512,51120953,51121939,51122047,51123077,51124104,51124478,51125903,51127561,51128585,51129216,51129218,51129220,51129222,51129224,51129395,51130324,51131075,51132393,51134988,51135346,51135654,51136141,51136149,51136217,51136785,51136843,51137135,51137185,51137715,51139378,51140749,51141384,51141542,51141765,51141798,51142470,51142659,51142840,51142842,51143318,51145218,51146434,51146962,51147091,51148978,51148981,51149607,51152049,51152100,51152207,51152444,51152508" + } + ] + }, + { "service": "GUIDED_HELP", "params": [{ "key": "logged_in", "value": "0" }] }, + { + "service": "ECATCHER", + "params": [ + { "key": "client.version", "value": "2.20240328" }, + { "key": "client.name", "value": "WEB" } + ] + } + ], + "mainAppWebResponseContext": { + "loggedOut": true, + "trackingParam": "kx_fmPxhoPZRKJK1g3pqzkARnjmzwieLvFwbbXj94cnLL4HRgkussh7BwOcCE59TDtslLKPQ-SS" + }, + "webResponseContextExtensionData": { "hasDecorated": true } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKOCAR0IygEQuy8YAyITCLzzxtqYoYUDFVtBegUdPpAJAg==", + "onResponseReceivedEndpoints": [ + { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "reloadContinuationItemsCommand": { + "targetId": "comments-section", + "continuationItems": [ + { + "commentsHeaderRenderer": { + "countText": { "runs": [{ "text": "20,617" }, { "text": " Comments" }] }, + "createRenderer": { + "commentSimpleboxRenderer": { + "authorThumbnail": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/a/default-user=s48-c-k-c0x00ffffff-no-rj", + "width": 48, + "height": 48 + }, + { + "url": "https://yt3.ggpht.com/a/default-user=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + }, + { + "url": "https://yt3.ggpht.com/a/default-user=s176-c-k-c0x00ffffff-no-rj", + "width": 176, + "height": 176 + } + ], + "accessibility": { + "accessibilityData": { "label": "Default profile photo" } + } + }, + "placeholderText": { "runs": [{ "text": "Add a comment..." }] }, + "prepareAccountEndpoint": { + "clickTrackingParams": "CH8QwXUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CH8QwXUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + }, + "trackingParams": "CH8QwXUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "avatarSize": "SIMPLEBOX_AVATAR_SIZE_TYPE_DEFAULT", + "emojiButton": { + "buttonRenderer": { + "size": "SIZE_SMALL", + "icon": { "iconType": "EMOJI" }, + "trackingParams": "CIkBEPBbIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "accessibilityData": { + "accessibilityData": { "label": "Show emoji picker" } + } + } + }, + "emojiPicker": { + "emojiPickerRenderer": { + "id": "emoji", + "categories": [ + { + "emojiPickerCategoryRenderer": { + "categoryId": "UCkszU2WH9gy1mb0dV-11UJg", + "title": { "simpleText": "YouTube" }, + "emojiIds": [ + "UCkszU2WH9gy1mb0dV-11UJg/G8AfY6yWGuKuhL0PlbiA2AE", + "UCkszU2WH9gy1mb0dV-11UJg/KsIfY6LzFoLM6AKanYDQAg", + "UCkszU2WH9gy1mb0dV-11UJg/W8IfY_bwAfiPq7IPvNCA2AU", + "UCkszU2WH9gy1mb0dV-11UJg/b8IfY7zOK9iVkNAP_I2A-AY", + "UCkszU2WH9gy1mb0dV-11UJg/hcIfY57lBJXp6AKBx4CoCA", + "UCkszU2WH9gy1mb0dV-11UJg/ssIfY7OFG5OykQOpn4CQCw", + "UCkszU2WH9gy1mb0dV-11UJg/xsIfY4OqCd2T29sP54iAsAw", + "UCkszU2WH9gy1mb0dV-11UJg/2sIfY8vIG8z96ALulYDQDQ", + "UCkszU2WH9gy1mb0dV-11UJg/7cIfY5niDOmSkNAP08CA6A4", + "UCkszU2WH9gy1mb0dV-11UJg/A8MfY-_pEIKNr8oP78-AGA", + "UCkszU2WH9gy1mb0dV-11UJg/E8MfY5u7JPSXkNAP95GAmAE", + "UCkszU2WH9gy1mb0dV-11UJg/LsMfY8P6G-yckNAPjoWA8AI", + "UCkszU2WH9gy1mb0dV-11UJg/Z8MfY8mzLbnovwK5roC4Bg", + "UCkszU2WH9gy1mb0dV-11UJg/hcMfY5_zAbbxvwKLooCoCA", + "UCkszU2WH9gy1mb0dV-11UJg/ygF1XpGUMMjk8gSDrI2wCx", + "UCkszU2WH9gy1mb0dV-11UJg/m8MfY4jbFsWJhL0PyouA2Ak", + "UCkszU2WH9gy1mb0dV-11UJg/6_cfY8HJH8bV5QS5yYDYDg", + "UCkszU2WH9gy1mb0dV-11UJg/DfgfY9LaNdmMq7IPuI2AaA", + "UCkszU2WH9gy1mb0dV-11UJg/HvgfY93GEYmqvwLUuYDwAQ", + "UCkszU2WH9gy1mb0dV-11UJg/NvgfY9aeC_OFvOMPkrOAsAM", + "UCkszU2WH9gy1mb0dV-11UJg/UvgfY_vqE92T29sPvqiAkAU", + "UCkszU2WH9gy1mb0dV-11UJg/YvgfY-LIBpjChgHKyYCQBg", + "UCkszU2WH9gy1mb0dV-11UJg/ePgfY-K2Kp6Mr8oP1oqAwAc", + "UCkszU2WH9gy1mb0dV-11UJg/jPgfY5j2IIud29sP3ZeA4Ag", + "UCkszU2WH9gy1mb0dV-11UJg/oPgfY_DoKfSXkNAPq8-AgAo", + "UCkszU2WH9gy1mb0dV-11UJg/tPgfY7mSO4XovQKzmYCgCw", + "UCkszU2WH9gy1mb0dV-11UJg/zPgfY66lCJGRhL0Pz6iA4Aw", + "UCkszU2WH9gy1mb0dV-11UJg/4PgfY73cJprKCq-_gIAO", + "UCkszU2WH9gy1mb0dV-11UJg/-fgfY9DIGYjbhgHLzoDIDw", + "UCkszU2WH9gy1mb0dV-11UJg/EvkfY6uNC5OykQOewoCQAQ", + "UCkszU2WH9gy1mb0dV-11UJg/LfkfY_zhH4GFr8oP4aKA6AI", + "UCkszU2WH9gy1mb0dV-11UJg/RPkfY8TPGsCakNAP-JWAoAQ", + "UCkszU2WH9gy1mb0dV-11UJg/Mm5IY53bH7SEq7IP-MWAkAM", + "UCkszU2WH9gy1mb0dV-11UJg/UW5IY-ibBqa8jgTymoCIBQ", + "UCkszU2WH9gy1mb0dV-11UJg/Ym5IY7-0LoqA29sPq9CAkAY", + "UCkszU2WH9gy1mb0dV-11UJg/dG5IY-mhEof9jgSykoCgBw", + "UCkszU2WH9gy1mb0dV-11UJg/hm5IY4W-H9SO5QS6n4CwCA", + "UCkszU2WH9gy1mb0dV-11UJg/mW5IY47PMcSnkMkPo6OAyAk", + "UCkszU2WH9gy1mb0dV-11UJg/rW5IY_26FryOq7IPlL2A6Ao", + "UCkszU2WH9gy1mb0dV-11UJg/v25IY7KcJIGOr8oPz4OA-As", + "UCkszU2WH9gy1mb0dV-11UJg/face-turquoise-speaker-shape", + "UCkszU2WH9gy1mb0dV-11UJg/octopus-red-waving", + "UCkszU2WH9gy1mb0dV-11UJg/pillow-turquoise-hot-chocolate", + "UCkszU2WH9gy1mb0dV-11UJg/hourglass-purple-sand-orange", + "UCkszU2WH9gy1mb0dV-11UJg/fish-orange-wide-eyes", + "UCkszU2WH9gy1mb0dV-11UJg/popcorn-yellow-striped-smile", + "UCkszU2WH9gy1mb0dV-11UJg/penguin-blue-waving-tear", + "UCkszU2WH9gy1mb0dV-11UJg/clock-turquoise-looking-up", + "UCkszU2WH9gy1mb0dV-11UJg/face-red-smiling-live", + "UCkszU2WH9gy1mb0dV-11UJg/hands-yellow-heart-red", + "UCkszU2WH9gy1mb0dV-11UJg/volcano-green-lava-orange", + "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-waving-speech", + "UCkszU2WH9gy1mb0dV-11UJg/face-orange-tv-shape", + "UCkszU2WH9gy1mb0dV-11UJg/face-blue-spam-shape", + "UCkszU2WH9gy1mb0dV-11UJg/face-fuchsia-flower-shape", + "UCkszU2WH9gy1mb0dV-11UJg/person-blue-holding-pencil", + "UCkszU2WH9gy1mb0dV-11UJg/body-turquoise-yoga-pose", + "UCkszU2WH9gy1mb0dV-11UJg/location-yellow-teal-bars", + "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-writing-headphones", + "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-wizard-wand", + "UCkszU2WH9gy1mb0dV-11UJg/person-blue-eating-spaghetti", + "UCkszU2WH9gy1mb0dV-11UJg/face-turquoise-music-note", + "UCkszU2WH9gy1mb0dV-11UJg/person-pink-swaying-hair", + "UCkszU2WH9gy1mb0dV-11UJg/person-blue-speaking-microphone", + "UCkszU2WH9gy1mb0dV-11UJg/rocket-red-countdown-liftoff", + "UCkszU2WH9gy1mb0dV-11UJg/face-purple-rain-drops", + "UCkszU2WH9gy1mb0dV-11UJg/face-pink-drinking-tea", + "UCkszU2WH9gy1mb0dV-11UJg/person-purple-stage-event", + "UCkszU2WH9gy1mb0dV-11UJg/face-purple-open-box", + "UCkszU2WH9gy1mb0dV-11UJg/person-yellow-podium-blue", + "UCkszU2WH9gy1mb0dV-11UJg/baseball-white-cap-out", + "UCkszU2WH9gy1mb0dV-11UJg/whistle-red-blow", + "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-crowd-surf", + "UCkszU2WH9gy1mb0dV-11UJg/finger-red-number-one", + "UCkszU2WH9gy1mb0dV-11UJg/text-yellow-goal", + "UCkszU2WH9gy1mb0dV-11UJg/medal-yellow-first-red", + "UCkszU2WH9gy1mb0dV-11UJg/person-blue-wheelchair-race", + "UCkszU2WH9gy1mb0dV-11UJg/card-red-penalty", + "UCkszU2WH9gy1mb0dV-11UJg/stopwatch-blue-hand-timer", + "UCkszU2WH9gy1mb0dV-11UJg/CIW60IPp_dYCFcuqTgodEu4IlQ", + "UCkszU2WH9gy1mb0dV-11UJg/CN2m5cKr49sCFYbFggodDFEKrg", + "UCkszU2WH9gy1mb0dV-11UJg/X_zdXMHgJaPa8gTGt4f4Ag", + "UCkszU2WH9gy1mb0dV-11UJg/1v50XorRJ8GQ8gTz_prwAg", + "UCkszU2WH9gy1mb0dV-11UJg/8P50XuS9Oo7h8wSqtIagBA", + "UCkszU2WH9gy1mb0dV-11UJg/Fv90Xq-vJcPq8gTqzreQAQ", + "UCkszU2WH9gy1mb0dV-11UJg/Iv90XouTLuOR8gSxxrToBA", + "UCkszU2WH9gy1mb0dV-11UJg/Rf90XtDbG8GQ8gTz_prwAg", + "UCkszU2WH9gy1mb0dV-11UJg/VP90Xv_wG82o8wTCi7CQAw", + "UCkszU2WH9gy1mb0dV-11UJg/dv90XtfhAurw8gTgzar4DA", + "UCkszU2WH9gy1mb0dV-11UJg/hf90Xv-jHeOR8gSxxrToBA", + "UCkszU2WH9gy1mb0dV-11UJg/lP90XvOhCZGl8wSO1JmgAw", + "UCkszU2WH9gy1mb0dV-11UJg/uP90Xq6wNYrK8gTUoo3wAg", + "UCkszU2WH9gy1mb0dV-11UJg/fAF1XtDQMIrK8gTUoo3wAg", + "UCkszU2WH9gy1mb0dV-11UJg/vQF1XpyaG_XG8gTs77bACQ", + "UCkszU2WH9gy1mb0dV-11UJg/ygF1XpGUMMjk8gSDrI2wCw", + "UCkszU2WH9gy1mb0dV-11UJg/8gF1Xp_zK8jk8gSDrI2wCw", + "UCkszU2WH9gy1mb0dV-11UJg/EAJ1XrS7PMGQ8gTz_prwAg", + "UCkszU2WH9gy1mb0dV-11UJg/JAJ1XpGpJYnW8wTupZu4Cw", + "UCkszU2WH9gy1mb0dV-11UJg/PAJ1XsOOI4fegwOo57ewAg", + "UCkszU2WH9gy1mb0dV-11UJg/egJ1XufTKYfegwOo57ewAg" + ], + "trackingParams": "CIgBELeDCBgAIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "categoryType": "CATEGORY_TYPE_GLOBAL" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "people", + "title": { "simpleText": "People" }, + "emojiIds": [ + "😀", + "😃", + "😄", + "😁", + "😆", + "😅", + "🤣", + "😂", + "🙂", + "🙃", + "😉", + "😊", + "😇", + "🥰", + "😍", + "🤩", + "😘", + "😗", + "☺", + "😚", + "😙", + "🥲", + "😋", + "😛", + "😜", + "🤪", + "😝", + "🤑", + "🤗", + "🤭", + "🤫", + "🤔", + "🤐", + "🤨", + "😐", + "😑", + "😶", + "😶\u200d🌫", + "😏", + "😒", + "🙄", + "😬", + "😮\u200d💨", + "🤥", + "😌", + "😔", + "😪", + "🤤", + "😴", + "😷", + "🤒", + "🤕", + "🤢", + "🤮", + "🤧", + "🥵", + "🥶", + "🥴", + "😵", + "😵\u200d💫", + "🤯", + "🤠", + "🥳", + "🥸", + "😎", + "🤓", + "🧐", + "😕", + "😟", + "🙁", + "☹", + "😮", + "😯", + "😲", + "😳", + "🥺", + "😦", + "😧", + "😨", + "😰", + "😥", + "😢", + "😭", + "😱", + "😖", + "😣", + "😞", + "😓", + "😩", + "😫", + "🥱", + "😤", + "😡", + "😠", + "🤬", + "😈", + "👿", + "💀", + "☠", + "💩", + "🤡", + "👹", + "👺", + "👻", + "👽", + "👾", + "🤖", + "😺", + "😸", + "😹", + "😻", + "😼", + "😽", + "🙀", + "😿", + "😾", + "🙈", + "🙉", + "🙊", + "💋", + "💌", + "💘", + "💝", + "💖", + "💗", + "💓", + "💞", + "💕", + "💟", + "❣", + "💔", + "❤\u200d🔥", + "❤\u200d🩹", + "❤", + "🧡", + "💛", + "💚", + "💙", + "💜", + "🤎", + "🖤", + "🤍", + "💯", + "💢", + "💥", + "💫", + "💦", + "💨", + "🕳", + "💣", + "💬", + "👁\u200d🗨", + "🗨", + "🗯", + "💭", + "💤", + "👋", + "🤚", + "🖐", + "✋", + "🖖", + "👌", + "🤌", + "🤏", + "✌", + "🤞", + "🤟", + "🤘", + "🤙", + "👈", + "👉", + "👆", + "🖕", + "👇", + "☝", + "👍", + "👎", + "✊", + "👊", + "🤛", + "🤜", + "👏", + "🙌", + "👐", + "🤲", + "🤝", + "🙏", + "✍", + "💅", + "🤳", + "💪", + "🦾", + "🦿", + "🦵", + "🦶", + "👂", + "🦻", + "👃", + "🧠", + "🫀", + "🫁", + "🦷", + "🦴", + "👀", + "👁", + "👅", + "👄", + "👶", + "🧒", + "👦", + "👧", + "🧑", + "👱", + "👨", + "🧔", + "🧔\u200d♂", + "🧔\u200d♀", + "👩", + "👱\u200d♀", + "👱\u200d♂", + "🧓", + "👴", + "👵", + "🙍", + "🙍\u200d♂", + "🙍\u200d♀", + "🙎", + "🙎\u200d♂", + "🙎\u200d♀", + "🙅", + "🙅\u200d♂", + "🙅\u200d♀", + "🙆", + "🙆\u200d♂", + "🙆\u200d♀", + "💁", + "💁\u200d♂", + "💁\u200d♀", + "🙋", + "🙋\u200d♂", + "🙋\u200d♀", + "🧏", + "🧏\u200d♂", + "🧏\u200d♀", + "🙇", + "🙇\u200d♂", + "🙇\u200d♀", + "🤦", + "🤦\u200d♂", + "🤦\u200d♀", + "🤷", + "🤷\u200d♂", + "🤷\u200d♀", + "🧑\u200d⚕", + "👨\u200d⚕", + "👩\u200d⚕", + "🧑\u200d🎓", + "👨\u200d🎓", + "👩\u200d🎓", + "🧑\u200d🏫", + "👨\u200d🏫", + "👩\u200d🏫", + "🧑\u200d⚖", + "👨\u200d⚖", + "👩\u200d⚖", + "🧑\u200d🌾", + "👨\u200d🌾", + "👩\u200d🌾", + "🧑\u200d🍳", + "👨\u200d🍳", + "👩\u200d🍳", + "🧑\u200d🔧", + "👨\u200d🔧", + "👩\u200d🔧", + "🧑\u200d🏭", + "👨\u200d🏭", + "👩\u200d🏭", + "🧑\u200d💼", + "👨\u200d💼", + "👩\u200d💼", + "🧑\u200d🔬", + "👨\u200d🔬", + "👩\u200d🔬", + "🧑\u200d💻", + "👨\u200d💻", + "👩\u200d💻", + "🧑\u200d🎤", + "👨\u200d🎤", + "👩\u200d🎤", + "🧑\u200d🎨", + "👨\u200d🎨", + "👩\u200d🎨", + "🧑\u200d✈", + "👨\u200d✈", + "👩\u200d✈", + "🧑\u200d🚀", + "👨\u200d🚀", + "👩\u200d🚀", + "🧑\u200d🚒", + "👨\u200d🚒", + "👩\u200d🚒", + "👮", + "👮\u200d♂", + "👮\u200d♀", + "🕵", + "🕵\u200d♂", + "🕵\u200d♀", + "💂", + "💂\u200d♂", + "💂\u200d♀", + "🥷", + "👷", + "👷\u200d♂", + "👷\u200d♀", + "🤴", + "👸", + "👳", + "👳\u200d♂", + "👳\u200d♀", + "👲", + "🧕", + "🤵", + "🤵\u200d♂", + "🤵\u200d♀", + "👰", + "👰\u200d♂", + "👰\u200d♀", + "🤰", + "🤱", + "👩\u200d🍼", + "👨\u200d🍼", + "🧑\u200d🍼", + "👼", + "🎅", + "🤶", + "🧑\u200d🎄", + "🦸", + "🦸\u200d♂", + "🦸\u200d♀", + "🦹", + "🦹\u200d♂", + "🦹\u200d♀", + "🧙", + "🧙\u200d♂", + "🧙\u200d♀", + "🧚", + "🧚\u200d♂", + "🧚\u200d♀", + "🧛", + "🧛\u200d♂", + "🧛\u200d♀", + "🧜", + "🧜\u200d♂", + "🧜\u200d♀", + "🧝", + "🧝\u200d♂", + "🧝\u200d♀", + "🧞", + "🧞\u200d♂", + "🧞\u200d♀", + "🧟", + "🧟\u200d♂", + "🧟\u200d♀", + "💆", + "💆\u200d♂", + "💆\u200d♀", + "💇", + "💇\u200d♂", + "💇\u200d♀", + "🚶", + "🚶\u200d♂", + "🚶\u200d♀", + "🧍", + "🧍\u200d♂", + "🧍\u200d♀", + "🧎", + "🧎\u200d♂", + "🧎\u200d♀", + "🧑\u200d🦯", + "👨\u200d🦯", + "👩\u200d🦯", + "🧑\u200d🦼", + "👨\u200d🦼", + "👩\u200d🦼", + "🧑\u200d🦽", + "👨\u200d🦽", + "👩\u200d🦽", + "🏃", + "🏃\u200d♂", + "🏃\u200d♀", + "💃", + "🕺", + "🕴", + "👯", + "👯\u200d♂", + "👯\u200d♀", + "🧖", + "🧖\u200d♂", + "🧖\u200d♀", + "🧗", + "🧗\u200d♂", + "🧗\u200d♀", + "🤺", + "🏇", + "⛷", + "🏂", + "🏌", + "🏌\u200d♂", + "🏌\u200d♀", + "🏄", + "🏄\u200d♂", + "🏄\u200d♀", + "🚣", + "🚣\u200d♂", + "🚣\u200d♀", + "🏊", + "🏊\u200d♂", + "🏊\u200d♀", + "⛹", + "⛹\u200d♂", + "⛹\u200d♀", + "🏋", + "🏋\u200d♂", + "🏋\u200d♀", + "🚴", + "🚴\u200d♂", + "🚴\u200d♀", + "🚵", + "🚵\u200d♂", + "🚵\u200d♀", + "🤸", + "🤸\u200d♂", + "🤸\u200d♀", + "🤼", + "🤼\u200d♂", + "🤼\u200d♀", + "🤽", + "🤽\u200d♂", + "🤽\u200d♀", + "🤾", + "🤾\u200d♂", + "🤾\u200d♀", + "🤹", + "🤹\u200d♂", + "🤹\u200d♀", + "🧘", + "🧘\u200d♂", + "🧘\u200d♀", + "🛀", + "🛌", + "🧑\u200d🤝\u200d🧑", + "👭", + "👫", + "👬", + "💏", + "👩\u200d❤\u200d💋\u200d👨", + "👨\u200d❤\u200d💋\u200d👨", + "👩\u200d❤\u200d💋\u200d👩", + "💑", + "👩\u200d❤\u200d👨", + "👨\u200d❤\u200d👨", + "👩\u200d❤\u200d👩", + "👪", + "👨\u200d👩\u200d👦", + "👨\u200d👩\u200d👧", + "👨\u200d👩\u200d👧\u200d👦", + "👨\u200d👩\u200d👦\u200d👦", + "👨\u200d👩\u200d👧\u200d👧", + "👨\u200d👨\u200d👦", + "👨\u200d👨\u200d👧", + "👨\u200d👨\u200d👧\u200d👦", + "👨\u200d👨\u200d👦\u200d👦", + "👨\u200d👨\u200d👧\u200d👧", + "👩\u200d👩\u200d👦", + "👩\u200d👩\u200d👧", + "👩\u200d👩\u200d👧\u200d👦", + "👩\u200d👩\u200d👦\u200d👦", + "👩\u200d👩\u200d👧\u200d👧", + "👨\u200d👦", + "👨\u200d👦\u200d👦", + "👨\u200d👧", + "👨\u200d👧\u200d👦", + "👨\u200d👧\u200d👧", + "👩\u200d👦", + "👩\u200d👦\u200d👦", + "👩\u200d👧", + "👩\u200d👧\u200d👦", + "👩\u200d👧\u200d👧", + "🗣", + "👤", + "👥", + "🫂", + "👣" + ], + "trackingParams": "CIcBELiDCBgBIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "nature", + "title": { "simpleText": "Nature" }, + "emojiIds": [ + "🐵", + "🐒", + "🦍", + "🦧", + "🐶", + "🐕", + "🦮", + "🐕\u200d🦺", + "🐩", + "🐺", + "🦊", + "🦝", + "🐱", + "🐈", + "🐈\u200d⬛", + "🦁", + "🐯", + "🐅", + "🐆", + "🐴", + "🐎", + "🦄", + "🦓", + "🦌", + "🦬", + "🐮", + "🐂", + "🐃", + "🐄", + "🐷", + "🐖", + "🐗", + "🐽", + "🐏", + "🐑", + "🐐", + "🐪", + "🐫", + "🦙", + "🦒", + "🐘", + "🦣", + "🦏", + "🦛", + "🐭", + "🐁", + "🐀", + "🐹", + "🐰", + "🐇", + "🐿", + "🦫", + "🦔", + "🦇", + "🐻", + "🐻\u200d❄", + "🐨", + "🐼", + "🦥", + "🦦", + "🦨", + "🦘", + "🦡", + "🐾", + "🦃", + "🐔", + "🐓", + "🐣", + "🐤", + "🐥", + "🐦", + "🐧", + "🕊", + "🦅", + "🦆", + "🦢", + "🦉", + "🦤", + "🪶", + "🦩", + "🦚", + "🦜", + "🐸", + "🐊", + "🐢", + "🦎", + "🐍", + "🐲", + "🐉", + "🦕", + "🦖", + "🐳", + "🐋", + "🐬", + "🦭", + "🐟", + "🐠", + "🐡", + "🦈", + "🐙", + "🐚", + "🐌", + "🦋", + "🐛", + "🐜", + "🐝", + "🪲", + "🐞", + "🦗", + "🪳", + "🕷", + "🕸", + "🦂", + "🦟", + "🪰", + "🪱", + "🦠", + "💐", + "🌸", + "💮", + "🏵", + "🌹", + "🥀", + "🌺", + "🌻", + "🌼", + "🌷", + "🌱", + "🪴", + "🌲", + "🌳", + "🌴", + "🌵", + "🌾", + "🌿", + "☘", + "🍀", + "🍁", + "🍂", + "🍃" + ], + "trackingParams": "CIYBELiDCBgCIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "food", + "title": { "simpleText": "Food" }, + "emojiIds": [ + "🍇", + "🍈", + "🍉", + "🍊", + "🍋", + "🍌", + "🍍", + "🥭", + "🍎", + "🍏", + "🍐", + "🍑", + "🍒", + "🍓", + "🫐", + "🥝", + "🍅", + "🫒", + "🥥", + "🥑", + "🍆", + "🥔", + "🥕", + "🌽", + "🌶", + "🫑", + "🥒", + "🥬", + "🥦", + "🧄", + "🧅", + "🍄", + "🥜", + "🌰", + "🍞", + "🥐", + "🥖", + "🫓", + "🥨", + "🥯", + "🥞", + "🧇", + "🧀", + "🍖", + "🍗", + "🥩", + "🥓", + "🍔", + "🍟", + "🍕", + "🌭", + "🥪", + "🌮", + "🌯", + "🫔", + "🥙", + "🧆", + "🥚", + "🍳", + "🥘", + "🍲", + "🫕", + "🥣", + "🥗", + "🍿", + "🧈", + "🧂", + "🥫", + "🍱", + "🍘", + "🍙", + "🍚", + "🍛", + "🍜", + "🍝", + "🍠", + "🍢", + "🍣", + "🍤", + "🍥", + "🥮", + "🍡", + "🥟", + "🥠", + "🥡", + "🦀", + "🦞", + "🦐", + "🦑", + "🦪", + "🍦", + "🍧", + "🍨", + "🍩", + "🍪", + "🎂", + "🍰", + "🧁", + "🥧", + "🍫", + "🍬", + "🍭", + "🍮", + "🍯", + "🍼", + "🥛", + "☕", + "🫖", + "🍵", + "🍶", + "🍾", + "🍷", + "🍸", + "🍹", + "🍺", + "🍻", + "🥂", + "🥃", + "🥤", + "🧋", + "🧃", + "🧉", + "🧊", + "🥢", + "🍽", + "🍴", + "🥄", + "🔪", + "🏺" + ], + "trackingParams": "CIUBELiDCBgDIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "travel", + "title": { "simpleText": "Travel" }, + "emojiIds": [ + "🌍", + "🌎", + "🌏", + "🌐", + "🗺", + "🗾", + "🧭", + "🏔", + "⛰", + "🌋", + "🗻", + "🏕", + "🏖", + "🏜", + "🏝", + "🏞", + "🏟", + "🏛", + "🏗", + "🧱", + "🪨", + "🪵", + "🛖", + "🏘", + "🏚", + "🏠", + "🏡", + "🏢", + "🏣", + "🏤", + "🏥", + "🏦", + "🏨", + "🏩", + "🏪", + "🏫", + "🏬", + "🏭", + "🏯", + "🏰", + "💒", + "🗼", + "🗽", + "⛪", + "🕌", + "🛕", + "🕍", + "⛩", + "🕋", + "⛲", + "⛺", + "🌁", + "🌃", + "🏙", + "🌄", + "🌅", + "🌆", + "🌇", + "🌉", + "♨", + "🎠", + "🎡", + "🎢", + "💈", + "🎪", + "🚂", + "🚃", + "🚄", + "🚅", + "🚆", + "🚇", + "🚈", + "🚉", + "🚊", + "🚝", + "🚞", + "🚋", + "🚌", + "🚍", + "🚎", + "🚐", + "🚑", + "🚒", + "🚓", + "🚔", + "🚕", + "🚖", + "🚗", + "🚘", + "🚙", + "🛻", + "🚚", + "🚛", + "🚜", + "🏎", + "🏍", + "🛵", + "🦽", + "🦼", + "🛺", + "🚲", + "🛴", + "🛹", + "🛼", + "🚏", + "🛣", + "🛤", + "🛢", + "⛽", + "🚨", + "🚥", + "🚦", + "🛑", + "🚧", + "⚓", + "⛵", + "🛶", + "🚤", + "🛳", + "⛴", + "🛥", + "🚢", + "✈", + "🛩", + "🛫", + "🛬", + "🪂", + "💺", + "🚁", + "🚟", + "🚠", + "🚡", + "🛰", + "🚀", + "🛸", + "🛎", + "🧳", + "⌛", + "⏳", + "⌚", + "⏰", + "⏱", + "⏲", + "🕰", + "🕛", + "🕧", + "🕐", + "🕜", + "🕑", + "🕝", + "🕒", + "🕞", + "🕓", + "🕟", + "🕔", + "🕠", + "🕕", + "🕡", + "🕖", + "🕢", + "🕗", + "🕣", + "🕘", + "🕤", + "🕙", + "🕥", + "🕚", + "🕦", + "🌑", + "🌒", + "🌓", + "🌔", + "🌕", + "🌖", + "🌗", + "🌘", + "🌙", + "🌚", + "🌛", + "🌜", + "🌡", + "☀", + "🌝", + "🌞", + "🪐", + "⭐", + "🌟", + "🌠", + "🌌", + "☁", + "⛅", + "⛈", + "🌤", + "🌥", + "🌦", + "🌧", + "🌨", + "🌩", + "🌪", + "🌫", + "🌬", + "🌀", + "🌈", + "🌂", + "☂", + "☔", + "⛱", + "⚡", + "❄", + "☃", + "⛄", + "☄", + "🔥", + "💧", + "🌊" + ], + "trackingParams": "CIQBELiDCBgEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "activities", + "title": { "simpleText": "Activities" }, + "emojiIds": [ + "🎃", + "🎄", + "🎆", + "🎇", + "🧨", + "✨", + "🎈", + "🎉", + "🎊", + "🎋", + "🎍", + "🎎", + "🎏", + "🎐", + "🎑", + "🧧", + "🎀", + "🎁", + "🎗", + "🎟", + "🎫", + "🎖", + "🏆", + "🏅", + "🥇", + "🥈", + "🥉", + "⚽", + "⚾", + "🥎", + "🏀", + "🏐", + "🏈", + "🏉", + "🎾", + "🥏", + "🎳", + "🏏", + "🏑", + "🏒", + "🥍", + "🏓", + "🏸", + "🥊", + "🥋", + "🥅", + "⛳", + "⛸", + "🎣", + "🤿", + "🎽", + "🎿", + "🛷", + "🥌", + "🎯", + "🪀", + "🪁", + "🎱", + "🔮", + "🪄", + "🧿", + "🎮", + "🕹", + "🎰", + "🎲", + "🧩", + "🧸", + "🪅", + "🪆", + "♠", + "♥", + "♦", + "♣", + "♟", + "🃏", + "🀄", + "🎴", + "🎭", + "🖼", + "🎨", + "🧵", + "🪡", + "🧶", + "🪢" + ], + "trackingParams": "CIMBELiDCBgFIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "objects", + "title": { "simpleText": "Objects" }, + "emojiIds": [ + "👓", + "🕶", + "🥽", + "🥼", + "🦺", + "👔", + "👕", + "👖", + "🧣", + "🧤", + "🧥", + "🧦", + "👗", + "👘", + "🥻", + "🩱", + "🩲", + "🩳", + "👙", + "👚", + "👛", + "👜", + "👝", + "🛍", + "🎒", + "🩴", + "👞", + "👟", + "🥾", + "🥿", + "👠", + "👡", + "🩰", + "👢", + "👑", + "👒", + "🎩", + "🎓", + "🧢", + "🪖", + "⛑", + "📿", + "💄", + "💍", + "💎", + "🔇", + "🔈", + "🔉", + "🔊", + "📢", + "📣", + "📯", + "🔔", + "🔕", + "🎼", + "🎵", + "🎶", + "🎙", + "🎚", + "🎛", + "🎤", + "🎧", + "📻", + "🎷", + "🪗", + "🎸", + "🎹", + "🎺", + "🎻", + "🪕", + "🥁", + "🪘", + "📱", + "📲", + "☎", + "📞", + "📟", + "📠", + "🔋", + "🔌", + "💻", + "🖥", + "🖨", + "⌨", + "🖱", + "🖲", + "💽", + "💾", + "💿", + "📀", + "🧮", + "🎥", + "🎞", + "📽", + "🎬", + "📺", + "📷", + "📸", + "📹", + "📼", + "🔍", + "🔎", + "🕯", + "💡", + "🔦", + "🏮", + "🪔", + "📔", + "📕", + "📖", + "📗", + "📘", + "📙", + "📚", + "📓", + "📒", + "📃", + "📜", + "📄", + "📰", + "🗞", + "📑", + "🔖", + "🏷", + "💰", + "🪙", + "💴", + "💵", + "💶", + "💷", + "💸", + "💳", + "🧾", + "💹", + "✉", + "📧", + "📨", + "📩", + "📤", + "📥", + "📦", + "📫", + "📪", + "📬", + "📭", + "📮", + "🗳", + "✏", + "✒", + "🖋", + "🖊", + "🖌", + "🖍", + "📝", + "💼", + "📁", + "📂", + "🗂", + "📅", + "📆", + "🗒", + "🗓", + "📇", + "📈", + "📉", + "📊", + "📋", + "📌", + "📍", + "📎", + "🖇", + "📏", + "📐", + "✂", + "🗃", + "🗄", + "🗑", + "🔒", + "🔓", + "🔏", + "🔐", + "🔑", + "🗝", + "🔨", + "🪓", + "⛏", + "⚒", + "🛠", + "🗡", + "⚔", + "🔫", + "🪃", + "🏹", + "🛡", + "🪚", + "🔧", + "🪛", + "🔩", + "⚙", + "🗜", + "⚖", + "🦯", + "🔗", + "⛓", + "🪝", + "🧰", + "🧲", + "🪜", + "⚗", + "🧪", + "🧫", + "🧬", + "🔬", + "🔭", + "📡", + "💉", + "🩸", + "💊", + "🩹", + "🩺", + "🚪", + "🛗", + "🪞", + "🪟", + "🛏", + "🛋", + "🪑", + "🚽", + "🪠", + "🚿", + "🛁", + "🪤", + "🪒", + "🧴", + "🧷", + "🧹", + "🧺", + "🧻", + "🪣", + "🧼", + "🪥", + "🧽", + "🧯", + "🛒", + "🚬", + "⚰", + "🪦", + "⚱", + "🗿", + "🪧" + ], + "trackingParams": "CIIBELiDCBgGIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + }, + { + "emojiPickerCategoryRenderer": { + "categoryId": "symbols", + "title": { "simpleText": "Symbols" }, + "emojiIds": [ + "🏧", + "🚮", + "🚰", + "♿", + "🚹", + "🚺", + "🚻", + "🚼", + "🚾", + "🛂", + "🛃", + "🛄", + "🛅", + "⚠", + "🚸", + "⛔", + "🚫", + "🚳", + "🚭", + "🚯", + "🚱", + "🚷", + "📵", + "🔞", + "☢", + "☣", + "⬆", + "↗", + "➡", + "↘", + "⬇", + "↙", + "⬅", + "↖", + "↕", + "↔", + "↩", + "↪", + "⤴", + "⤵", + "🔃", + "🔄", + "🔙", + "🔚", + "🔛", + "🔜", + "🔝", + "🛐", + "⚛", + "🕉", + "✡", + "☸", + "☯", + "✝", + "☦", + "☪", + "☮", + "🕎", + "🔯", + "♈", + "♉", + "♊", + "♋", + "♌", + "♍", + "♎", + "♏", + "♐", + "♑", + "♒", + "♓", + "⛎", + "🔀", + "🔁", + "🔂", + "▶", + "⏩", + "⏭", + "⏯", + "◀", + "⏪", + "⏮", + "🔼", + "⏫", + "🔽", + "⏬", + "⏸", + "⏹", + "⏺", + "⏏", + "🎦", + "🔅", + "🔆", + "📶", + "📳", + "📴", + "♀", + "♂", + "⚧", + "✖", + "➕", + "➖", + "➗", + "♾", + "‼", + "⁉", + "❓", + "❔", + "❕", + "❗", + "〰", + "💱", + "💲", + "⚕", + "♻", + "⚜", + "🔱", + "📛", + "🔰", + "⭕", + "✅", + "☑", + "✔", + "❌", + "❎", + "➰", + "➿", + "〽", + "✳", + "✴", + "❇", + "©", + "®", + "™", + "🔴", + "🟠", + "🟡", + "🟢", + "🔵", + "🟣", + "🟤", + "⚫", + "⚪", + "🟥", + "🟧", + "🟨", + "🟩", + "🟦", + "🟪", + "🟫", + "⬛", + "⬜", + "◼", + "◻", + "◾", + "◽", + "▪", + "▫", + "🔶", + "🔷", + "🔸", + "🔹", + "🔺", + "🔻", + "💠", + "🔘", + "🔳", + "🔲", + "🏁", + "🚩", + "🎌", + "🏴", + "🏳", + "🏳\u200d🌈", + "🏳\u200d⚧", + "🏴\u200d☠" + ], + "trackingParams": "CIEBELiDCBgHIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "imageLoadingLazy": true, + "categoryType": "CATEGORY_TYPE_UNICODE" + } + } + ], + "categoryButtons": [ + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "UCkszU2WH9gy1mb0dV-11UJg", + "icon": { "iconType": "VIDEO_YOUTUBE" }, + "tooltip": "YouTube", + "accessibility": { + "accessibilityData": { "label": "YouTube" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "people", + "icon": { "iconType": "EMOJI_PEOPLE" }, + "tooltip": "People", + "accessibility": { + "accessibilityData": { "label": "People" } + }, + "targetId": "emoji-picker-category-button-people" + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "nature", + "icon": { "iconType": "EMOJI_NATURE" }, + "tooltip": "Nature", + "accessibility": { + "accessibilityData": { "label": "Nature" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "food", + "icon": { "iconType": "EMOJI_FOOD" }, + "tooltip": "Food", + "accessibility": { + "accessibilityData": { "label": "Food" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "travel", + "icon": { "iconType": "EMOJI_TRAVEL" }, + "tooltip": "Travel", + "accessibility": { + "accessibilityData": { "label": "Travel" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "activities", + "icon": { "iconType": "EMOJI_ACTIVITIES" }, + "tooltip": "Activities", + "accessibility": { + "accessibilityData": { "label": "Activities" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "objects", + "icon": { "iconType": "EMOJI_OBJECTS" }, + "tooltip": "Objects", + "accessibility": { + "accessibilityData": { "label": "Objects" } + } + } + }, + { + "emojiPickerCategoryButtonRenderer": { + "categoryId": "symbols", + "icon": { "iconType": "EMOJI_SYMBOLS" }, + "tooltip": "Symbols", + "accessibility": { + "accessibilityData": { "label": "Symbols" } + } + } + } + ], + "searchPlaceholderText": { "runs": [{ "text": "Search emoji" }] }, + "searchNoResultsText": { "runs": [{ "text": "No emoji found" }] }, + "pickSkinToneText": { + "runs": [{ "text": "Pick emoji skin tone" }] + }, + "trackingParams": "CIABELK0AiITCLrird2YoYUDFa_LQgUdzXgEow==", + "clearSearchLabel": "Clear search", + "skinToneGenericLabel": "Generic skin tone", + "skinToneLightLabel": "Light skin tone", + "skinToneMediumLightLabel": "Medium light skin tone", + "skinToneMediumLabel": "Medium skin tone", + "skinToneMediumDarkLabel": "Medium dark skin tone", + "skinToneDarkLabel": "Dark skin tone" + } + } + } + }, + "sortMenu": { + "sortFilterSubMenuRenderer": { + "subMenuItems": [ + { + "title": "Top comments", + "selected": true, + "serviceEndpoint": { + "clickTrackingParams": "CH4Q48AHGAAiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYyJSIRIgtRaXAxVmtUdU03MDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT", + "command": { + "clickTrackingParams": "CH4Q48AHGAAiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "showReloadUiCommand": { "targetId": "comments-section" } + } + } + }, + "trackingParams": "CH4Q48AHGAAiEwi64q3dmKGFAxWvy0IFHc14BKM=" + }, + { + "title": "Newest first", + "selected": false, + "serviceEndpoint": { + "clickTrackingParams": "CH0Q48AHGAEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYyJSIRIgtRaXAxVmtUdU03MDABeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT", + "command": { + "clickTrackingParams": "CH0Q48AHGAEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "showReloadUiCommand": { "targetId": "comments-section" } + } + } + }, + "trackingParams": "CH0Q48AHGAEiEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + ], + "title": "Sort by", + "icon": { "iconType": "SORT" }, + "accessibility": { + "accessibilityData": { "label": "Sort comments" } + }, + "tooltip": "Sort comments", + "trackingParams": "CHwQgdoEIhMIuuKt3ZihhQMVr8tCBR3NeASj" + } + }, + "trackingParams": "CHsQ7pgBGOABIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "titleText": { "runs": [{ "text": "Comments" }] }, + "commentsCount": { "runs": [{ "text": "20K" }] }, + "showSeparator": true, + "customEmojis": [ + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/fish-orange-wide-eyes", + "shortcuts": [":fish-orange-wide-eyes:"], + "searchTerms": ["fish-orange-wide-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/iQLKgKs7qL3091VHgVgpaezc62uPewy50G_DoI0dMtVGmQEX5pflZrUxWfYGmRfzfUOOgJs=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/iQLKgKs7qL3091VHgVgpaezc62uPewy50G_DoI0dMtVGmQEX5pflZrUxWfYGmRfzfUOOgJs=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "fish-orange-wide-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-turquoise-music-note", + "shortcuts": [":face-turquoise-music-note:"], + "searchTerms": ["face-turquoise-music-note"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/-K6oRITFKVU8V4FedrqXGkV_vTqUufVCQpBpyLK6w3chF4AS1kzT0JVfJxhtlfIAw5jrNco=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/-K6oRITFKVU8V4FedrqXGkV_vTqUufVCQpBpyLK6w3chF4AS1kzT0JVfJxhtlfIAw5jrNco=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-turquoise-music-note" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/7cIfY5niDOmSkNAP08CA6A4", + "shortcuts": [":eyes-purple-crying:"], + "searchTerms": ["eyes-purple-crying"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/FrYgdeZPpvXs-6Mp305ZiimWJ0wV5bcVZctaUy80mnIdwe-P8HRGYAm0OyBtVx8EB9_Dxkc=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/FrYgdeZPpvXs-6Mp305ZiimWJ0wV5bcVZctaUy80mnIdwe-P8HRGYAm0OyBtVx8EB9_Dxkc=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "eyes-purple-crying" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/mW5IY47PMcSnkMkPo6OAyAk", + "shortcuts": [":face-blue-three-eyes:"], + "searchTerms": ["face-blue-three-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/nSQHitVplLe5uZC404dyAwv1f58S3PN-U_799fvFzq-6b3bv-MwENO-Zs1qQI4oEXCbOJg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/nSQHitVplLe5uZC404dyAwv1f58S3PN-U_799fvFzq-6b3bv-MwENO-Zs1qQI4oEXCbOJg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-three-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-orange-tv-shape", + "shortcuts": [":face-orange-tv-shape:"], + "searchTerms": ["face-orange-tv-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/EVK0ik6dL5mngojX9I9Juw4iFh053emP0wcUjZH0whC_LabPq-DZxN4Jg-tpMcEVfJ0QpcJ4=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/EVK0ik6dL5mngojX9I9Juw4iFh053emP0wcUjZH0whC_LabPq-DZxN4Jg-tpMcEVfJ0QpcJ4=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-orange-tv-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/rocket-red-countdown-liftoff", + "shortcuts": [":rocket-red-countdown-liftoff:"], + "searchTerms": ["rocket-red-countdown-liftoff"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/lQZFYAeWe5-SJ_fz6dCAFYz1MjBnEek8DvioGxhlj395UFTSSHqYAmfhJN2i0rz3fDD5DQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/lQZFYAeWe5-SJ_fz6dCAFYz1MjBnEek8DvioGxhlj395UFTSSHqYAmfhJN2i0rz3fDD5DQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "rocket-red-countdown-liftoff" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Fv90Xq-vJcPq8gTqzreQAQ", + "shortcuts": [":elbowbump:"], + "searchTerms": ["elbowbump"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/2ou58X5XuhTrxjtIM2wew1f-HKRhN_T5SILQgHE-WD9dySzzJdGwL4R1gpKiJXcbtq6sjQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/2ou58X5XuhTrxjtIM2wew1f-HKRhN_T5SILQgHE-WD9dySzzJdGwL4R1gpKiJXcbtq6sjQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "elbowbump" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/VP90Xv_wG82o8wTCi7CQAw", + "shortcuts": [":videocall:"], + "searchTerms": ["videocall"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/k5v_oxUzRWmTOXP0V6WJver6xdS1lyHMPcMTfxn23Md6rmixoR5RZUusFbZi1uZwjF__pv4=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/k5v_oxUzRWmTOXP0V6WJver6xdS1lyHMPcMTfxn23Md6rmixoR5RZUusFbZi1uZwjF__pv4=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "videocall" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/UvgfY_vqE92T29sPvqiAkAU", + "shortcuts": [":body-blue-raised-arms:"], + "searchTerms": ["body-blue-raised-arms"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/2Jds3I9UKOfgjid97b_nlDU4X2t5MgjTof8yseCp7M-6ZhOhRkPGSPfYwmE9HjCibsfA1Uzo=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/2Jds3I9UKOfgjid97b_nlDU4X2t5MgjTof8yseCp7M-6ZhOhRkPGSPfYwmE9HjCibsfA1Uzo=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "body-blue-raised-arms" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/LsMfY8P6G-yckNAPjoWA8AI", + "shortcuts": [":face-blue-wide-eyes:"], + "searchTerms": ["face-blue-wide-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/2Ht4KImoWDlCddiDQVuzSJwpEb59nZJ576ckfaMh57oqz2pUkkgVTXV8osqUOgFHZdUISJM=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/2Ht4KImoWDlCddiDQVuzSJwpEb59nZJ576ckfaMh57oqz2pUkkgVTXV8osqUOgFHZdUISJM=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-wide-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-blue-wheelchair-race", + "shortcuts": [":person-blue-wheelchair-race:"], + "searchTerms": ["person-blue-wheelchair-race"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/ZepxPGk5TwzrKAP9LUkzmKmEkbaF5OttNyybwok6mJENw3p0lxDXkD1X2_rAwGcUM0L-D04=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/ZepxPGk5TwzrKAP9LUkzmKmEkbaF5OttNyybwok6mJENw3p0lxDXkD1X2_rAwGcUM0L-D04=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-blue-wheelchair-race" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/PAJ1XsOOI4fegwOo57ewAg", + "shortcuts": [":socialdist:"], + "searchTerms": ["socialdist"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/igBNi55-TACUi1xQkqMAor-IEXmt8He56K7pDTG5XoTsbM-rVswNzUfC5iwnfrpunWihrg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/igBNi55-TACUi1xQkqMAor-IEXmt8He56K7pDTG5XoTsbM-rVswNzUfC5iwnfrpunWihrg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "socialdist" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/oPgfY_DoKfSXkNAPq8-AgAo", + "shortcuts": [":face-turquoise-covering-eyes:"], + "searchTerms": ["face-turquoise-covering-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/H2HNPRO8f4SjMmPNh5fl10okSETW7dLTZtuE4jh9D6pSmaUiLfoZJ2oiY-qWU3Owfm1IsXg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/H2HNPRO8f4SjMmPNh5fl10okSETW7dLTZtuE4jh9D6pSmaUiLfoZJ2oiY-qWU3Owfm1IsXg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-turquoise-covering-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/LfkfY_zhH4GFr8oP4aKA6AI", + "shortcuts": [":face-blue-question-mark:"], + "searchTerms": ["face-blue-question-mark"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/Wx4PMqTwG3f4gtR7J9Go1s8uozzByGWLSXHzrh3166ixaYRinkH_F05lslfsRUsKRvHXrDk=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/Wx4PMqTwG3f4gtR7J9Go1s8uozzByGWLSXHzrh3166ixaYRinkH_F05lslfsRUsKRvHXrDk=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-question-mark" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hands-yellow-heart-red", + "shortcuts": [":hands-yellow-heart-red:"], + "searchTerms": ["hands-yellow-heart-red"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/qWSu2zrgOKLKgt_E-XUP9e30aydT5aF3TnNjvfBL55cTu1clP8Eoh5exN3NDPEVPYmasmoA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/qWSu2zrgOKLKgt_E-XUP9e30aydT5aF3TnNjvfBL55cTu1clP8Eoh5exN3NDPEVPYmasmoA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hands-yellow-heart-red" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/dv90XtfhAurw8gTgzar4DA", + "shortcuts": [":virtualhug:"], + "searchTerms": ["virtualhug"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/U1TjOZlqtS58NGqQhE8VWDptPSrmJNkrbVRp_8jI4f84QqIGflq2Ibu7YmuOg5MmVYnpevc=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/U1TjOZlqtS58NGqQhE8VWDptPSrmJNkrbVRp_8jI4f84QqIGflq2Ibu7YmuOg5MmVYnpevc=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "virtualhug" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/HvgfY93GEYmqvwLUuYDwAQ", + "shortcuts": [":glasses-purple-yellow-diamond:"], + "searchTerms": ["glasses-purple-yellow-diamond"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/EnDBiuksboKsLkxp_CqMWlTcZtlL77QBkbjz_rLedMSDzrHmy_6k44YWFy2rk4I0LG6K2KI=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/EnDBiuksboKsLkxp_CqMWlTcZtlL77QBkbjz_rLedMSDzrHmy_6k44YWFy2rk4I0LG6K2KI=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "glasses-purple-yellow-diamond" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-red-smiling-live", + "shortcuts": [":face-red-smiling-live:"], + "searchTerms": ["face-red-smiling-live"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/14Pb--7rVcqnHvM7UlrYnV9Rm4J-uojX1B1kiXYvv1my-eyu77pIoPR5sH28-eNIFyLaQHs=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/14Pb--7rVcqnHvM7UlrYnV9Rm4J-uojX1B1kiXYvv1my-eyu77pIoPR5sH28-eNIFyLaQHs=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-red-smiling-live" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Ym5IY7-0LoqA29sPq9CAkAY", + "shortcuts": [":face-purple-smiling-tears:"], + "searchTerms": ["face-purple-smiling-tears"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/MJV1k3J5s0hcUfuo78Y6MKi-apDY5NVDjO9Q7hL8fU4i0cIBgU-cU4rq4sHessJuvuGpDOjJ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/MJV1k3J5s0hcUfuo78Y6MKi-apDY5NVDjO9Q7hL8fU4i0cIBgU-cU4rq4sHessJuvuGpDOjJ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-smiling-tears" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-fuchsia-flower-shape", + "shortcuts": [":face-fuchsia-flower-shape:"], + "searchTerms": ["face-fuchsia-flower-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/o9kq4LQ0fE_x8yxj29ZeLFZiUFpHpL_k2OivHbjZbttzgQytU49Y8-VRhkOP18jgH1dQNSVz=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/o9kq4LQ0fE_x8yxj29ZeLFZiUFpHpL_k2OivHbjZbttzgQytU49Y8-VRhkOP18jgH1dQNSVz=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-fuchsia-flower-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Z8MfY8mzLbnovwK5roC4Bg", + "shortcuts": [":face-orange-raised-eyebrow:"], + "searchTerms": ["face-orange-raised-eyebrow"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/JbCfmOgYI-mO17LPw8e_ycqbBGESL8AVP6i7ZsBOVLd3PEpgrfEuJ9rEGpP_unDcqgWSCg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/JbCfmOgYI-mO17LPw8e_ycqbBGESL8AVP6i7ZsBOVLd3PEpgrfEuJ9rEGpP_unDcqgWSCg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-orange-raised-eyebrow" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/stopwatch-blue-hand-timer", + "shortcuts": [":stopwatch-blue-hand-timer:"], + "searchTerms": ["stopwatch-blue-hand-timer"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/DCvefDAiskRfACgolTlvV1kMfiZVcG50UrmpnRrg3k0udFWG2Uo9zFMaJrJMSJYwcx6fMgk=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/DCvefDAiskRfACgolTlvV1kMfiZVcG50UrmpnRrg3k0udFWG2Uo9zFMaJrJMSJYwcx6fMgk=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "stopwatch-blue-hand-timer" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-purple-open-box", + "shortcuts": [":face-purple-open-box:"], + "searchTerms": ["face-purple-open-box"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/7lJM2sLrozPtNLagPTcN0xlcStWpAuZEmO2f4Ej5kYgSp3woGdq3tWFrTH30S3mD2PyjlQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/7lJM2sLrozPtNLagPTcN0xlcStWpAuZEmO2f4Ej5kYgSp3woGdq3tWFrTH30S3mD2PyjlQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-open-box" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/whistle-red-blow", + "shortcuts": [":whistle-red-blow:"], + "searchTerms": ["whistle-red-blow"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/DBu1ZfPJTnX9S1RyKKdBY-X_CEmj7eF6Uzl71j5jVBz5y4k9JcKnoiFtImAbeu4u8M2X8tU=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/DBu1ZfPJTnX9S1RyKKdBY-X_CEmj7eF6Uzl71j5jVBz5y4k9JcKnoiFtImAbeu4u8M2X8tU=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "whistle-red-blow" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/b8IfY7zOK9iVkNAP_I2A-AY", + "shortcuts": [":face-purple-crying:"], + "searchTerms": ["face-purple-crying"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/g6_km98AfdHbN43gvEuNdZ2I07MmzVpArLwEvNBwwPqpZYzszqhRzU_DXALl11TchX5_xFE=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/g6_km98AfdHbN43gvEuNdZ2I07MmzVpArLwEvNBwwPqpZYzszqhRzU_DXALl11TchX5_xFE=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-crying" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/uP90Xq6wNYrK8gTUoo3wAg", + "shortcuts": [":takeout:"], + "searchTerms": ["takeout"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/FizHI5IYMoNql9XeP7TV3E0ffOaNKTUSXbjtJe90e1OUODJfZbWU37VqBbTh-vpyFHlFIS0=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/FizHI5IYMoNql9XeP7TV3E0ffOaNKTUSXbjtJe90e1OUODJfZbWU37VqBbTh-vpyFHlFIS0=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "takeout" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/8gF1Xp_zK8jk8gSDrI2wCw", + "shortcuts": [":elbowcough:"], + "searchTerms": ["elbowcough"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/DTR9bZd1HOqpRJyz9TKiLb0cqe5Hb84Yi_79A6LWlN1tY-5kXqLDXRmtYVKE9rcqzEghmw=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/DTR9bZd1HOqpRJyz9TKiLb0cqe5Hb84Yi_79A6LWlN1tY-5kXqLDXRmtYVKE9rcqzEghmw=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "elbowcough" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/EAJ1XrS7PMGQ8gTz_prwAg", + "shortcuts": [":learning:"], + "searchTerms": ["learning"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/ZuBuz8GAQ6IEcQc7CoJL8IEBTYbXEvzhBeqy1AiytmhuAT0VHjpXEjd-A5GfR4zDin1L53Q=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/ZuBuz8GAQ6IEcQc7CoJL8IEBTYbXEvzhBeqy1AiytmhuAT0VHjpXEjd-A5GfR4zDin1L53Q=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "learning" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/KsIfY6LzFoLM6AKanYDQAg", + "shortcuts": [":face-blue-smiling:"], + "searchTerms": ["face-blue-smiling"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/cktIaPxFwnrPwn-alHvnvedHLUJwbHi8HCK3AgbHpphrMAW99qw0bDfxuZagSY5ieE9BBrA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/cktIaPxFwnrPwn-alHvnvedHLUJwbHi8HCK3AgbHpphrMAW99qw0bDfxuZagSY5ieE9BBrA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-smiling" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hcIfY57lBJXp6AKBx4CoCA", + "shortcuts": [":text-green-game-over:"], + "searchTerms": ["text-green-game-over"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/cr36FHhSiMAJUSpO9XzjbOgxhtrdJNTVJUlMJeOOfLOFzKleAKT2SEkZwbqihBqfTXYCIg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/cr36FHhSiMAJUSpO9XzjbOgxhtrdJNTVJUlMJeOOfLOFzKleAKT2SEkZwbqihBqfTXYCIg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "text-green-game-over" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/lP90XvOhCZGl8wSO1JmgAw", + "shortcuts": [":sanitizer:"], + "searchTerms": ["sanitizer"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/EJ_8vc4Gl-WxCWBurHwwWROAHrPzxgePodoNfkRY1U_I8L1O2zlqf7-wfUtTeyzq2qHNnocZ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/EJ_8vc4Gl-WxCWBurHwwWROAHrPzxgePodoNfkRY1U_I8L1O2zlqf7-wfUtTeyzq2qHNnocZ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "sanitizer" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Iv90XouTLuOR8gSxxrToBA", + "shortcuts": [":goodvibes:"], + "searchTerms": ["goodvibes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/2CvFOwgKpL29mW_C51XvaWa7Eixtv-3tD1XvZa1_WemaDDL2AqevKbTZ1rdV0OWcnOZRag=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/2CvFOwgKpL29mW_C51XvaWa7Eixtv-3tD1XvZa1_WemaDDL2AqevKbTZ1rdV0OWcnOZRag=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "goodvibes" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/EvkfY6uNC5OykQOewoCQAQ", + "shortcuts": [":hand-purple-blue-peace:"], + "searchTerms": ["hand-purple-blue-peace"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/-sC8wj6pThd7FNdslEoJlG4nB9SIbrJG3CRGh7-bNV0RVfcrJuwiWHoUZ6UmcVs7sQjxTg4=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/-sC8wj6pThd7FNdslEoJlG4nB9SIbrJG3CRGh7-bNV0RVfcrJuwiWHoUZ6UmcVs7sQjxTg4=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hand-purple-blue-peace" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-blue-spam-shape", + "shortcuts": [":face-blue-spam-shape:"], + "searchTerms": ["face-blue-spam-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/hpwvR5UgJtf0bGkUf8Rn-jTlD6DYZ8FPOFY7rhZZL-JHj_7OPDr7XUOesilRPxlf-aW42Zg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/hpwvR5UgJtf0bGkUf8Rn-jTlD6DYZ8FPOFY7rhZZL-JHj_7OPDr7XUOesilRPxlf-aW42Zg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-spam-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/egJ1XufTKYfegwOo57ewAg", + "shortcuts": [":shelterin:"], + "searchTerms": ["shelterin"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/gjC5x98J4BoVSEPfFJaoLtc4tSBGSEdIlfL2FV4iJG9uGNykDP9oJC_QxAuBTJy6dakPxVeC=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/gjC5x98J4BoVSEPfFJaoLtc4tSBGSEdIlfL2FV4iJG9uGNykDP9oJC_QxAuBTJy6dakPxVeC=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "shelterin" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/medal-yellow-first-red", + "shortcuts": [":medal-yellow-first-red:"], + "searchTerms": ["medal-yellow-first-red"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/EEHiiIalCBKuWDPtNOjjvmEZ-KRkf5dlgmhe5rbLn8aZQl-pNz_paq5UjxNhCrI019TWOQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/EEHiiIalCBKuWDPtNOjjvmEZ-KRkf5dlgmhe5rbLn8aZQl-pNz_paq5UjxNhCrI019TWOQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "medal-yellow-first-red" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-pink-swaying-hair", + "shortcuts": [":person-pink-swaying-hair:"], + "searchTerms": ["person-pink-swaying-hair"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/L8cwo8hEoVhB1k1TopQaeR7oPTn7Ypn5IOae5NACgQT0E9PNYkmuENzVqS7dk2bYRthNAkQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/L8cwo8hEoVhB1k1TopQaeR7oPTn7Ypn5IOae5NACgQT0E9PNYkmuENzVqS7dk2bYRthNAkQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-pink-swaying-hair" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/W8IfY_bwAfiPq7IPvNCA2AU", + "shortcuts": [":face-red-droopy-eyes:"], + "searchTerms": ["face-red-droopy-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/oih9s26MOYPWC_uL6tgaeOlXSGBv8MMoDrWzBt-80nEiVSL9nClgnuzUAKqkU9_TWygF6CI=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/oih9s26MOYPWC_uL6tgaeOlXSGBv8MMoDrWzBt-80nEiVSL9nClgnuzUAKqkU9_TWygF6CI=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-red-droopy-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-yellow-podium-blue", + "shortcuts": [":person-yellow-podium-blue:"], + "searchTerms": ["person-yellow-podium-blue"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/N28nFDm82F8kLPAa-jY_OySFsn3Ezs_2Bl5kdxC8Yxau5abkj_XZHYsS3uYKojs8qy8N-9w=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/N28nFDm82F8kLPAa-jY_OySFsn3Ezs_2Bl5kdxC8Yxau5abkj_XZHYsS3uYKojs8qy8N-9w=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-yellow-podium-blue" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-pink-drinking-tea", + "shortcuts": [":face-pink-drinking-tea:"], + "searchTerms": ["face-pink-drinking-tea"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/WRLIgKpnClgYOZyAwnqP-Edrdxu6_N19qa8gsB9P_6snZJYIMu5YBJX8dlM81YG6H307KA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/WRLIgKpnClgYOZyAwnqP-Edrdxu6_N19qa8gsB9P_6snZJYIMu5YBJX8dlM81YG6H307KA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-pink-drinking-tea" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/baseball-white-cap-out", + "shortcuts": [":baseball-white-cap-out:"], + "searchTerms": ["baseball-white-cap-out"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/8DaGaXfaBN0c-ZsZ-1WqPJ6H9TsJOlUUQQEoXvmdROphZE9vdRtN0867Gb2YZcm2x38E9Q=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/8DaGaXfaBN0c-ZsZ-1WqPJ6H9TsJOlUUQQEoXvmdROphZE9vdRtN0867Gb2YZcm2x38E9Q=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "baseball-white-cap-out" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-turquoise-speaker-shape", + "shortcuts": [":face-turquoise-speaker-shape:"], + "searchTerms": ["face-turquoise-speaker-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/WTFFqm70DuMxSC6ezQ5Zs45GaWD85Xwrd9Sullxt54vErPUKb_o0NJQ4kna5m7rvjbRMgr3A=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/WTFFqm70DuMxSC6ezQ5Zs45GaWD85Xwrd9Sullxt54vErPUKb_o0NJQ4kna5m7rvjbRMgr3A=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-turquoise-speaker-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/A8MfY-_pEIKNr8oP78-AGA", + "shortcuts": [":face-fuchsia-wide-eyes:"], + "searchTerms": ["face-fuchsia-wide-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/zdcOC1SMmyXJOAddl9DYeEFN9YYcn5mHemJCdRFQMtDuS0V-IyE-5YjNUL1tduX1zs17tQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/zdcOC1SMmyXJOAddl9DYeEFN9YYcn5mHemJCdRFQMtDuS0V-IyE-5YjNUL1tduX1zs17tQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-fuchsia-wide-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-blue-eating-spaghetti", + "shortcuts": [":person-blue-eating-spaghetti:"], + "searchTerms": ["person-blue-eating-spaghetti"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/AXZ8POmCHoxXuBaRxX6-xlT5M-nJZmO1AeUNo0t4o7xxT2Da2oGy347sHpMM8shtUs7Xxh0=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/AXZ8POmCHoxXuBaRxX6-xlT5M-nJZmO1AeUNo0t4o7xxT2Da2oGy347sHpMM8shtUs7Xxh0=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-blue-eating-spaghetti" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hcMfY5_zAbbxvwKLooCoCA", + "shortcuts": [":face-fuchsia-tongue-out:"], + "searchTerms": ["face-fuchsia-tongue-out"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/EURfJZi_heNulV3mfHzXBk8PIs9XmZ9lOOYi5za6wFMCGrps4i2BJX9j-H2gK6LIhW6h7sY=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/EURfJZi_heNulV3mfHzXBk8PIs9XmZ9lOOYi5za6wFMCGrps4i2BJX9j-H2gK6LIhW6h7sY=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-fuchsia-tongue-out" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/volcano-green-lava-orange", + "shortcuts": [":volcano-green-lava-orange:"], + "searchTerms": ["volcano-green-lava-orange"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/_IWOdMxapt6IBY5Cb6LFVkA3J77dGQ7P2fuvYYv1-ahigpVfBvkubOuGLSCyFJ7jvis-X8I=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/_IWOdMxapt6IBY5Cb6LFVkA3J77dGQ7P2fuvYYv1-ahigpVfBvkubOuGLSCyFJ7jvis-X8I=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "volcano-green-lava-orange" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/location-yellow-teal-bars", + "shortcuts": [":location-yellow-teal-bars:"], + "searchTerms": ["location-yellow-teal-bars"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/YgeWJsRspSlAp3BIS5HMmwtpWtMi8DqLg9fH7DwUZaf5kG4yABfE1mObAvjCh0xKX_HoIR23=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/YgeWJsRspSlAp3BIS5HMmwtpWtMi8DqLg9fH7DwUZaf5kG4yABfE1mObAvjCh0xKX_HoIR23=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "location-yellow-teal-bars" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/1v50XorRJ8GQ8gTz_prwAg", + "shortcuts": [":stayhome:"], + "searchTerms": ["stayhome"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/_1FGHypiub51kuTiNBX1a0H3NyFih3TnHX7bHU06j_ajTzT0OQfMLl9RI1SiQoxtgA2Grg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/_1FGHypiub51kuTiNBX1a0H3NyFih3TnHX7bHU06j_ajTzT0OQfMLl9RI1SiQoxtgA2Grg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "stayhome" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/6_cfY8HJH8bV5QS5yYDYDg", + "shortcuts": [":face-fuchsia-poop-shape:"], + "searchTerms": ["face-fuchsia-poop-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/_xlyzvSimqMzhdhODyqUBLXIGA6F_d5en2bq-AIfc6fc3M7tw2jucuXRIo5igcW3g9VVe3A=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/_xlyzvSimqMzhdhODyqUBLXIGA6F_d5en2bq-AIfc6fc3M7tw2jucuXRIo5igcW3g9VVe3A=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-fuchsia-poop-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/ePgfY-K2Kp6Mr8oP1oqAwAc", + "shortcuts": [":trophy-yellow-smiling:"], + "searchTerms": ["trophy-yellow-smiling"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/7tf3A_D48gBg9g2N0Rm6HWs2aqzshHU4CuVubTXVxh1BP7YDBRC6pLBoC-ibvr-zCl_Lgg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/7tf3A_D48gBg9g2N0Rm6HWs2aqzshHU4CuVubTXVxh1BP7YDBRC6pLBoC-ibvr-zCl_Lgg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "trophy-yellow-smiling" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/ygF1XpGUMMjk8gSDrI2wCx", + "shortcuts": [":face-orange-biting-nails:"], + "searchTerms": ["face-orange-biting-nails"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/HmsXEgqUogkQOnL5LP_FdPit9Z909RJxby-uYcPxBLNhaPyqPTcGwvGaGPk2hzB_cC0hs_pV=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/HmsXEgqUogkQOnL5LP_FdPit9Z909RJxby-uYcPxBLNhaPyqPTcGwvGaGPk2hzB_cC0hs_pV=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-orange-biting-nails" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/pillow-turquoise-hot-chocolate", + "shortcuts": [":pillow-turquoise-hot-chocolate:"], + "searchTerms": ["pillow-turquoise-hot-chocolate"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/cAR4cehRxbn6dPbxKIb-7ShDdWnMxbaBqy2CXzBW4aRL3IqXs3rxG0UdS7IU71OEU7LSd20q=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/cAR4cehRxbn6dPbxKIb-7ShDdWnMxbaBqy2CXzBW4aRL3IqXs3rxG0UdS7IU71OEU7LSd20q=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "pillow-turquoise-hot-chocolate" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/face-purple-rain-drops", + "shortcuts": [":face-purple-rain-drops:"], + "searchTerms": ["face-purple-rain-drops"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/woHW5Jl2RD0qxijnl_4vx4ZhP0Zp65D4Ve1DM_HrwJW-Kh6bQZoRjesGnEwjde8F4LynrQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/woHW5Jl2RD0qxijnl_4vx4ZhP0Zp65D4Ve1DM_HrwJW-Kh6bQZoRjesGnEwjde8F4LynrQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-rain-drops" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-blue-holding-pencil", + "shortcuts": [":person-blue-holding-pencil:"], + "searchTerms": ["person-blue-holding-pencil"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/TKgph5IHIHL-A3fgkrGzmiNXzxJkibB4QWRcf_kcjIofhwcUK_pWGUFC4xPXoimmne3h8eQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/TKgph5IHIHL-A3fgkrGzmiNXzxJkibB4QWRcf_kcjIofhwcUK_pWGUFC4xPXoimmne3h8eQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-blue-holding-pencil" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-purple-stage-event", + "shortcuts": [":person-purple-stage-event:"], + "searchTerms": ["person-purple-stage-event"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/YeVVscOyRcDJAhKo2bMwMz_B6127_7lojqafTZECTR9NSEunYO5zEi7R7RqxBD7LYLxfNnXe=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/YeVVscOyRcDJAhKo2bMwMz_B6127_7lojqafTZECTR9NSEunYO5zEi7R7RqxBD7LYLxfNnXe=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-purple-stage-event" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/RPkfY8TPGsCakNAP-JWAoAQ", + "shortcuts": [":face-blue-covering-eyes:"], + "searchTerms": ["face-blue-covering-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/kj3IgbbR6u-mifDkBNWVcdOXC-ut-tiFbDpBMGVeW79c2c54n5vI-HNYCOC6XZ9Bzgupc10=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/kj3IgbbR6u-mifDkBNWVcdOXC-ut-tiFbDpBMGVeW79c2c54n5vI-HNYCOC6XZ9Bzgupc10=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-covering-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-writing-headphones", + "shortcuts": [":person-turquoise-writing-headphones:"], + "searchTerms": ["person-turquoise-writing-headphones"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/DC4KrwzNkVxLZa2_KbKyjZTUyB9oIvH5JuEWAshsMv9Ctz4lEUVK0yX5PaMsTK3gGS-r9w=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/DC4KrwzNkVxLZa2_KbKyjZTUyB9oIvH5JuEWAshsMv9Ctz4lEUVK0yX5PaMsTK3gGS-r9w=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { + "label": "person-turquoise-writing-headphones" + } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/octopus-red-waving", + "shortcuts": [":octopus-red-waving:"], + "searchTerms": ["octopus-red-waving"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/L9Wo5tLT_lRQX36iZO_fJqLJR4U74J77tJ6Dg-QmPmSC_zhVQ-NodMRc9T0ozwvRXRaT43o=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/L9Wo5tLT_lRQX36iZO_fJqLJR4U74J77tJ6Dg-QmPmSC_zhVQ-NodMRc9T0ozwvRXRaT43o=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "octopus-red-waving" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/zPgfY66lCJGRhL0Pz6iA4Aw", + "shortcuts": [":face-turquoise-drinking-coffee:"], + "searchTerms": ["face-turquoise-drinking-coffee"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/myqoI1MgFUXQr5fuWTC9mz0BCfgf3F8GSDp06o1G7w6pTz48lwARjdG8vj0vMxADvbwA1dA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/myqoI1MgFUXQr5fuWTC9mz0BCfgf3F8GSDp06o1G7w6pTz48lwARjdG8vj0vMxADvbwA1dA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-turquoise-drinking-coffee" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-crowd-surf", + "shortcuts": [":person-turquoise-crowd-surf:"], + "searchTerms": ["person-turquoise-crowd-surf"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/Q0wFvHZ5h54xGSTo-JeGst6InRU3yR6NdBRoyowaqGY66LPzdcrV2t-wBN21kBIdb2TeNA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/Q0wFvHZ5h54xGSTo-JeGst6InRU3yR6NdBRoyowaqGY66LPzdcrV2t-wBN21kBIdb2TeNA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-turquoise-crowd-surf" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/text-yellow-goal", + "shortcuts": [":text-yellow-goal:"], + "searchTerms": ["text-yellow-goal"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/tnHp8rHjXecGbGrWNcs7xss_aVReaYE6H-QWRCXYg_aaYszHXnbP_pVADnibUiimspLvgX0L=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/tnHp8rHjXecGbGrWNcs7xss_aVReaYE6H-QWRCXYg_aaYszHXnbP_pVADnibUiimspLvgX0L=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "text-yellow-goal" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/ssIfY7OFG5OykQOpn4CQCw", + "shortcuts": [":person-turqouise-waving:"], + "searchTerms": ["person-turqouise-waving"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/uNSzQ2M106OC1L3VGzrOsGNjopboOv-m1bnZKFGuh0DxcceSpYHhYbuyggcgnYyaF3o-AQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/uNSzQ2M106OC1L3VGzrOsGNjopboOv-m1bnZKFGuh0DxcceSpYHhYbuyggcgnYyaF3o-AQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-turqouise-waving" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Mm5IY53bH7SEq7IP-MWAkAM", + "shortcuts": [":face-purple-smiling-fangs:"], + "searchTerms": ["face-purple-smiling-fangs"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/k1vqi6xoHakGUfa0XuZYWHOv035807ARP-ZLwFmA-_NxENJMxsisb-kUgkSr96fj5baBOZE=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/k1vqi6xoHakGUfa0XuZYWHOv035807ARP-ZLwFmA-_NxENJMxsisb-kUgkSr96fj5baBOZE=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-smiling-fangs" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-wizard-wand", + "shortcuts": [":person-turquoise-wizard-wand:"], + "searchTerms": ["person-turquoise-wizard-wand"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/OiZeNvmELg2PQKbT5UCS0xbmsGbqRBSbaRVSsKnRS9gvJPw7AzPp-3ysVffHFbSMqlWKeQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/OiZeNvmELg2PQKbT5UCS0xbmsGbqRBSbaRVSsKnRS9gvJPw7AzPp-3ysVffHFbSMqlWKeQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-turquoise-wizard-wand" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/v25IY7KcJIGOr8oPz4OA-As", + "shortcuts": [":planet-orange-purple-ring:"], + "searchTerms": ["planet-orange-purple-ring"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/xkaLigm3P4_1g4X1JOtkymcC7snuJu_C5YwIFAyQlAXK093X0IUjaSTinMTLKeRZ6280jXg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/xkaLigm3P4_1g4X1JOtkymcC7snuJu_C5YwIFAyQlAXK093X0IUjaSTinMTLKeRZ6280jXg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "planet-orange-purple-ring" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/card-red-penalty", + "shortcuts": [":card-red-penalty:"], + "searchTerms": ["card-red-penalty"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/uRDUMIeAHnNsaIaShtRkQ6hO0vycbNH_BQT7i3PWetFJb09q88RTjxwzToBy9Cez20D7hA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/uRDUMIeAHnNsaIaShtRkQ6hO0vycbNH_BQT7i3PWetFJb09q88RTjxwzToBy9Cez20D7hA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "card-red-penalty" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/8P50XuS9Oo7h8wSqtIagBA", + "shortcuts": [":dothefive:"], + "searchTerms": ["dothefive"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/-nM0DOd49969h3GNcl705Ti1fIf1ZG_E3JxcOUVV-qPfCW6jY8xZ98caNLHkVSGRTSEb7Y9y=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/-nM0DOd49969h3GNcl705Ti1fIf1ZG_E3JxcOUVV-qPfCW6jY8xZ98caNLHkVSGRTSEb7Y9y=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "dothefive" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/Rf90XtDbG8GQ8gTz_prwAg", + "shortcuts": [":thanksdoc:"], + "searchTerms": ["thanksdoc"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/bUnO_VwXW2hDf-Da8D64KKv6nBJDYUBuo13RrOg141g2da8pi9-KClJYlUDuqIwyPBfvOO8=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/bUnO_VwXW2hDf-Da8D64KKv6nBJDYUBuo13RrOg141g2da8pi9-KClJYlUDuqIwyPBfvOO8=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "thanksdoc" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/E8MfY5u7JPSXkNAP95GAmAE", + "shortcuts": [":cat-orange-whistling:"], + "searchTerms": ["cat-orange-whistling"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/0ocqEmuhrKCK87_J21lBkvjW70wRGC32-Buwk6TP4352CgcNjL6ug8zcsel6JiPbE58xhq5g=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/0ocqEmuhrKCK87_J21lBkvjW70wRGC32-Buwk6TP4352CgcNjL6ug8zcsel6JiPbE58xhq5g=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "cat-orange-whistling" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/fAF1XtDQMIrK8gTUoo3wAg", + "shortcuts": [":hydrate:"], + "searchTerms": ["hydrate"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/tpgZgmhX8snKniye36mnrDVfTnlc44EK92EPeZ0m9M2EPizn1vKEGJzNYdp7KQy6iNZlYDc1=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/tpgZgmhX8snKniye36mnrDVfTnlc44EK92EPeZ0m9M2EPizn1vKEGJzNYdp7KQy6iNZlYDc1=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "hydrate" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/jPgfY5j2IIud29sP3ZeA4Ag", + "shortcuts": [":eyes-pink-heart-shape:"], + "searchTerms": ["eyes-pink-heart-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/5vzlCQfQQdzsG7nlQzD8eNjtyLlnATwFwGvrMpC8dgLcosNhWLXu8NN9qIS3HZjJYd872dM=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/5vzlCQfQQdzsG7nlQzD8eNjtyLlnATwFwGvrMpC8dgLcosNhWLXu8NN9qIS3HZjJYd872dM=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "eyes-pink-heart-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/tPgfY7mSO4XovQKzmYCgCw", + "shortcuts": [":hand-green-crystal-ball:"], + "searchTerms": ["hand-green-crystal-ball"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/qZfJrWDEmR03FIak7PMNRNpMjNsCnOzD9PqK8mOpAp4Kacn_uXRNJNb99tE_1uyEbvgJReF2=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/qZfJrWDEmR03FIak7PMNRNpMjNsCnOzD9PqK8mOpAp4Kacn_uXRNJNb99tE_1uyEbvgJReF2=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hand-green-crystal-ball" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/CIW60IPp_dYCFcuqTgodEu4IlQ", + "shortcuts": [":yt:"], + "searchTerms": ["yt"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/IkpeJf1g9Lq0WNjvSa4XFq4LVNZ9IP5FKW8yywXb12djo1OGdJtziejNASITyq4L0itkMNw=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/IkpeJf1g9Lq0WNjvSa4XFq4LVNZ9IP5FKW8yywXb12djo1OGdJtziejNASITyq4L0itkMNw=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "yt" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/DfgfY9LaNdmMq7IPuI2AaA", + "shortcuts": [":face-purple-wide-eyes:"], + "searchTerms": ["face-purple-wide-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/5RDrtjmzRQKuVYE_FKPUHiGh7TNtX5eSNe6XzcSytMsHirXYKunxpyAsVacTFMg0jmUGhQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/5RDrtjmzRQKuVYE_FKPUHiGh7TNtX5eSNe6XzcSytMsHirXYKunxpyAsVacTFMg0jmUGhQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-wide-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hm5IY4W-H9SO5QS6n4CwCA", + "shortcuts": [":face-blue-heart-eyes:"], + "searchTerms": ["face-blue-heart-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/M9tzKd64_r3hvgpTSgca7K3eBlGuyiqdzzhYPp7ullFAHMgeFoNLA0uQ1dGxj3fXgfcHW4w=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/M9tzKd64_r3hvgpTSgca7K3eBlGuyiqdzzhYPp7ullFAHMgeFoNLA0uQ1dGxj3fXgfcHW4w=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-heart-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/4PgfY73cJprKCq-_gIAO", + "shortcuts": [":body-green-covering-eyes:"], + "searchTerms": ["body-green-covering-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/UR8ydcU3gz360bzDsprB6d1klFSQyVzgn-Fkgu13dIKPj3iS8OtG1bhBUXPdj9pMwtM00ro=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/UR8ydcU3gz360bzDsprB6d1klFSQyVzgn-Fkgu13dIKPj3iS8OtG1bhBUXPdj9pMwtM00ro=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "body-green-covering-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/popcorn-yellow-striped-smile", + "shortcuts": [":popcorn-yellow-striped-smile:"], + "searchTerms": ["popcorn-yellow-striped-smile"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/TW_GktV5uVYviPDtkCRCKRDrGlUc3sJ5OHO81uqdMaaHrIQ5-sXXwJfDI3FKPyv4xtGpOlg=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/TW_GktV5uVYviPDtkCRCKRDrGlUc3sJ5OHO81uqdMaaHrIQ5-sXXwJfDI3FKPyv4xtGpOlg=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "popcorn-yellow-striped-smile" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-turquoise-waving-speech", + "shortcuts": [":person-turquoise-waving-speech:"], + "searchTerms": ["person-turquoise-waving-speech"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/gafhCE49PH_9q-PuigZaDdU6zOKD6grfwEh1MM7fYVs7smAS_yhYCBipq8gEiW73E0apKTzi=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/gafhCE49PH_9q-PuigZaDdU6zOKD6grfwEh1MM7fYVs7smAS_yhYCBipq8gEiW73E0apKTzi=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "person-turquoise-waving-speech" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/body-turquoise-yoga-pose", + "shortcuts": [":body-turquoise-yoga-pose:"], + "searchTerms": ["body-turquoise-yoga-pose"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/GW3otW7CmWpuayb7Ddo0ux5c-OvmPZ2K3vaytJi8bHFjcn-ulT8vcHMNcqVqMp1j2lit2Vw=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/GW3otW7CmWpuayb7Ddo0ux5c-OvmPZ2K3vaytJi8bHFjcn-ulT8vcHMNcqVqMp1j2lit2Vw=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "body-turquoise-yoga-pose" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/finger-red-number-one", + "shortcuts": [":finger-red-number-one:"], + "searchTerms": ["finger-red-number-one"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/Hbk0wxBzPTBCDvD_y4qdcHL5_uu7SeOnaT2B7gl9GLB4u8Ecm9OaXCGSMMUBFeNGl5Q3fHJ2=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/Hbk0wxBzPTBCDvD_y4qdcHL5_uu7SeOnaT2B7gl9GLB4u8Ecm9OaXCGSMMUBFeNGl5Q3fHJ2=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "finger-red-number-one" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/vQF1XpyaG_XG8gTs77bACQ", + "shortcuts": [":chillwcat:"], + "searchTerms": ["chillwcat"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/y03dFcPc1B7CO20zgQYzhcRPka5Bhs6iSg57MaxJdhaLidFvvXBLf_i4_SHG7zJ_2VpBMNs=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/y03dFcPc1B7CO20zgQYzhcRPka5Bhs6iSg57MaxJdhaLidFvvXBLf_i4_SHG7zJ_2VpBMNs=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "chillwcat" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/YvgfY-LIBpjChgHKyYCQBg", + "shortcuts": [":hand-orange-covering-eyes:"], + "searchTerms": ["hand-orange-covering-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/y8ppa6GcJoRUdw7GwmjDmTAnSkeIkUptZMVQuFmFaTlF_CVIL7YP7hH7hd0TJbd8p9w67IM=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/y8ppa6GcJoRUdw7GwmjDmTAnSkeIkUptZMVQuFmFaTlF_CVIL7YP7hH7hd0TJbd8p9w67IM=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hand-orange-covering-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hourglass-purple-sand-orange", + "shortcuts": [":hourglass-purple-sand-orange:"], + "searchTerms": ["hourglass-purple-sand-orange"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/MFDLjasPt5cuSM_tK5Fnjaz_k08lKHdX_Mf7JkI6awaHriC3rGL7J_wHxyG6PPhJ8CJ6vsQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/MFDLjasPt5cuSM_tK5Fnjaz_k08lKHdX_Mf7JkI6awaHriC3rGL7J_wHxyG6PPhJ8CJ6vsQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hourglass-purple-sand-orange" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/ygF1XpGUMMjk8gSDrI2wCw", + "shortcuts": [":chillwdog:"], + "searchTerms": ["chillwdog"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/Ir9mDxzUi0mbqyYdJ3N9Lq7bN5Xdt0Q7fEYFngN3GYAcJT_tccH1as1PKmInnpt2cbWOam4=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/Ir9mDxzUi0mbqyYdJ3N9Lq7bN5Xdt0Q7fEYFngN3GYAcJT_tccH1as1PKmInnpt2cbWOam4=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "chillwdog" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/person-blue-speaking-microphone", + "shortcuts": [":person-blue-speaking-microphone:"], + "searchTerms": ["person-blue-speaking-microphone"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/FMaw3drKKGyc6dk3DvtHbkJ1Ki2uD0FLqSIiFDyuChc1lWcA9leahX3mCFMBIWviN2o8eyc=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/FMaw3drKKGyc6dk3DvtHbkJ1Ki2uD0FLqSIiFDyuChc1lWcA9leahX3mCFMBIWviN2o8eyc=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { + "label": "person-blue-speaking-microphone" + } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/JAJ1XpGpJYnW8wTupZu4Cw", + "shortcuts": [":washhands:"], + "searchTerms": ["washhands"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/qXUeUW0KpKBc9Z3AqUqr_0B7HbW1unAv4qmt7-LJGUK_gsFBIaHISWJNt4n3yvmAnQNZHE-u=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/qXUeUW0KpKBc9Z3AqUqr_0B7HbW1unAv4qmt7-LJGUK_gsFBIaHISWJNt4n3yvmAnQNZHE-u=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "washhands" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/rW5IY_26FryOq7IPlL2A6Ao", + "shortcuts": [":face-blue-droopy-eyes:"], + "searchTerms": ["face-blue-droopy-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/hGPqMUCiXGt6zuX4dHy0HRZtQ-vZmOY8FM7NOHrJTta3UEJksBKjOcoE6ZUAW9sz7gIF_nk=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/hGPqMUCiXGt6zuX4dHy0HRZtQ-vZmOY8FM7NOHrJTta3UEJksBKjOcoE6ZUAW9sz7gIF_nk=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-droopy-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/G8AfY6yWGuKuhL0PlbiA2AE", + "shortcuts": [":hand-pink-waving:"], + "searchTerms": ["hand-pink-waving"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/KOxdr_z3A5h1Gb7kqnxqOCnbZrBmxI2B_tRQ453BhTWUhYAlpg5ZP8IKEBkcvRoY8grY91Q=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/KOxdr_z3A5h1Gb7kqnxqOCnbZrBmxI2B_tRQ453BhTWUhYAlpg5ZP8IKEBkcvRoY8grY91Q=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "hand-pink-waving" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/penguin-blue-waving-tear", + "shortcuts": [":penguin-blue-waving-tear:"], + "searchTerms": ["penguin-blue-waving-tear"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/p2u7dcfZau4_bMOMtN7Ma8mjHX_43jOjDwITf4U9adT44I-y-PT7ddwPKkfbW6Wx02BTpNoC=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/p2u7dcfZau4_bMOMtN7Ma8mjHX_43jOjDwITf4U9adT44I-y-PT7ddwPKkfbW6Wx02BTpNoC=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "penguin-blue-waving-tear" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/NvgfY9aeC_OFvOMPkrOAsAM", + "shortcuts": [":face-pink-tears:"], + "searchTerms": ["face-pink-tears"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/RL5QHCNcO_Mc98SxFEblXZt9FNoh3bIgsjm0Kj8kmeQJWMeTu7JX_NpICJ6KKwKT0oVHhAA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/RL5QHCNcO_Mc98SxFEblXZt9FNoh3bIgsjm0Kj8kmeQJWMeTu7JX_NpICJ6KKwKT0oVHhAA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-pink-tears" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/UW5IY-ibBqa8jgTymoCIBQ", + "shortcuts": [":face-purple-sweating:"], + "searchTerms": ["face-purple-sweating"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/tRnrCQtEKlTM9YLPo0vaxq9mDvlT0mhDld2KI7e_nDRbhta3ULKSoPVHZ1-bNlzQRANmH90=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/tRnrCQtEKlTM9YLPo0vaxq9mDvlT0mhDld2KI7e_nDRbhta3ULKSoPVHZ1-bNlzQRANmH90=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-purple-sweating" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/CN2m5cKr49sCFYbFggodDFEKrg", + "shortcuts": [":oops:"], + "searchTerms": ["oops"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/PFoVIqIiFRS3aFf5-bt_tTC0WrDm_ylhF4BKKwgqAASNb7hVgx_adFP-XVhFiJLXdRK0EQ=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/PFoVIqIiFRS3aFf5-bt_tTC0WrDm_ylhF4BKKwgqAASNb7hVgx_adFP-XVhFiJLXdRK0EQ=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "oops" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/hf90Xv-jHeOR8gSxxrToBA", + "shortcuts": [":yougotthis:"], + "searchTerms": ["yougotthis"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/s3uOe4lUx3iPIt1h901SlMp_sKCTp3oOVj1JV8izBw_vDVLxFqk5dq-3NX-nK_gnUwVEXld3=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/s3uOe4lUx3iPIt1h901SlMp_sKCTp3oOVj1JV8izBw_vDVLxFqk5dq-3NX-nK_gnUwVEXld3=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "yougotthis" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/X_zdXMHgJaPa8gTGt4f4Ag", + "shortcuts": [":buffering:"], + "searchTerms": ["buffering"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/5gfMEfdqO9CiLwhN9Mq7VI6--T2QFp8AXNNy5Fo7btfY6fRKkThWq35SCZ6SPMVCjg-sUA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/5gfMEfdqO9CiLwhN9Mq7VI6--T2QFp8AXNNy5Fo7btfY6fRKkThWq35SCZ6SPMVCjg-sUA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { "accessibilityData": { "label": "buffering" } } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/dG5IY-mhEof9jgSykoCgBw", + "shortcuts": [":face-blue-star-eyes:"], + "searchTerms": ["face-blue-star-eyes"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/m_ANavMhp6cQ1HzX0HCTgp_er_yO2UA28JPbi-0HElQgnQ4_q5RUhgwueTpH-st8L3MyTA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/m_ANavMhp6cQ1HzX0HCTgp_er_yO2UA28JPbi-0HElQgnQ4_q5RUhgwueTpH-st8L3MyTA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-blue-star-eyes" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/-fgfY9DIGYjbhgHLzoDIDw", + "shortcuts": [":goat-turquoise-white-horns:"], + "searchTerms": ["goat-turquoise-white-horns"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/jMnX4lu5GnjBRgiPtX5FwFmEyKTlWFrr5voz-Auko35oP0t3-zhPxR3PQMYa-7KhDeDtrv4=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/jMnX4lu5GnjBRgiPtX5FwFmEyKTlWFrr5voz-Auko35oP0t3-zhPxR3PQMYa-7KhDeDtrv4=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "goat-turquoise-white-horns" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/clock-turquoise-looking-up", + "shortcuts": [":clock-turquoise-looking-up:"], + "searchTerms": ["clock-turquoise-looking-up"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/tDnDkDZykkJTrsWEJPlRF30rmbek2wcDcAIymruOvSLTsUFIZHoAiYTRe9OtO-80lDfFGvo=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/tDnDkDZykkJTrsWEJPlRF30rmbek2wcDcAIymruOvSLTsUFIZHoAiYTRe9OtO-80lDfFGvo=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "clock-turquoise-looking-up" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/xsIfY4OqCd2T29sP54iAsAw", + "shortcuts": [":face-green-smiling:"], + "searchTerms": ["face-green-smiling"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/G061SAfXg2bmG1ZXbJsJzQJpN8qEf_W3f5cb5nwzBYIV58IpPf6H90lElDl85iti3HgoL3o=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/G061SAfXg2bmG1ZXbJsJzQJpN8qEf_W3f5cb5nwzBYIV58IpPf6H90lElDl85iti3HgoL3o=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-green-smiling" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/m8MfY4jbFsWJhL0PyouA2Ak", + "shortcuts": [":face-red-heart-shape:"], + "searchTerms": ["face-red-heart-shape"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/I0Mem9dU_IZ4a9cQPzR0pUJ8bH-882Eg0sDQjBmPcHA6Oq0uXOZcsjPvPbtormx91Ha2eRA=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/I0Mem9dU_IZ4a9cQPzR0pUJ8bH-882Eg0sDQjBmPcHA6Oq0uXOZcsjPvPbtormx91Ha2eRA=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-red-heart-shape" } + } + }, + "isCustomEmoji": true + }, + { + "emojiId": "UCkszU2WH9gy1mb0dV-11UJg/2sIfY8vIG8z96ALulYDQDQ", + "shortcuts": [":face-orange-frowning:"], + "searchTerms": ["face-orange-frowning"], + "image": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/Ar8jaEIxzfiyYmB7ejDOHba2kUMdR37MHn_R39mtxqO5CD4aYGvjDFL22DW_Cka6LKzhGDk=w24-h24-c-k-nd", + "width": 24, + "height": 24 + }, + { + "url": "https://yt3.ggpht.com/Ar8jaEIxzfiyYmB7ejDOHba2kUMdR37MHn_R39mtxqO5CD4aYGvjDFL22DW_Cka6LKzhGDk=w48-h48-c-k-nd", + "width": 48, + "height": 48 + } + ], + "accessibility": { + "accessibilityData": { "label": "face-orange-frowning" } + } + }, + "isCustomEmoji": true + } + ], + "unicodeEmojisUrl": "https://www.gstatic.com/youtube/img/emojis/emojis-png-7.json", + "loggingDirectives": { + "trackingParams": "CHsQ7pgBGOABIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + ], + "slot": "RELOAD_CONTINUATION_SLOT_HEADER" + } + }, + { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "reloadContinuationItemsCommand": { + "targetId": "comments-section", + "continuationItems": [ + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5TlRUOHV4REVqZ1lxeWJJRjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CHgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "220 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CHoQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "220 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CHkQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgyNTT8uxDEjgYqybIF4AaABAg" + } + }, + "trackingParams": "CHYQwnUYywEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_PINNED_COMMENT", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBGKAE%3D", + "pinnedText": "Pinned by HaruXen", + "commentId": "UgyNTT8uxDEjgYqybIF4AaABAg", + "commentSurfaceKey": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CHcQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CHYQwnUYywEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CHMQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5Y1dnTk9vb24wQTRFVjlMWjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CHMQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "34 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CHUQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "34 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CHQQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgycWgNOoon0A4EV9LZ4AaABAg" + } + }, + "trackingParams": "CHEQwnUYzAEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgycWgNOoon0A4EV9LZ4AaABAg", + "commentSurfaceKey": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CHIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CHEQwnUYzAEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CG4QvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5NWlxNE0xYzNXUzNsR21paDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CG4QvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "22 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CHAQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "22 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CG8Q280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-Ugy5iq4M1c3WS3lGmih4AaABAg" + } + }, + "trackingParams": "CGwQwnUYzQEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "Ugy5iq4M1c3WS3lGmih4AaABAg", + "commentSurfaceKey": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CG0QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CGwQwnUYzQEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CGoQwnUYzgEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxqDIVVcoigjtx4Dtl4AaABAg", + "commentSurfaceKey": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CGsQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CGoQwnUYzgEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CGcQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RFFmVlFkWWFXUi1WVU0tOTRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CGcQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "1 reply" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CGkQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "1 reply" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CGgQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgxDQfVQdYaWR-VUM-94AaABAg" + } + }, + "trackingParams": "CGUQwnUYzwEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxDQfVQdYaWR-VUM-94AaABAg", + "commentSurfaceKey": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CGYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CGUQwnUYzwEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CGIQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4RnZybXdlYy1qbWZReUdSUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CGIQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "65 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CGQQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "65 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CGMQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgxFvrmwec-jmfQyGRR4AaABAg" + } + }, + "trackingParams": "CGAQwnUY0AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxFvrmwec-jmfQyGRR4AaABAg", + "commentSurfaceKey": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CGEQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CGAQwnUY0AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CF0QvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5LTNPWUVjd3hrdnlyckNxTjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CF0QvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "250 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CF8QosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "250 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CF4Q280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-Ugy-3OYEcwxkvyrrCqN4AaABAg" + } + }, + "trackingParams": "CFsQwnUY0QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBGKAE%3D", + "commentId": "Ugy-3OYEcwxkvyrrCqN4AaABAg", + "commentSurfaceKey": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CFwQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CFsQwnUY0QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CFgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5bHczc3NfeHY5c3ZXYlJ1ZDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CFgQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "1 reply" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CFoQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "1 reply" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CFkQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-Ugylw3ss_xv9svWbRud4AaABAg" + } + }, + "trackingParams": "CFYQwnUY0gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "Ugylw3ss_xv9svWbRud4AaABAg", + "commentSurfaceKey": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CFcQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CFYQwnUY0gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CFQQwnUY0wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgydXobRB0F5dW1KVsF4AaABAg", + "commentSurfaceKey": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CFUQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CFQQwnUY0wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CFEQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3bUZuNmVqS2x0Y1pfQlp2bDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CFEQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "12 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CFMQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "12 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CFIQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgwmFn6ejKltcZ_BZvl4AaABAg" + } + }, + "trackingParams": "CE8QwnUY1AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgwmFn6ejKltcZ_BZvl4AaABAg", + "commentSurfaceKey": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CFAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CE8QwnUY1AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CEoQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4dFhINmJXUldtOGFoYXZmUjRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CEoQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "337 replies" }] }, + "trackingParams": "CE4QosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "337 replies" }] }, + "trackingParams": "CE0Q280EIhMIuuKt3ZihhQMVr8tCBR3NeASj" + } + }, + "targetId": "comment-replies-item-UgxtXH6bWRWm8ahavfR4AaABAg", + "viewRepliesCreatorThumbnail": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s48-c-k-c0x00ffffff-no-rj", + "width": 48, + "height": 48 + }, + { + "url": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + }, + { + "url": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s176-c-k-c0x00ffffff-no-rj", + "width": 176, + "height": 176 + } + ], + "accessibility": { "accessibilityData": { "label": "HaruXen" } } + }, + "viewRepliesIcon": { + "buttonRenderer": { + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CEwQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "hideRepliesIcon": { + "buttonRenderer": { + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CEsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + } + }, + "trackingParams": "CEgQwnUY1QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxtXH6bWRWm8ahavfR4AaABAg", + "commentSurfaceKey": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEkQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CEgQwnUY1QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CEYQwnUY1gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgyHg3XnjBV935da_Lh4AaABAg", + "commentSurfaceKey": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEcQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CEYQwnUY1gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CEQQwnUY1wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxIL5emXyn42htlfZZ4AaABAg", + "commentSurfaceKey": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEUQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CEQQwnUY1wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CEEQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd3TUtZLTg5WENkQ1ZCOWJYcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CEEQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "5 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CEMQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "5 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CEIQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgwMKY-89XCdCVB9bXp4AaABAg" + } + }, + "trackingParams": "CD8QwnUY2AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgwMKY-89XCdCVB9bXp4AaABAg", + "commentSurfaceKey": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CEAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CD8QwnUY2AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CDwQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd5ZnVHMnNDRHZnblJVWUhKcDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CDwQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "15 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CD4QosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "15 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CD0Q280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgyfuG2sCDvgnRUYHJp4AaABAg" + } + }, + "trackingParams": "CDoQwnUY2QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgyfuG2sCDvgnRUYHJp4AaABAg", + "commentSurfaceKey": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDsQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CDoQwnUY2QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CDgQwnUY2gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgwAXndNNEa1h-VVIC94AaABAg", + "commentSurfaceKey": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDkQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CDgQwnUY2gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CDYQwnUY2wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgwwEBqareQ0tpsW7RR4AaABAg", + "commentSurfaceKey": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDcQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CDYQwnUY2wEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "replies": { + "commentRepliesRenderer": { + "contents": [ + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CDMQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYygwEaUBIaVWd4bkZNTHJwdmJDV3pIaWRtbDRBYUFCQWciAggAKhhVQ3lhZmx6ek9IMEdDNjgzRGxRLWZ6d2cyC1FpcDFWa1R1TTcwQAFICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "trackingParams": "CDMQvnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "viewReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "5 replies" }] }, + "icon": { "iconType": "ARROW_DROP_DOWN" }, + "trackingParams": "CDUQosAEIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "hideReplies": { + "buttonRenderer": { + "text": { "runs": [{ "text": "5 replies" }] }, + "icon": { "iconType": "ARROW_DROP_UP" }, + "trackingParams": "CDQQ280EIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_LEFT_OF_TEXT" + } + }, + "targetId": "comment-replies-item-UgxnFMLrpvbCWzHidml4AaABAg" + } + }, + "trackingParams": "CDEQwnUY3AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgxnFMLrpvbCWzHidml4AaABAg", + "commentSurfaceKey": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CDEQwnUY3AEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CC8QwnUY3QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "UgwCIwmF6synP7UF_wV4AaABAg", + "commentSurfaceKey": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CDAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CC8QwnUY3QEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "commentThreadRenderer": { + "trackingParams": "CC0QwnUY3gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "renderingPriority": "RENDERING_PRIORITY_UNKNOWN", + "isModeratedElqComment": false, + "commentViewModel": { + "commentViewModel": { + "commentKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAoKAE%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAsKAE%3D", + "toolbarSurfaceKey": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBGKAE%3D", + "commentId": "Ugyb5Wy91Yon69o3wLh4AaABAg", + "commentSurfaceKey": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBPKAE%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CC4QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + "loggingDirectives": { + "trackingParams": "CC0QwnUY3gEiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + }, + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC1FpcDFWa1R1TTcwGAYy4gIKuAJnZXRfcmFua2VkX3N0cmVhbXMtLUNxWUJDSUFFRlJlMzBUZ2Ftd0VLbGdFSTJGOFFnQVFZQnlLTEFSdUNtdFZ5a3dZMFFzVVVvM3I0LUY0OWU2d3RGSGFjbDIxS0Nsd3M4ZFZNaGdDdm9VWFhac2NZNXVncURIaUNiQVpveUczUEh6MTRPQ0tJV1BZTm9PTnN6dlFPVDZkaFZXMGRiSlZNelJXSW5QTm5QY0pyTmhQbzAyT1ZuamlVcHJTTHc1UEZxVHFBRkxlYXEtSHQtdU5uZkp1SzItMXVhQkp2aWE3S183QzgzOURiekJhY2tFeVRzUUFRRkJJRkNJZ2dHQUFTQndpSElCQUJHQUFTQlFpb0lCZ0FFZ1VJaVNBWUFCSUhDSVVnRUFrWUFSSUhDSVFnRUFzWUFSZ0EiESILUWlwMVZrVHVNNzAwAHgBKBRCEGNvbW1lbnRzLXNlY3Rpb24%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + ], + "slot": "RELOAD_CONTINUATION_SLOT_BODY" + } + } + ], + "frameworkUpdates": { + "entityBatchUpdate": { + "mutations": [ + { + "entityKey": "EgAgKygB", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSharedEntityPayload": { + "key": "EgAgKygB", + "theme": { + "colors": { + "brandBackgroundSolid": 4280821800, + "brandBackgroundPrimary": 4196935720, + "brandBackgroundSecondary": 4062717992, + "backgroundA": 4280361249, + "iconInactive": 4287664272, + "iconDisabled": 4284506208, + "badgeChipBackground": 452984831, + "buttonChipBackgroundHover": 872415231, + "touchResponse": 4294967295, + "brandIconActive": 4294967295, + "brandIconInactive": 4287664272, + "brandButtonBackground": 4291559424, + "brandLinkText": 4294921797, + "tenPercentLayer": 452984831, + "snackbarBackground": 4279440147, + "themedBlue": 4282296063, + "themedGreen": 4281050688, + "staticBrandRed": 4294901760, + "staticBrandWhite": 4294967295, + "staticBrandBlack": 4280821800, + "staticClearColor": 16777215, + "staticAdYellow": 4294688813, + "staticGrey": 4284506208, + "overlayTextPrimary": 4294967295, + "overlayTextSecondary": 3019898879, + "separator": 4282861383, + "thumbnailOverlayIcon": 3741319167, + "selected": 4282664004, + "highlighted": 234881023, + "borderGrey": 4293322470, + "blackDim": 2315255808, + "videoProgressBarBackground": 3019898879, + "legacyBlue": 4282549748, + "iconActiveOther": 4294967295, + "errorBackground": 4294243572, + "suggestedAction": 4280625722, + "overlayButtonPrimary": 1308622847, + "overlayButtonSecondary": 452984831, + "callToAction": 4282296063, + "overlayBackgroundBrand": 3855351808, + "overlayBackgroundMediumLight": 1291845632, + "verifiedBadgeBackground": 1090519039, + "staticClearBlack": 0, + "overlayBackgroundSolid": 4278190080, + "overlayBackgroundHeavy": 3422552064, + "adIndicator": 4278233767, + "textDisabled": 4285624689, + "textPrimaryInverse": 4279440147, + "overlayCallToAction": 4282296063, + "overlayBackgroundMedium": 2566914048, + "themedOverlayBackground": 3422552064, + "wordmarkText": 4294967295, + "brandBackgroundSolidUpdated": 4280821800, + "backgroundAUpdated": 4280361249, + "overlayBackgroundLight": 436207616, + "overlayTextDisabled": 1308622847, + "generalBackgroundC": 4279440147, + "generalBackgroundB": 4279900698, + "generalBackgroundA": 4280361249, + "textSecondary": 4289374890, + "textPrimary": 4294967295, + "errorIndicator": 4294936963, + "baseBackground": 4279176975, + "raisedBackground": 4280361249, + "menuBackground": 4280821800, + "invertedBackground": 4294046193, + "outline": 872415231, + "additiveBackground": 452984831, + "invertedAdditiveBackground": 218103808, + "outlineInverse": 436207616, + "staticMagenta": 4294911889 + }, + "fonts": {}, + "icons": {}, + "layout": { + "spacing": { + "space1": 4, + "space2": 8, + "space3": 12, + "space4": 16, + "space5": 20, + "space6": 24, + "space7": 28, + "space8": 32, + "space9": 36, + "space10": 40, + "space0": 0 + }, + "fixedGrid": { "margin": 16, "gutter": 16 }, + "icon": { "width": 24, "height": 24 }, + "button": { + "minWidthTextButton": 88, + "minWidthIconButton": 56, + "paddingX": 16, + "cornerRadius": 2, + "strokeThickness": 1 + } + }, + "themeType": "USER_INTERFACE_THEME_DARK" + }, + "strings": { + "viewAllRepliesButtonA11y": "View all replies", + "expandText": "Read more", + "discardDialogTitle": "Discard comment?", + "discardDialogAction": "Discard", + "discardDialogCancel": "Keep writing", + "shortReplyThumbnailA11y": "See Short reply", + "collapseText": "Show less", + "replyButtonText": "Reply" + }, + "toolbarShared": { + "unlikeButtonA11y": "Unlike", + "undislikeButtonA11y": "Remove dislike", + "heartButtonA11y": "Heart", + "unheartButtonA11y": "Remove heart", + "heartedTooltipA11y": "❤ by HaruXen", + "replyButtonA11y": "Reply", + "menuButtonA11y": "Action menu", + "approveButtonA11y": "Approve", + "removeButtonA11y": "Remove", + "blockButtonA11y": "Hide user from channel", + "spamButtonA11y": "Report spam or abuse", + "heartedTooltipCommand": { + "tooltipCommand": { + "hintRenderer": { + "content": { + "bubbleHintRenderer": { + "trackingParams": "CCwQgYkBIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "detailsText": { + "runs": [ + { "text": "❤ by HaruXen", "textColor": 4279440147 } + ] + }, + "isVisible": true + } + }, + "dwellTimeMs": "1500", + "suggestedPosition": { + "type": "HINT_SUGGESTED_POSITION_TYPE_ABOVE" + }, + "trackingParams": "CCsQpecFIhMIuuKt3ZihhQMVr8tCBR3NeASj" + } + } + }, + "dislikeCommentButtonA11y": "Dislike this comment", + "dislikeReplyButtonA11y": "Dislike this reply", + "cancelButtonLabel": "Cancel", + "allowVoiceControl": false + }, + "experiments": { + "enableElementsRowReverse": false, + "elementsUseAndroidLegacyTouchTarget": false, + "enableElementsReadMoreButtonLogging": false, + "translateButtonStyle": "TRANSLATE_BUTTON_STYLE_WITH_LANGUAGE", + "enablePersistentCommentComposer": false, + "enableTecToTsCommandMigration": false, + "enableElementsLoggingContract": false, + "enableCompactifyV0": false, + "enableCompactifyV0AvatarSize": false, + "enableCompactifyV0OverflowMenu": false, + "shortsCommentsOnElements": false, + "enableCompactifyV1CommentCountRemoval": true, + "enableNewUiForElementizedComposer": false, + "enableCompactifyV2CommentDividerRemoval": true, + "enableInlineMobileSuperThanksChip": false, + "compactifyV1MaxCommentLines": 4, + "enableDoubleTapLikesComment": false, + "enableElementsCoinboxRepliesPadding": false, + "enableShowPreviouslyPinnedComments": true, + "enableLikeButtonPromo": false, + "enableHandlesTooltip": false, + "enableModernizedCommunityChannelGuidelines": false, + "enableCommunityGuidelinesOncePerRun": false, + "enable18ptToolbarIcons": false, + "enableHideCommunityGuidelines": false, + "ignoreTapsBetweenToolbarButtons": false, + "enableModernizedFontsWithHeightChanges": false, + "enableModernizedFontsWithoutHeightChanges": false, + "logDoubleTapGestures": false + }, + "environment": { + "platformName": "PLATFORM_NAME_IOS", + "formFactor": "SMALL_FORM_FACTOR" + }, + "capabilities": { + "supportsIndicatorTouchExpansion": false, + "supportsIndicatorPadding": false, + "supportsTooltipCommand": false, + "supportsSubstitute": false, + "supportsUpdate": false, + "supportsLogGestureCommand": false, + "supportsClickableSpanIncrease": false + }, + "commentEnvironment": { "platformName": "PLATFORM_NAME_IOS" }, + "clientName": "WEB" + } + } + }, + { + "entityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgyNTT8uxDEjgYqybIF4AaABAg", + "content": { + "content": "⚠️ Important notice: if you put any symbol immediately after markup, it will not work: *here is the comma*, without space.\n\nYou should leave space before and after , to make it work.\n\nSame for _underscore_, and -hyphen-.\n\nLeave space before opening and after closing underscore and hyphen. Put all dots and commas inside markup.", + "styleRuns": [ + { + "startIndex": 135, + "length": 28, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 267, + "length": 10, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 282, + "length": 7, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + } + ], + "attachmentRuns": [ + { + "startIndex": 0, + "length": 1, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.youtube.com/s/gaming/emoji/7ff574f2/emoji_u26a0.png", + "width": 16, + "height": 16 + } + ] + }, + "playbackState": "IMAGE_PLAYBACK_STATE_STOPPED" + } + }, + "properties": { + "layoutProperties": { + "height": { "value": 16, "unit": "DIMENSION_UNIT_POINT" }, + "width": { "value": 16, "unit": "DIMENSION_UNIT_POINT" }, + "margin": { + "left": { "value": 2, "unit": "DIMENSION_UNIT_POINT" }, + "right": { "value": 2, "unit": "DIMENSION_UNIT_POINT" } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + } + ] + }, + "publishedTime": "2 years ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@kibizoid", + "toolbarStateKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCUJfyiofeHQTmxKwZ6cCwIg", + "displayName": "@kibizoid", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CCoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@kibizoid", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCUJfyiofeHQTmxKwZ6cCwIg", + "canonicalBaseUrl": "/@kibizoid" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "294", + "likeCountNotliked": "293", + "replyCount": "220", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 293 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "293 likes", + "replyCountA11y": "220 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_nY2PkIyojDqs9Bk5RY6J90-U7wePswTYl799DNJQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@kibizoid", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CCoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@kibizoid", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCUJfyiofeHQTmxKwZ6cCwIg", + "canonicalBaseUrl": "/@kibizoid" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "viewRepliesTooltipData": { + "tooltipCommand": { + "tooltipCommand": { + "hintRenderer": { + "content": { + "bubbleHintRenderer": { + "text": { "simpleText": "Tap the comment to view replies" }, + "trackingParams": "CCkQgYkBIhMIuuKt3ZihhQMVr8tCBR3NeASj", + "isVisible": true + } + }, + "dismissStrategy": { "type": "DISMISS_ON_TAP_ONLY" }, + "hintCap": { "impressionCap": "1" }, + "suggestedPosition": { + "type": "HINT_SUGGESTED_POSITION_TYPE_BELOW" + }, + "trackingParams": "CCgQpecFIhMIuuKt3ZihhQMVr8tCBR3NeASj" + } + } + }, + "viewRepliesTooltipIdentifier": "view_replies_tooltip_identifier" + }, + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgyNTT8uxDEjgYqybIF4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyNTT8uxDEjgYqybIF4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyNTT8uxDEjgYqybIF4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CCcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CCcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CCcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3lOVFQ4dXhERWpnWXF5YklGNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgycWgNOoon0A4EV9LZ4AaABAg", + "content": { + "content": "Me: tests out fonts\nFriend: Why are you doing this?\nMe: my goals are beyond your understanding", + "styleRuns": [ + { + "startIndex": 0, + "length": 19, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 28, + "length": 23, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 56, + "length": 38, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + } + ] + }, + "publishedTime": "2 years ago", + "replyLevel": 0, + "authorButtonA11y": "@userfjdrg", + "toolbarStateKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCr0PeEY_am9P-GobbfvKECw", + "displayName": "@userfjdrg", + "avatarThumbnailUrl": "https://yt3.ggpht.com/Zr2PmQsrD4obL2n5HS18X3jKXGJ-HFjIJS_OcZv4I5VAk5HuLRCpzFprY5Hh7n23-FCURVJi=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CCYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@userfjdrg", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCr0PeEY_am9P-GobbfvKECw", + "canonicalBaseUrl": "/@userfjdrg" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "81", + "likeCountNotliked": "80", + "replyCount": "34", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 80 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "80 likes", + "replyCountA11y": "34 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/Zr2PmQsrD4obL2n5HS18X3jKXGJ-HFjIJS_OcZv4I5VAk5HuLRCpzFprY5Hh7n23-FCURVJi=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@userfjdrg", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CCYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@userfjdrg", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCr0PeEY_am9P-GobbfvKECw", + "canonicalBaseUrl": "/@userfjdrg" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgycWgNOoon0A4EV9LZ4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgycWgNOoon0A4EV9LZ4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgycWgNOoon0A4EV9LZ4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CCUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CCUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CCUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3ljV2dOT29vbjBBNEVWOUxaNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "Ugy5iq4M1c3WS3lGmih4AaABAg", + "content": { + "content": "To-do list\n• be dumb\n• get kicked out when i can legally live alone\n• spend money on pointless things", + "styleRuns": [ + { + "startIndex": 13, + "length": 7, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 23, + "length": 44, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 70, + "length": 31, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + }, + "publishedTime": "2 years ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@T0r0xFan", + "toolbarStateKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCDB5XvpUB8cEvjbWewlp28w", + "displayName": "@T0r0xFan", + "avatarThumbnailUrl": "https://yt3.ggpht.com/PPL5vj6-pXFpaLa41yet34OHGcEYt06WPQLmruaiFJSM0eLmn9ZQW0QgTtdafDBO-kNy2oukVA=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CCQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@T0r0xFan", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCDB5XvpUB8cEvjbWewlp28w", + "canonicalBaseUrl": "/@T0r0xFan" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "49", + "likeCountNotliked": "48", + "replyCount": "22", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 48 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "48 likes", + "replyCountA11y": "22 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/PPL5vj6-pXFpaLa41yet34OHGcEYt06WPQLmruaiFJSM0eLmn9ZQW0QgTtdafDBO-kNy2oukVA=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@T0r0xFan", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CCQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@T0r0xFan", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCDB5XvpUB8cEvjbWewlp28w", + "canonicalBaseUrl": "/@T0r0xFan" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=Ugy5iq4M1c3WS3lGmih4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgy5iq4M1c3WS3lGmih4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgy5iq4M1c3WS3lGmih4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CCMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CCMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CCMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3k1aXE0TTFjM1dTM2xHbWloNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxqDIVVcoigjtx4Dtl4AaABAg", + "content": { + "content": "omg thank you! Ive been looking for this tutorial for a year forever", + "styleRuns": [ + { + "startIndex": 4, + "length": 5, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 56, + "length": 4, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 61, + "length": 7, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "1 month ago", + "replyLevel": 0, + "authorButtonA11y": "@LunasVibe", + "toolbarStateKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCxa4xER0-cFbcIYp0ZIeVaw", + "displayName": "@LunasVibe", + "avatarThumbnailUrl": "https://yt3.ggpht.com/P5Io1kQb7GRwe4pgNsaYFEm30hDl_T7Tp5rZo7aYWFkqbV6Yp_lCYVuaaK7O3SEsnIX_5iC1Hw=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CCIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@LunasVibe", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxa4xER0-cFbcIYp0ZIeVaw", + "canonicalBaseUrl": "/@LunasVibe" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/P5Io1kQb7GRwe4pgNsaYFEm30hDl_T7Tp5rZo7aYWFkqbV6Yp_lCYVuaaK7O3SEsnIX_5iC1Hw=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@LunasVibe", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CCIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@LunasVibe", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxa4xER0-cFbcIYp0ZIeVaw", + "canonicalBaseUrl": "/@LunasVibe" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxqDIVVcoigjtx4Dtl4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxqDIVVcoigjtx4Dtl4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxqDIVVcoigjtx4Dtl4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CCEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CCEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CCEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CCEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3hxRElWVmNvaWdqdHg0RHRsNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxDQfVQdYaWR-VUM-94AaABAg", + "content": { + "content": "tysm\ni finally learned it\nother channel never go straight to the point", + "styleRuns": [ + { + "startIndex": 0, + "length": 4, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 5, + "length": 20, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 26, + "length": 44, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + }, + "publishedTime": "1 month ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@Bp_bts_skz_for_life", + "toolbarStateKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UC8cojSRuyZT74Bs_b5AecTA", + "displayName": "@Bp_bts_skz_for_life", + "avatarThumbnailUrl": "https://yt3.ggpht.com/0zFBRYv8wo2JqzkyMk29xgC8zD1nKYNSSoD3Zo9XP8t9rHrbTYEEt0gdu0O3XS7Scpza3JJKog=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CCAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Bp_bts_skz_for_life", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC8cojSRuyZT74Bs_b5AecTA", + "canonicalBaseUrl": "/@Bp_bts_skz_for_life" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "2", + "likeCountNotliked": "1", + "replyCount": "1", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 1 other person", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "1 like", + "replyCountA11y": "1 reply", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/0zFBRYv8wo2JqzkyMk29xgC8zD1nKYNSSoD3Zo9XP8t9rHrbTYEEt0gdu0O3XS7Scpza3JJKog=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Bp_bts_skz_for_life", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CCAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Bp_bts_skz_for_life", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC8cojSRuyZT74Bs_b5AecTA", + "canonicalBaseUrl": "/@Bp_bts_skz_for_life" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxDQfVQdYaWR-VUM-94AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxDQfVQdYaWR-VUM-94AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxDQfVQdYaWR-VUM-94AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CB8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CB8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CB8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CB8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CB8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3hEUWZWUWRZYVdSLVZVTS05NEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxFvrmwec-jmfQyGRR4AaABAg", + "content": { + "content": "I like how this was straight to the point. Unlike other channels lol Thank you!", + "styleRuns": [ + { + "startIndex": 0, + "length": 42, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 43, + "length": 25, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 69, + "length": 10, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "2 years ago", + "replyLevel": 0, + "authorButtonA11y": "@ishouldbesleepingalready", + "toolbarStateKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCCyIVS_s1-jA48pPft8AifA", + "displayName": "@ishouldbesleepingalready", + "avatarThumbnailUrl": "https://yt3.ggpht.com/N90y_XdoDP6Rd1v6Z5OpDH8jMtvqpU1qnF6DJoIL6qcLiWfZK7ok8u_IxqSxJazaQH6oqhEbqA=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CB4QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ishouldbesleepingalready", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCCyIVS_s1-jA48pPft8AifA", + "canonicalBaseUrl": "/@ishouldbesleepingalready" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "242", + "likeCountNotliked": "241", + "replyCount": "65", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 241 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "241 likes", + "replyCountA11y": "65 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/N90y_XdoDP6Rd1v6Z5OpDH8jMtvqpU1qnF6DJoIL6qcLiWfZK7ok8u_IxqSxJazaQH6oqhEbqA=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@ishouldbesleepingalready", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CB4QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ishouldbesleepingalready", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCCyIVS_s1-jA48pPft8AifA", + "canonicalBaseUrl": "/@ishouldbesleepingalready" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxFvrmwec-jmfQyGRR4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxFvrmwec-jmfQyGRR4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxFvrmwec-jmfQyGRR4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CB0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CB0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CB0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CB0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CB0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3hGdnJtd2VjLWptZlF5R1JSNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "Ugy-3OYEcwxkvyrrCqN4AaABAg", + "content": { + "content": "To the person who is reading this: You're intelligent and smart, stay safe", + "styleRuns": [ + { + "startIndex": 35, + "length": 39, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "3 years ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@blocking948", + "toolbarStateKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCQklgcA8quxZm5pgNAsVJAQ", + "displayName": "@blocking948", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nAg9bEjW4otWlryJwqAgiDRLzy8ZX-ROqkDY1ksQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBwQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@blocking948", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCQklgcA8quxZm5pgNAsVJAQ", + "canonicalBaseUrl": "/@blocking948" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "712", + "likeCountNotliked": "711", + "replyCount": "250", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 711 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "711 likes", + "replyCountA11y": "250 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_nAg9bEjW4otWlryJwqAgiDRLzy8ZX-ROqkDY1ksQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@blocking948", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBwQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@blocking948", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCQklgcA8quxZm5pgNAsVJAQ", + "canonicalBaseUrl": "/@blocking948" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=Ugy-3OYEcwxkvyrrCqN4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgy-3OYEcwxkvyrrCqN4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgy-3OYEcwxkvyrrCqN4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3ktM09ZRWN3eGt2eXJyQ3FONEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "Ugylw3ss_xv9svWbRud4AaABAg", + "content": { + "content": "‘ life could be a dream, life could be a dream ‘", + "styleRuns": [ + { + "startIndex": 2, + "length": 44, + "weightLabel": "FONT_WEIGHT_MEDIUM", + "italic": true + } + ] + }, + "publishedTime": "13 days ago", + "replyLevel": 0, + "authorButtonA11y": "@malarchee0899", + "toolbarStateKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCSyjdP7Duhns4Ybncy6ObZA", + "displayName": "@malarchee0899", + "avatarThumbnailUrl": "https://yt3.ggpht.com/dSwRzOfoKrN4yc58uhFlIyqBXmbi6B14-On-wEEM_S6Nr6aDHTkG-xVkI1-u-uBwqKqodEgrMro=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@malarchee0899", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCSyjdP7Duhns4Ybncy6ObZA", + "canonicalBaseUrl": "/@malarchee0899" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "3", + "likeCountNotliked": "2", + "replyCount": "1", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 2 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "2 likes", + "replyCountA11y": "1 reply", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/dSwRzOfoKrN4yc58uhFlIyqBXmbi6B14-On-wEEM_S6Nr6aDHTkG-xVkI1-u-uBwqKqodEgrMro=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@malarchee0899", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@malarchee0899", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCSyjdP7Duhns4Ybncy6ObZA", + "canonicalBaseUrl": "/@malarchee0899" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=Ugylw3ss_xv9svWbRud4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgylw3ss_xv9svWbRud4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgylw3ss_xv9svWbRud4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3lsdzNzc194djlzdldiUnVkNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgydXobRB0F5dW1KVsF4AaABAg", + "content": { + "content": "Woah! thank you for showing me this I really needed it!", + "styleRuns": [ + { + "startIndex": 0, + "length": 5, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 6, + "length": 29, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 36, + "length": 19, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + } + ] + }, + "publishedTime": "1 month ago", + "replyLevel": 0, + "authorButtonA11y": "@fatimagarcia3162", + "toolbarStateKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UC9f9uJgwsCBBHA4CioIzdkA", + "displayName": "@fatimagarcia3162", + "avatarThumbnailUrl": "https://yt3.ggpht.com/cKmBVKqq9mkW4F355y3UtUw4POwTWKi-0LUYLDx85vffRd7pU-LECXvudUrHH_9qobo6A1kM=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBgQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@fatimagarcia3162", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9f9uJgwsCBBHA4CioIzdkA", + "canonicalBaseUrl": "/@fatimagarcia3162" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/cKmBVKqq9mkW4F355y3UtUw4POwTWKi-0LUYLDx85vffRd7pU-LECXvudUrHH_9qobo6A1kM=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@fatimagarcia3162", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBgQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@fatimagarcia3162", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9f9uJgwsCBBHA4CioIzdkA", + "canonicalBaseUrl": "/@fatimagarcia3162" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgydXobRB0F5dW1KVsF4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgydXobRB0F5dW1KVsF4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgydXobRB0F5dW1KVsF4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3lkWG9iUkIwRjVkVzFLVnNGNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgwmFn6ejKltcZ_BZvl4AaABAg", + "content": { + "content": "The fitness gram pacer test is a multistage aerobic capacity test that progressively gets more difficult as it continues.", + "styleRuns": [ + { + "startIndex": 0, + "length": 121, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "2 years ago", + "replyLevel": 0, + "authorButtonA11y": "@No-du9is", + "toolbarStateKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCIymYi-_AJ10pYrh8sqTBTg", + "displayName": "@No-du9is", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_lPWhGGvIIA08s4u_-Lwyx88rGSRksOFeYHipE=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@No-du9is", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCIymYi-_AJ10pYrh8sqTBTg", + "canonicalBaseUrl": "/@No-du9is" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "23", + "likeCountNotliked": "22", + "replyCount": "12", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 22 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "22 likes", + "replyCountA11y": "12 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_lPWhGGvIIA08s4u_-Lwyx88rGSRksOFeYHipE=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@No-du9is", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@No-du9is", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCIymYi-_AJ10pYrh8sqTBTg", + "canonicalBaseUrl": "/@No-du9is" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgwmFn6ejKltcZ_BZvl4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwmFn6ejKltcZ_BZvl4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwmFn6ejKltcZ_BZvl4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3dtRm42ZWpLbHRjWl9CWnZsNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxtXH6bWRWm8ahavfR4AaABAg", + "content": { + "content": "YouTube got a new update(or probably it's a bug) and for that it's not showing bold/strikethrough/italic on the app but it's showing on other places." + }, + "publishedTime": "3 years ago", + "replyLevel": 0, + "authorButtonA11y": "@HaruXen", + "toolbarStateKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCyaflzzOH0GC683DlQ-fzwg", + "displayName": "@HaruXen", + "avatarThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": true, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@HaruXen", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCyaflzzOH0GC683DlQ-fzwg", + "canonicalBaseUrl": "/@HaruXen" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "168", + "likeCountNotliked": "167", + "replyCount": "337", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 167 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "167 likes", + "replyCountA11y": "337 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@HaruXen", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@HaruXen", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCyaflzzOH0GC683DlQ-fzwg", + "canonicalBaseUrl": "/@HaruXen" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxtXH6bWRWm8ahavfR4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxtXH6bWRWm8ahavfR4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxtXH6bWRWm8ahavfR4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3h0WEg2YldSV204YWhhdmZSNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgyHg3XnjBV935da_Lh4AaABAg", + "content": { + "content": "omg it works i actuallly cant believe this ive been wanting to do this for ages thankyou so much!", + "styleRuns": [ + { + "startIndex": 0, + "length": 97, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + }, + "publishedTime": "4 days ago", + "replyLevel": 0, + "authorButtonA11y": "@Auf-dem-weg-zum-sieg", + "toolbarStateKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCFL5d8rMCfbxppODSbRLOgQ", + "displayName": "@Auf-dem-weg-zum-sieg", + "avatarThumbnailUrl": "https://yt3.ggpht.com/oi4vbSV3Cx9G97QcHkSMWL98LksC6rnTLoq93T5sOO8MNuZPXWEXq9Nqkp8XYF93L2WklHADmNY=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Auf-dem-weg-zum-sieg", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCFL5d8rMCfbxppODSbRLOgQ", + "canonicalBaseUrl": "/@Auf-dem-weg-zum-sieg" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/oi4vbSV3Cx9G97QcHkSMWL98LksC6rnTLoq93T5sOO8MNuZPXWEXq9Nqkp8XYF93L2WklHADmNY=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Auf-dem-weg-zum-sieg", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Auf-dem-weg-zum-sieg", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCFL5d8rMCfbxppODSbRLOgQ", + "canonicalBaseUrl": "/@Auf-dem-weg-zum-sieg" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgyHg3XnjBV935da_Lh4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyHg3XnjBV935da_Lh4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyHg3XnjBV935da_Lh4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CBEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CBEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3lIZzNYbmpCVjkzNWRhX0xoNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxIL5emXyn42htlfZZ4AaABAg", + "content": { + "content": "I did know how to do that writing where the text is highlighted before, and now after I watched this video I knew even how to write those styles of text." + }, + "publishedTime": "3 weeks ago", + "replyLevel": 0, + "authorButtonA11y": "@CasamTheAnimator", + "toolbarStateKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UChkVaXCYN_QcaE50zETAMOg", + "displayName": "@CasamTheAnimator", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ctUbv8QpWPZRZumEBTVhlSSxg0JfiyvJ40nrWj_0ivOy5s6OoPK7iNp01diskRLs1Hig4ZE82w=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@CasamTheAnimator", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChkVaXCYN_QcaE50zETAMOg", + "canonicalBaseUrl": "/@CasamTheAnimator" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ctUbv8QpWPZRZumEBTVhlSSxg0JfiyvJ40nrWj_0ivOy5s6OoPK7iNp01diskRLs1Hig4ZE82w=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@CasamTheAnimator", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBAQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@CasamTheAnimator", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChkVaXCYN_QcaE50zETAMOg", + "canonicalBaseUrl": "/@CasamTheAnimator" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxIL5emXyn42htlfZZ4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxIL5emXyn42htlfZZ4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxIL5emXyn42htlfZZ4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CA8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CA8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3hJTDVlbVh5bjQyaHRsZlpaNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgwMKY-89XCdCVB9bXp4AaABAg", + "content": { "content": "Nobody asked for, but everyone needed" }, + "publishedTime": "3 years ago", + "replyLevel": 0, + "authorButtonA11y": "@0_Ed", + "toolbarStateKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCDezbPSXn3awzhxVm7qhGtg", + "displayName": "@0_Ed", + "avatarThumbnailUrl": "https://yt3.ggpht.com/4DWdgRIJ0lEV-e4GZFrdf8MGxQBtML2aix2orKBt3iM6QBrh7Kg1ur1FZlyRmqWpWnRPRIex9w=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CA4QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@0_Ed", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCDezbPSXn3awzhxVm7qhGtg", + "canonicalBaseUrl": "/@0_Ed" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "13", + "likeCountNotliked": "12", + "replyCount": "5", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 12 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "12 likes", + "replyCountA11y": "5 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/4DWdgRIJ0lEV-e4GZFrdf8MGxQBtML2aix2orKBt3iM6QBrh7Kg1ur1FZlyRmqWpWnRPRIex9w=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@0_Ed", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CA4QtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@0_Ed", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCDezbPSXn3awzhxVm7qhGtg", + "canonicalBaseUrl": "/@0_Ed" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgwMKY-89XCdCVB9bXp4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwMKY-89XCdCVB9bXp4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwMKY-89XCdCVB9bXp4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CA0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CA0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3dNS1ktODlYQ2RDVkI5YlhwNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgyfuG2sCDvgnRUYHJp4AaABAg", + "content": { + "content": "me: types bold\n\nHaruTutorial: your bald", + "styleRuns": [ + { + "startIndex": 30, + "length": 9, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "3 years ago", + "replyLevel": 0, + "authorButtonA11y": "@stargazeu", + "toolbarStateKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCge96FdHXkARBjzPhdYl8Sg", + "displayName": "@stargazeu", + "avatarThumbnailUrl": "https://yt3.ggpht.com/JoeW_qNuf9b6BusB3E6JShizqRLB4jR3NaTnsnzvpUQ1KW88OcS74_Sx1h6vjZiXK2uOxnrUNeY=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAwQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@stargazeu", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCge96FdHXkARBjzPhdYl8Sg", + "canonicalBaseUrl": "/@stargazeu" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "43", + "likeCountNotliked": "42", + "replyCount": "15", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 42 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "42 likes", + "replyCountA11y": "15 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/JoeW_qNuf9b6BusB3E6JShizqRLB4jR3NaTnsnzvpUQ1KW88OcS74_Sx1h6vjZiXK2uOxnrUNeY=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@stargazeu", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAwQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@stargazeu", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCge96FdHXkARBjzPhdYl8Sg", + "canonicalBaseUrl": "/@stargazeu" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgyfuG2sCDvgnRUYHJp4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyfuG2sCDvgnRUYHJp4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyfuG2sCDvgnRUYHJp4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3lmdUcyc0NEdmduUlVZSEpwNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgwAXndNNEa1h-VVIC94AaABAg", + "content": { + "content": "the McDonald’s don’t feel like turning the Icecream machine on", + "styleRuns": [ + { + "startIndex": 0, + "length": 62, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + } + ] + }, + "publishedTime": "1 month ago", + "replyLevel": 0, + "authorButtonA11y": "@Flowershowrise", + "toolbarStateKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCkmY4kQ8e8gDRllV485Rd9g", + "displayName": "@Flowershowrise", + "avatarThumbnailUrl": "https://yt3.ggpht.com/c2iMsq-wFjKRjTDqPy14UpMI1B9hNms4moW9H7xtPjOMI0vjaHwN94me23upYar-8CE3s6QkFw=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Flowershowrise", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCkmY4kQ8e8gDRllV485Rd9g", + "canonicalBaseUrl": "/@Flowershowrise" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "3", + "likeCountNotliked": "2", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 2 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "2 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/c2iMsq-wFjKRjTDqPy14UpMI1B9hNms4moW9H7xtPjOMI0vjaHwN94me23upYar-8CE3s6QkFw=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Flowershowrise", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAoQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Flowershowrise", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCkmY4kQ8e8gDRllV485Rd9g", + "canonicalBaseUrl": "/@Flowershowrise" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgwAXndNNEa1h-VVIC94AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwAXndNNEa1h-VVIC94AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwAXndNNEa1h-VVIC94AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3dBWG5kTk5FYTFoLVZWSUM5NEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgwwEBqareQ0tpsW7RR4AaABAg", + "content": { + "content": "YOOO THIS IS SICK! THANK YOU MAN!", + "styleRuns": [ + { + "startIndex": 0, + "length": 33, + "weightLabel": "FONT_WEIGHT_MEDIUM", + "italic": true, + "strikethrough": "LINE_STYLE_SINGLE" + } + ] + }, + "publishedTime": "1 month ago", + "replyLevel": 0, + "authorButtonA11y": "@ziaaaaa.", + "toolbarStateKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UChIbg4dGguUwzg7O-xmi57g", + "displayName": "@ziaaaaa.", + "avatarThumbnailUrl": "https://yt3.ggpht.com/HEAdH93oAQu2ScXNmiKIISapv5O9dKSVLuT3gD1zJhSgHqTaptL7JPun6A5GZqg58_C75_OPkQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAgQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ziaaaaa.", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChIbg4dGguUwzg7O-xmi57g", + "canonicalBaseUrl": "/@ziaaaaa." + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/HEAdH93oAQu2ScXNmiKIISapv5O9dKSVLuT3gD1zJhSgHqTaptL7JPun6A5GZqg58_C75_OPkQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@ziaaaaa.", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAgQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ziaaaaa.", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChIbg4dGguUwzg7O-xmi57g", + "canonicalBaseUrl": "/@ziaaaaa." + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgwwEBqareQ0tpsW7RR4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwwEBqareQ0tpsW7RR4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwwEBqareQ0tpsW7RR4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3d3RUJxYXJlUTB0cHNXN1JSNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgxnFMLrpvbCWzHidml4AaABAg", + "content": { + "content": "Someone must honor him , this man is the best , no , he is a LEGEND . We must all thank him for his video and for getting to the point immediately.", + "styleRuns": [ + { + "startIndex": 0, + "length": 22, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 37, + "length": 8, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 62, + "length": 6, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 72, + "length": 35, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + }, + { + "startIndex": 116, + "length": 33, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "2 years ago (edited)", + "replyLevel": 0, + "authorButtonA11y": "@Dahackabarade", + "toolbarStateKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCeGJuvHZqqebHTE_Kz2zyug", + "displayName": "@Dahackabarade", + "avatarThumbnailUrl": "https://yt3.ggpht.com/csf-cEr2z4uWg8ZpVEPqgS2D2ZUHKBAJWnIbnzQCRtAlioSlUbtQZAyx76tnyfpXpixrsKke6DE=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Dahackabarade", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCeGJuvHZqqebHTE_Kz2zyug", + "canonicalBaseUrl": "/@Dahackabarade" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "12", + "likeCountNotliked": "11", + "replyCount": "5", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 11 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "11 likes", + "replyCountA11y": "5 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/csf-cEr2z4uWg8ZpVEPqgS2D2ZUHKBAJWnIbnzQCRtAlioSlUbtQZAyx76tnyfpXpixrsKke6DE=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Dahackabarade", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAYQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Dahackabarade", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCeGJuvHZqqebHTE_Kz2zyug", + "canonicalBaseUrl": "/@Dahackabarade" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgxnFMLrpvbCWzHidml4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxnFMLrpvbCWzHidml4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgxnFMLrpvbCWzHidml4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3huRk1McnB2YkNXekhpZG1sNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "UgwCIwmF6synP7UF_wV4AaABAg", + "content": { + "content": "Never gonna give you up. Im gonna let u down", + "styleRuns": [ + { + "startIndex": 0, + "length": 24, + "weightLabel": "FONT_WEIGHT_MEDIUM" + } + ] + }, + "publishedTime": "2 years ago", + "replyLevel": 0, + "authorButtonA11y": "@imnotjust...2326", + "toolbarStateKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCyrDrBrWvXwIhf2s2F1dq-Q", + "displayName": "@imnotjust...2326", + "avatarThumbnailUrl": "https://yt3.ggpht.com/Clzb1GD_KnRm9u7mOAN165HZO_H0jhXQlRG8YvEjqkDuBUNibGkclRyRZIdhi-yJhC4hHorGLQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@imnotjust...2326", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCyrDrBrWvXwIhf2s2F1dq-Q", + "canonicalBaseUrl": "/@imnotjust...2326" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "15", + "likeCountNotliked": "14", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 14 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "14 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/Clzb1GD_KnRm9u7mOAN165HZO_H0jhXQlRG8YvEjqkDuBUNibGkclRyRZIdhi-yJhC4hHorGLQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@imnotjust...2326", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAQQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@imnotjust...2326", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCyrDrBrWvXwIhf2s2F1dq-Q", + "canonicalBaseUrl": "/@imnotjust...2326" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=UgwCIwmF6synP7UF_wV4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwCIwmF6synP7UF_wV4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgwCIwmF6synP7UF_wV4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3dDSXdtRjZzeW5QN1VGX3dWNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_HEARTED" + } + } + }, + { + "entityKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAoKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAoKAE%3D", + "properties": { + "commentId": "Ugyb5Wy91Yon69o3wLh4AaABAg", + "content": { + "content": "Thank you for being A Legend No, The Goat Lets go dude", + "styleRuns": [ + { + "startIndex": 20, + "length": 8, + "weightLabel": "FONT_WEIGHT_NORMAL", + "strikethrough": "LINE_STYLE_SINGLE" + }, + { + "startIndex": 33, + "length": 8, + "weightLabel": "FONT_WEIGHT_MEDIUM" + }, + { + "startIndex": 42, + "length": 12, + "weightLabel": "FONT_WEIGHT_NORMAL", + "italic": true + } + ] + }, + "publishedTime": "1 month ago", + "replyLevel": 0, + "authorButtonA11y": "@gfghdgfghd6391", + "toolbarStateKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAsKAE%3D", + "translateButtonEntityKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyD_ASgB" + }, + "author": { + "channelId": "UCPCgaC_EJlS5RpRRWPHWvKA", + "displayName": "@gfghdgfghd6391", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_n0lpwvjOP9HO_XHxzInwQoqQ7qIXeR0SqZVbCE=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@gfghdgfghd6391", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCPCgaC_EJlS5RpRRWPHWvKA", + "canonicalBaseUrl": "/@gfghdgfghd6391" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "1", + "likeCountNotliked": " ", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/YMmDD0zp5wT6l5ozqVMEMuqm5W07QFqmMHzOJ9QKGnSf9xpgEQ0rznstfXlBDxlFpLIrltQxRg=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this comment along with 0 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "0 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by HaruXen" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_n0lpwvjOP9HO_XHxzInwQoqQ7qIXeR0SqZVbCE=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@gfghdgfghd6391", + "avatarImageSize": "AVATAR_SIZE_40", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAIQtnUiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@gfghdgfghd6391", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCPCgaC_EJlS5RpRRWPHWvKA", + "canonicalBaseUrl": "/@gfghdgfghd6391" + } + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBPKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBPKAE%3D", + "commentClickCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "commentClickOpensComposer": true, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70&lc=Ugyb5Wy91Yon69o3wLh4AaABAg", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70", + "params": "ehpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZ6ICA8ABAA%3D%3D" + } + } + } + } + } + }, + { + "entityKey": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBGKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "Eh1VZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZy8xMiBGKAE%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + }, + "replyCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "Qip1VkTuM70" } + } + } + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyb5Wy91Yon69o3wLh4AaABAg&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3DQip1VkTuM70%26lc%3DUgyb5Wy91Yon69o3wLh4AaABAg&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + }, + "trackingParams": "CAEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "command": { + "clickTrackingParams": "CAEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DQip1VkTuM70&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwi64q3dmKGFAxWvy0IFHc14BKM=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=Qip1VkTuM70", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "Qip1VkTuM70" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=" + } + } + ], + "trackingParams": "CAAQg2ciEwi64q3dmKGFAxWvy0IFHc14BKM=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAsKAE%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EhpVZ3liNVd5OTFZb242OW8zd0xoNEFhQUJBZyAsKAE%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + } + ], + "timestamp": { "seconds": "1711980602", "nanos": 730890285 } + } + } +} diff --git a/testfiles/video_details/comments_20240401_frameworkupd_reply.json b/testfiles/video_details/comments_20240401_frameworkupd_reply.json new file mode 100644 index 0000000..cac3fb0 --- /dev/null +++ b/testfiles/video_details/comments_20240401_frameworkupd_reply.json @@ -0,0 +1,3397 @@ +{ + "responseContext": { + "serviceTrackingParams": [ + { + "service": "CSI", + "params": [ + { "key": "c", "value": "WEB" }, + { "key": "cver", "value": "2.20240327.00.00" }, + { "key": "yt_li", "value": "0" }, + { "key": "GetWatchPageWebCommentReplies_rid", "value": "0x2d67cc1f834679de" } + ] + }, + { + "service": "GFEEDBACK", + "params": [ + { "key": "logged_in", "value": "0" }, + { + "key": "e", + "value": "23804281,23858057,23946420,23966208,23983296,23998056,24004644,24007613,24036948,24077241,24080738,24120820,24135310,24166867,24181174,24187377,24208765,24241378,24290971,24377598,24407446,24425061,24439361,24451319,24453989,24468724,24506784,24515423,24524098,24524562,24542367,24547316,24548627,24548629,24550458,24560416,24566687,24690004,24697068,24699899,39325978,51003636,51006181,51009781,51010235,51012659,51014091,51016856,51017346,51017378,51019626,51020570,51025415,51026715,51027870,51030101,51033399,51033765,51037330,51037342,51037349,51037540,51038805,51039200,51040842,51048489,51050361,51053689,51057501,51057846,51057855,51060353,51063643,51064835,51069269,51072748,51073089,51074183,51074739,51076170,51078191,51079239,51079303,51080341,51080402,51082236,51083234,51084267,51084279,51084292,51089177,51089441,51089956,51091331,51091812,51092557,51092661,51092916,51092929,51094175,51094202,51094209,51095478,51096389,51096577,51096646,51096989,51098297,51098299,51099412,51100401,51101454,51103858,51104988,51105868,51106995,51107331,51107338,51108006,51108620,51108977,51109077,51110160,51111738,51112970,51112972,51113658,51113663,51115184,51116067,51118293,51118456,51118564,51118932,51119507,51119512,51120953,51121939,51122047,51123077,51124104,51124478,51125903,51127561,51128585,51129216,51129218,51129220,51129222,51129224,51129395,51130324,51131075,51132393,51135346,51135654,51136141,51136149,51136217,51136785,51136843,51137086,51137135,51137185,51137715,51139379,51140749,51141384,51141542,51141765,51141798,51142470,51142840,51142842,51143318,51145219,51146434,51146962,51147091,51148978,51148981,51149607,51152049,51152100,51152207,51152444,51152508,51153962" + } + ] + }, + { "service": "GUIDED_HELP", "params": [{ "key": "logged_in", "value": "0" }] }, + { + "service": "ECATCHER", + "params": [ + { "key": "client.version", "value": "2.20240327" }, + { "key": "client.name", "value": "WEB" } + ] + } + ], + "mainAppWebResponseContext": { + "loggedOut": true, + "trackingParam": "kx_fmPxhoPZRbWKP3KhZedSUkqnLSgvVbXCccQmGvt1MMhHRgkussh7BwOcCE59TDtslLKPQ-SS" + }, + "webResponseContextExtensionData": { "hasDecorated": true } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdWCARoIfBC-dSITCPCN8vzMoYUDFbDoSQcdOD4G0Q==", + "onResponseReceivedEndpoints": [ + { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "appendContinuationItemsAction": { + "continuationItems": [ + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB8QtnUYZSITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB4QtnUYZiITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CB0QtnUYZyITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBwQtnUYaCITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBsQtnUYaSITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBoQtnUYaiITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBkQtnUYayITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBgQtnUYbCITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBcQtnUYbSITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "commentViewModel": { + "commentKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICgoAQ%3D%3D", + "sharedKey": "EgAgKygB", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICwoAQ%3D%3D", + "toolbarSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIEYoAQ%3D%3D", + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK", + "commentSurfaceKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIE8oAQ%3D%3D", + "rendererContext": { + "loggingContext": { + "loggingDirectives": { + "trackingParams": "CBYQtnUYbiITCMW4kf7MoYUDFUrSSQcddOkN1Q==", + "visibility": { "types": "12" }, + "enableDisplayloggerExperiment": true + } + } + } + } + }, + { + "continuationItemRenderer": { + "button": { + "buttonRenderer": { + "text": { "runs": [{ "text": "Show more replies" }] }, + "icon": { "iconType": "SUBDIRECTORY_ARROW_RIGHT" }, + "trackingParams": "CBUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CBUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/next" + } + }, + "continuationCommand": { + "token": "Eg0SC2hhZjY3ZUtGMHVvGAYy1wEKUGdldF9jb21tZW50X3dpdGhfcmVwbGllc19zdHJlYW0tLUNnZ0lnQVFWRjdmUk9CSUZDS0FnR0FFWUFDSU9DZ3dJeXUzdXJRWVE2Tkt2NGdFGlASGlVnenUtdDQ4dlY5U2pkZVdJTWg0QWFBQkFnIgIIACoYVUNhTzZUWXRsQzhVNXR0ejYyaFRyWmdnMgtoYWY2N2VLRjB1b0AASDKCAQIIASgKQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZw%3D%3D", + "request": "CONTINUATION_REQUEST_TYPE_WATCH_NEXT" + } + } + } + } + } + } + ], + "targetId": "comment-replies-item-Ugzu-t48vV9SjdeWIMh4AaABAg" + } + } + ], + "frameworkUpdates": { + "entityBatchUpdate": { + "mutations": [ + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw", + "content": { + "content": "Fact🙌🏻", + "attachmentRuns": [ + { + "startIndex": 4, + "length": 4, + "element": { + "type": { + "imageType": { + "image": { + "sources": [ + { + "url": "https://www.youtube.com/s/gaming/emoji/7ff574f2/emoji_u1f64c_1f3fb.png", + "width": 16, + "height": 16 + } + ] + }, + "playbackState": "IMAGE_PLAYBACK_STATE_STOPPED" + } + }, + "properties": { + "layoutProperties": { + "height": { "value": 16, "unit": "DIMENSION_UNIT_POINT" }, + "width": { "value": 16, "unit": "DIMENSION_UNIT_POINT" }, + "margin": { + "left": { "value": 2, "unit": "DIMENSION_UNIT_POINT" }, + "right": { "value": 2, "unit": "DIMENSION_UNIT_POINT" } + } + } + } + }, + "alignment": "ALIGNMENT_VERTICAL_CENTER" + } + ] + }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@Sadaf788", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3IP8BKAE%3D" + }, + "author": { + "channelId": "UC4I0-MXGyTRsc1tsJrDMh2A", + "displayName": "@Sadaf788", + "avatarThumbnailUrl": "https://yt3.ggpht.com/uIXOBEBIhYn6Y8cQHlhaGGnCqOqS8PI5YR_Cx28qR_Y_p1qkjHC8V68iwxfeJ20eQ3zp81owJ64=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBQQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Sadaf788", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC4I0-MXGyTRsc1tsJrDMh2A", + "canonicalBaseUrl": "/@Sadaf788" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "801", + "likeCountNotliked": "800", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 800 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "800 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/uIXOBEBIhYn6Y8cQHlhaGGnCqOqS8PI5YR_Cx28qR_Y_p1qkjHC8V68iwxfeJ20eQ3zp81owJ64=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Sadaf788", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBQQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Sadaf788", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC4I0-MXGyTRsc1tsJrDMh2A", + "canonicalBaseUrl": "/@Sadaf788" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3LzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-GzThFMUcw&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CBMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CBMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtR3pUaEZNVWN3ICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ", + "content": { "content": "Facts" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@Biggest_Onceu", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aIP8BKAE%3D" + }, + "author": { + "channelId": "UCdJ0CAWWa1rRjRbVrQUrU_w", + "displayName": "@Biggest_Onceu", + "avatarThumbnailUrl": "https://yt3.ggpht.com/dHe_Zmr-7EueUz0R-BbuFoGwRyNMXwa3gb_GJMgAie9yU5PM6LbgTlNJ1zivRxnjiFg2nrlF1Es=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBIQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Biggest_Onceu", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCdJ0CAWWa1rRjRbVrQUrU_w", + "canonicalBaseUrl": "/@Biggest_Onceu" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "531", + "likeCountNotliked": "530", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 530 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "530 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/dHe_Zmr-7EueUz0R-BbuFoGwRyNMXwa3gb_GJMgAie9yU5PM6LbgTlNJ1zivRxnjiFg2nrlF1Es=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Biggest_Onceu", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBIQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Biggest_Onceu", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCdJ0CAWWa1rRjRbVrQUrU_w", + "canonicalBaseUrl": "/@Biggest_Onceu" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H295I5iMZ&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CBEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CBEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDI5NUk1aU1aICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI", + "content": { "content": "Faacttts" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@neni996", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJIP8BKAE%3D" + }, + "author": { + "channelId": "UCPPhfcNhQ768F0Hhk3-25hA", + "displayName": "@neni996", + "avatarThumbnailUrl": "https://yt3.ggpht.com/t__fCiOIhKCg2BwaxaRog9F_a5uemd8rTEvwzWYl6WeLn-nN9xEW0FvxUtM0fQrh2Dj_6ENsGQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CBAQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@neni996", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCPPhfcNhQ768F0Hhk3-25hA", + "canonicalBaseUrl": "/@neni996" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "413", + "likeCountNotliked": "412", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 412 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "412 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/t__fCiOIhKCg2BwaxaRog9F_a5uemd8rTEvwzWYl6WeLn-nN9xEW0FvxUtM0fQrh2Dj_6ENsGQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@neni996", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CBAQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@neni996", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCPPhfcNhQ768F0Hhk3-25hA", + "canonicalBaseUrl": "/@neni996" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H73oLoHkI&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CA8Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CA8Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA8Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDczb0xvSGtJICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z", + "content": { "content": "REAL" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@momolvs", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6IP8BKAE%3D" + }, + "author": { + "channelId": "UCQyomFJDEQtC2lbQ6E7QUGA", + "displayName": "@momolvs", + "avatarThumbnailUrl": "https://yt3.ggpht.com/nt6GjcwAs8NPgaF29pn-cHTPmPAwQC_e_lXQHGDjZJGSRKzsH4s3le8Wpg0ByAUvPwTSHWe0OA=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CA4QtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@momolvs", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCQyomFJDEQtC2lbQ6E7QUGA", + "canonicalBaseUrl": "/@momolvs" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "313", + "likeCountNotliked": "312", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 312 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "312 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/nt6GjcwAs8NPgaF29pn-cHTPmPAwQC_e_lXQHGDjZJGSRKzsH4s3le8Wpg0ByAUvPwTSHWe0OA=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@momolvs", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CA4QtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@momolvs", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCQyomFJDEQtC2lbQ6E7QUGA", + "canonicalBaseUrl": "/@momolvs" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6LzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H7nBbPD5z&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CA0Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CA0Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDduQmJQRDV6ICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ", + "content": { "content": "FR!!" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@user-vv9yp1fh8w", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaIP8BKAE%3D" + }, + "author": { + "channelId": "UC9HOPOf3gD3aw6Ej9WZ-rYg", + "displayName": "@user-vv9yp1fh8w", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nqyUCWW7jqWrg_39XNQ18-acPouL6wyHeQnZOMbmlSa9x2YGWINkfU1DLcvaXw=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAwQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@user-vv9yp1fh8w", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9HOPOf3gD3aw6Ej9WZ-rYg", + "canonicalBaseUrl": "/@user-vv9yp1fh8w" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "188", + "likeCountNotliked": "187", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 187 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "187 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_nqyUCWW7jqWrg_39XNQ18-acPouL6wyHeQnZOMbmlSa9x2YGWINkfU1DLcvaXw=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@user-vv9yp1fh8w", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAwQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@user-vv9yp1fh8w", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9HOPOf3gD3aw6Ej9WZ-rYg", + "canonicalBaseUrl": "/@user-vv9yp1fh8w" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-H9s3LvStZ&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAsQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAsQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSDlzM0x2U3RaICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL", + "content": { "content": "fato." }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@millenatwice", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMIP8BKAE%3D" + }, + "author": { + "channelId": "UCW6ua0VDEFz7SyVMX01fTCA", + "displayName": "@millenatwice", + "avatarThumbnailUrl": "https://yt3.ggpht.com/rInaNzUF3JLL_pCNfZtZlf2cHipf1yM4grr8VGJRHocwOQiuq1x7kUVi24q3ydtDC0j8bqbw2vA=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAoQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@millenatwice", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCW6ua0VDEFz7SyVMX01fTCA", + "canonicalBaseUrl": "/@millenatwice" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "166", + "likeCountNotliked": "165", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 165 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "165 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/rInaNzUF3JLL_pCNfZtZlf2cHipf1yM4grr8VGJRHocwOQiuq1x7kUVi24q3ydtDC0j8bqbw2vA=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@millenatwice", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAoQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@millenatwice", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCW6ua0VDEFz7SyVMX01fTCA", + "canonicalBaseUrl": "/@millenatwice" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HB52Dv3SL&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAkQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAkQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAkQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEI1MkR2M1NMICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD", + "content": { + "content": "For sure!! TWICE is always TWICE!! They always give GOOD MUSIC" + }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@Its_me_hi_good", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEIP8BKAE%3D" + }, + "author": { + "channelId": "UCqDSps4SV0v8Dzf8esr6ScQ", + "displayName": "@Its_me_hi_good", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_nfh9rWK7_gae1YkUgKuq13G9OUpxQCqrXAAi1hfPkCvHeHORbq3DUTYm7b5eoy=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAgQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Its_me_hi_good", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqDSps4SV0v8Dzf8esr6ScQ", + "canonicalBaseUrl": "/@Its_me_hi_good" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "342", + "likeCountNotliked": "341", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 341 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "341 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_nfh9rWK7_gae1YkUgKuq13G9OUpxQCqrXAAi1hfPkCvHeHORbq3DUTYm7b5eoy=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@Its_me_hi_good", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAgQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@Its_me_hi_good", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqDSps4SV0v8Dzf8esr6ScQ", + "canonicalBaseUrl": "/@Its_me_hi_good" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BELzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HDLrM1OPD&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAcQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAcQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAcQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSERMck0xT1BEICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him", + "content": { "content": "Fr" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@amanpreetbrar7836", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltIP8BKAE%3D" + }, + "author": { + "channelId": "UCFA4BaLyvM1DDNsFyE_BHqQ", + "displayName": "@amanpreetbrar7836", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_n1M-xxgSLIqe17kDv-i-tPn23FT1ywabpRAQ=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAYQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@amanpreetbrar7836", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCFA4BaLyvM1DDNsFyE_BHqQ", + "canonicalBaseUrl": "/@amanpreetbrar7836" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "85", + "likeCountNotliked": "84", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 84 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "84 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_n1M-xxgSLIqe17kDv-i-tPn23FT1ywabpRAQ=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@amanpreetbrar7836", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAYQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@amanpreetbrar7836", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCFA4BaLyvM1DDNsFyE_BHqQ", + "canonicalBaseUrl": "/@amanpreetbrar7836" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIAbm3Him&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAUQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElBYm0zSGltICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7", + "content": { "content": "Presave I got you and with youth on spotify" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@RitaOnce9", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3IP8BKAE%3D" + }, + "author": { + "channelId": "UCxMDESp088wGItVM4xXACgw", + "displayName": "@RitaOnce9", + "avatarThumbnailUrl": "https://yt3.ggpht.com/hVTumbLCpmtJw0c2mq1B-ES5W3kdYPqnNrtzEcUhxCoUN6dAutXc6exaPRnBMLM6Jw1ILPoBDg=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAQQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@RitaOnce9", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxMDESp088wGItVM4xXACgw", + "canonicalBaseUrl": "/@RitaOnce9" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "113", + "likeCountNotliked": "112", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 112 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "112 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/hVTumbLCpmtJw0c2mq1B-ES5W3kdYPqnNrtzEcUhxCoUN6dAutXc6exaPRnBMLM6Jw1ILPoBDg=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@RitaOnce9", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAQQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@RitaOnce9", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxMDESp088wGItVM4xXACgw", + "canonicalBaseUrl": "/@RitaOnce9" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3LzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HIrpOKIi7&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAMQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSElycE9LSWk3ICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICgoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICgoAQ%3D%3D", + "properties": { + "commentId": "Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK", + "content": { "content": "real" }, + "publishedTime": "2 months ago", + "replyLevel": 1, + "authorButtonA11y": "@twiceupremacy", + "toolbarStateKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICwoAQ%3D%3D", + "translateButtonEntityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLIP8BKAE%3D" + }, + "author": { + "channelId": "UCqeOr9ddrs_d6OgboKjk6zw", + "displayName": "@twiceupremacy", + "avatarThumbnailUrl": "https://yt3.ggpht.com/ytc/AIdro_lpKYjxtRm1HSjv3tFvGwrvnRILmJoQrPTBBOFG=s88-c-k-c0x00ffffff-no-rj", + "isVerified": false, + "isCurrentUser": false, + "isCreator": false, + "channelCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAIQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@twiceupremacy", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqeOr9ddrs_d6OgboKjk6zw", + "canonicalBaseUrl": "/@twiceupremacy" + } + } + }, + "isArtist": false + }, + "toolbar": { + "likeCountLiked": "76", + "likeCountNotliked": "75", + "replyCount": "", + "creatorThumbnailUrl": "https://yt3.ggpht.com/kcV7NQkBm-UvvzVTJvrg1Yf1eHSqi-DLXuZPt_ECa3cHEPefujS951Dxj6KUEQ5i9Z7_fyMUjw=s88-c-k-c0x00ffffff-no-rj", + "likeButtonA11y": "Like this reply along with 75 other people", + "engagementToolbarStyle": { + "value": "ENGAGEMENT_TOOLBAR_STYLE_VALUE_DEFAULT" + }, + "likeCountA11y": "75 likes", + "replyCountA11y": "0 replies", + "likeInactiveTooltip": "Like", + "likeActiveTooltip": "Unlike", + "dislikeInactiveTooltip": "Dislike", + "dislikeActiveTooltip": "Remove dislike", + "heartActiveTooltip": "❤ by JYP Entertainment" + }, + "avatar": { + "image": { + "sources": [ + { + "url": "https://yt3.ggpht.com/ytc/AIdro_lpKYjxtRm1HSjv3tFvGwrvnRILmJoQrPTBBOFG=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + } + ], + "processor": { "borderImageProcessor": { "circular": true } } + }, + "accessibilityText": "@twiceupremacy", + "avatarImageSize": "AVATAR_SIZE_XS", + "endpoint": { + "innertubeCommand": { + "clickTrackingParams": "CAIQtnUiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@twiceupremacy", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqeOr9ddrs_d6OgboKjk6zw", + "canonicalBaseUrl": "/@twiceupremacy" + } + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIE8oAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "commentSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIE8oAQ%3D%3D", + "inlineReadMoreButton": { "isSupported": true, "isExpanded": false }, + "composerDraftEntityKey": "N/A", + "publishedTimeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo&lc=Ugzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo", + "params": "ejFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLogIDwAEA" + } + } + } + } + } + }, + { + "entityKey": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIEYoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarSurfaceEntityPayload": { + "key": "EjRVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLLzEyIEYoAQ%3D%3D", + "prepareAccountCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { "videoId": "haf67eKF0uo" } + } + } + } + }, + "likeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "unlikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "dislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "undislikeCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + }, + "menuCommand": { + "innertubeCommand": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "menuEndpoint": { + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { "runs": [{ "text": "Report" }] }, + "icon": { "iconType": "FLAG" }, + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { "ignoreNavigation": true } + }, + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "title": { + "runs": [ + { "text": "Need to report the comment?" } + ] + }, + "content": { + "runs": [ + { + "text": "Sign in to report content that breaks our rules.\n\nYou can also file a " + }, + { + "text": "legal complaint", + "navigationEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK&contact_type=main", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://support.google.com/youtube/contact/legal_complaint_entities_single?hl=en&entity_url=https://www.youtube.com/watch%3Fv%3Dhaf67eKF0uo%26lc%3DUgzu-t48vV9SjdeWIMh4AaABAg.A-Grr7qN9uaA-HKMOSBnLK&contact_type=main" + } + } + }, + { "text": " without signing in." } + ] + }, + "button": { + "buttonRenderer": { + "style": "STYLE_BRAND", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { "runs": [{ "text": "Sign in" }] }, + "navigationEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + }, + "trackingParams": "CAEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "command": { + "clickTrackingParams": "CAEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dhaf67eKF0uo&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CAEQ8FsiEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/watch?v=haf67eKF0uo", + "webPageType": "WEB_PAGE_TYPE_WATCH", + "rootVe": 3832 + } + }, + "watchEndpoint": { + "videoId": "haf67eKF0uo" + } + } + } + } + } + } + } + } + } + }, + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=" + } + } + ], + "trackingParams": "CAAQg2ciEwjFuJH-zKGFAxVK0kkHHXTpDdU=", + "accessibility": { + "accessibilityData": { "label": "Action menu" } + } + } + } + } + } + }, + "isEngagementToolbar": true + } + } + }, + { + "entityKey": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICwoAQ%3D%3D", + "type": "ENTITY_MUTATION_TYPE_REPLACE", + "payload": { + "engagementToolbarStateEntityPayload": { + "key": "EjFVZ3p1LXQ0OHZWOVNqZGVXSU1oNEFhQUJBZy5BLUdycjdxTjl1YUEtSEtNT1NCbkxLICwoAQ%3D%3D", + "likeState": "TOOLBAR_LIKE_STATE_INDIFFERENT", + "heartState": "TOOLBAR_HEART_STATE_UNHEARTED" + } + } + } + ], + "timestamp": { "seconds": "1711994629", "nanos": 900081824 } + } + } +} diff --git a/tests/snapshots/youtube__music_album_ep.snap b/tests/snapshots/youtube__music_album_ep.snap index 10e5e03..03a55ab 100644 --- a/tests/snapshots/youtube__music_album_ep.snap +++ b/tests/snapshots/youtube__music_album_ep.snap @@ -22,7 +22,7 @@ MusicAlbum( TrackItem( id: "aGd3VKSOTxY", name: "Ich wache auf", - duration: Some(221), + duration: Some(222), cover: [], artists: [ ArtistId( @@ -43,7 +43,7 @@ MusicAlbum( TrackItem( id: "Jz-26iiDuYs", name: "Waldbrand", - duration: Some(208), + duration: Some(209), cover: [], artists: [ ArtistId( @@ -64,7 +64,7 @@ MusicAlbum( TrackItem( id: "Bu26uFtpt58", name: "Verlernt", - duration: Some(223), + duration: Some(224), cover: [], artists: [ ArtistId( @@ -85,7 +85,7 @@ MusicAlbum( TrackItem( id: "RgwNqqiVqdY", name: "In Farbe", - duration: Some(221), + duration: Some(222), cover: [], artists: [ ArtistId( @@ -106,7 +106,7 @@ MusicAlbum( TrackItem( id: "2TuOh30XbCI", name: "Stadt im Hinterland", - duration: Some(197), + duration: Some(198), cover: [], artists: [ ArtistId( diff --git a/tests/snapshots/youtube__music_album_ep_intl.snap b/tests/snapshots/youtube__music_album_ep_intl.snap index c48bcd4..83775be 100644 --- a/tests/snapshots/youtube__music_album_ep_intl.snap +++ b/tests/snapshots/youtube__music_album_ep_intl.snap @@ -22,7 +22,7 @@ MusicAlbum( TrackItem( id: "aGd3VKSOTxY", name: "[name]", - duration: Some(221), + duration: Some(222), cover: [], artists: [ ArtistId( @@ -43,7 +43,7 @@ MusicAlbum( TrackItem( id: "Jz-26iiDuYs", name: "[name]", - duration: Some(208), + duration: Some(209), cover: [], artists: [ ArtistId( @@ -64,7 +64,7 @@ MusicAlbum( TrackItem( id: "Bu26uFtpt58", name: "[name]", - duration: Some(223), + duration: Some(224), cover: [], artists: [ ArtistId( @@ -85,7 +85,7 @@ MusicAlbum( TrackItem( id: "RgwNqqiVqdY", name: "[name]", - duration: Some(221), + duration: Some(222), cover: [], artists: [ ArtistId( @@ -106,7 +106,7 @@ MusicAlbum( TrackItem( id: "2TuOh30XbCI", name: "[name]", - duration: Some(197), + duration: Some(198), cover: [], artists: [ ArtistId( diff --git a/tests/snapshots/youtube__music_album_no_artist.snap b/tests/snapshots/youtube__music_album_no_artist.snap index eea1c14..11818a7 100644 --- a/tests/snapshots/youtube__music_album_no_artist.snap +++ b/tests/snapshots/youtube__music_album_no_artist.snap @@ -3,32 +3,36 @@ source: tests/youtube.rs expression: album --- MusicAlbum( - id: "MPREb_bqWA6mAZFWS", - playlist_id: Some("OLAK5uy_mUiRbMqeQXFUH6h9KB87RcEmNtm45Qvs0"), - name: "Pedha Rasi Peddamma Katha", + id: "MPREb_Z81wHtF9fhC", + playlist_id: Some("OLAK5uy_l4sJyKllp77ht_HPYCUFo-sA6N8fNFNsY"), + name: "June Compilation", cover: "[cover]", artists: [], artist_id: None, description: None, - album_type: Ep, - year: Some(1968), - by_va: false, + album_type: Album, + year: Some(2024), + by_va: true, tracks: [ TrackItem( - id: "EX7-pOQHPyE", - name: "Siva Manoranjani", - duration: Some(267), + id: "ilNEztApdjI", + name: "Shanghai", + duration: Some(259), cover: [], artists: [ ArtistId( - id: Some("UC1C05NyYICFB2mVGn9_ttEw"), - name: "Dr. M. Balamuralikrishna", + id: Some("UC9MB9dkvCCpM3qVF71TZL7g"), + name: "Crubbixz", + ), + ArtistId( + id: Some("UCMYTb0sib5ppwQL9FAGmYTw"), + name: "Tank", ), ], - artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), + artist_id: Some("UC9MB9dkvCCpM3qVF71TZL7g"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", )), view_count: "[view_count]", is_video: false, @@ -36,20 +40,20 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "0AyWB-Quj4A", - name: "Kuluku Nadakula", - duration: Some(179), + id: "s-qSnZyyvzs", + name: "Always Be With U(Extended Mix)", + duration: Some(165), cover: [], artists: [ ArtistId( - id: Some("UCDqpyYkgWy2h03HamIfODjw"), - name: "Ghantasala, Chorus", + id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"), + name: "陈海择HeizerChan", ), ], - artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), + artist_id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", )), view_count: "[view_count]", is_video: false, @@ -57,20 +61,20 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "s0Sb-GZLXSM", - name: "Gulabi Buggalunna", - duration: Some(155), + id: "4jXoRBcQ8PY", + name: "Elude (Extended Mix)", + duration: Some(329), cover: [], artists: [ ArtistId( - id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), - name: "L.r. Eswari", + id: None, + name: "Julius Beat & SinDj", ), ], - artist_id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), + artist_id: Some("UCCRiYE0dTFA_pc23-97GfSg"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", )), view_count: "[view_count]", is_video: false, @@ -78,57 +82,252 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "P4XAaXjlCDA", - name: "Oh Javaraala", - duration: Some(229), + id: "DRES9S4VQI8", + name: "Venus (Extended Mix)", + duration: Some(202), cover: [], artists: [ ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "S.p. Balasubrahmanyam, S. Janaki", + id: Some("UC_y8p7fi6t3z10R2UEMQG_A"), + name: "Andymion", ), ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), + artist_id: Some("UC_y8p7fi6t3z10R2UEMQG_A"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", )), view_count: "[view_count]", is_video: false, track_nr: Some(4), by_va: false, ), - ], - variants: [ - AlbumItem( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w226-h226-l90-rj", - width: 226, - height: 226, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w544-h544-l90-rj", - width: 544, - height: 544, - ), - ], + TrackItem( + id: "yhZVimwD4B4", + name: "Arise", + duration: Some(213), + cover: [], artists: [ ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "S P Balasubramaniam", + id: Some("UCYAzELapKjDUHMGRbzjJtgw"), + name: "Takahiro Yoshihira", ), ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), - name: "S Janaki", + id: Some("UCN2Ji-D6Tzn5CTC7iCWoX8w"), + name: "TOMI-NORI", ), ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - album_type: Ep, - year: None, + artist_id: Some("UCYAzELapKjDUHMGRbzjJtgw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(5), + by_va: false, + ), + TrackItem( + id: "5d6YiFkdzLM", + name: "Acid Rave (Extended Mix)", + duration: Some(191), + cover: [], + artists: [ + ArtistId( + id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"), + name: "SteelDrum", + ), + ], + artist_id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(6), + by_va: false, + ), + TrackItem( + id: "3Qe7-uN2PjU", + name: "Destiny (Extended Mix)", + duration: Some(446), + cover: [], + artists: [ + ArtistId( + id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"), + name: "Tyranix", + ), + ArtistId( + id: Some("UCy69bQ95ovXIquWzY5jfAIA"), + name: "Jawzcirclesix", + ), + ], + artist_id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(7), + by_va: false, + ), + TrackItem( + id: "SKZ_MTsXFP4", + name: "Darksiders (Extended Mix)", + duration: Some(376), + cover: [], + artists: [ + ArtistId( + id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"), + name: "Kruky", + ), + ], + artist_id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(8), + by_va: false, + ), + TrackItem( + id: "n5-ujUwazDA", + name: "Mind Game (Extended Mix)", + duration: Some(335), + cover: [], + artists: [ + ArtistId( + id: Some("UCxByvsK9hDZk2MnnF9jsFGw"), + name: "Herbrido", + ), + ], + artist_id: Some("UCxByvsK9hDZk2MnnF9jsFGw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(9), + by_va: false, + ), + TrackItem( + id: "VaREivfDJeY", + name: "Caronte (Extended Mix)", + duration: Some(268), + cover: [], + artists: [ + ArtistId( + id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"), + name: "Foodydrop", + ), + ], + artist_id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(10), + by_va: false, + ), + TrackItem( + id: "cWcD0WIK2PA", + name: "Left Right Go (Extended Mix)", + duration: Some(198), + cover: [], + artists: [ + ArtistId( + id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"), + name: "Fly飞", + ), + ArtistId( + id: Some("UChLPGmjYa8bmKShqMBFP_DA"), + name: "MARSJONE 鸡万", + ), + ], + artist_id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(11), + by_va: false, + ), + TrackItem( + id: "QRELvH564T4", + name: "Terminal Zero (Extended Mix)", + duration: Some(325), + cover: [], + artists: [ + ArtistId( + id: Some("UCbiVmjdLA5PKZcUnZMExqCA"), + name: "Reivax", + ), + ], + artist_id: Some("UCbiVmjdLA5PKZcUnZMExqCA"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(12), + by_va: false, + ), + TrackItem( + id: "eCY0-GyG46s", + name: "The Unknown (Extended Mix)", + duration: Some(198), + cover: [], + artists: [ + ArtistId( + id: Some("UC-thVg_PSz894f5mVqMFMeQ"), + name: "Elia Akita", + ), + ], + artist_id: Some("UC-thVg_PSz894f5mVqMFMeQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(13), + by_va: false, + ), + TrackItem( + id: "UIrHYTEyUfA", + name: "This is Acid (Extended Mix)", + duration: Some(213), + cover: [], + artists: [ + ArtistId( + id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"), + name: "Monored", + ), + ArtistId( + id: Some("UCpmZakvqLLUZ4G_YkKjoy6g"), + name: "Egemen Kızıltekin", + ), + ], + artist_id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "June Compilation", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(14), by_va: false, ), ], + variants: [], ) diff --git a/tests/snapshots/youtube__music_album_no_artist_intl.snap b/tests/snapshots/youtube__music_album_no_artist_intl.snap index a8cefcf..4eb19bc 100644 --- a/tests/snapshots/youtube__music_album_no_artist_intl.snap +++ b/tests/snapshots/youtube__music_album_no_artist_intl.snap @@ -3,31 +3,35 @@ source: tests/youtube.rs expression: album --- MusicAlbum( - id: "MPREb_bqWA6mAZFWS", - playlist_id: Some("OLAK5uy_mUiRbMqeQXFUH6h9KB87RcEmNtm45Qvs0"), + id: "MPREb_Z81wHtF9fhC", + playlist_id: Some("OLAK5uy_l4sJyKllp77ht_HPYCUFo-sA6N8fNFNsY"), name: "[name]", cover: "[cover]", artists: [], artist_id: None, description: "[description]", - album_type: Ep, - year: Some(1968), - by_va: false, + album_type: Album, + year: Some(2024), + by_va: true, tracks: [ TrackItem( - id: "EX7-pOQHPyE", + id: "ilNEztApdjI", name: "[name]", - duration: Some(267), + duration: Some(259), cover: [], artists: [ ArtistId( - id: Some("UC1C05NyYICFB2mVGn9_ttEw"), + id: Some("UC9MB9dkvCCpM3qVF71TZL7g"), + name: "[name]", + ), + ArtistId( + id: Some("UCMYTb0sib5ppwQL9FAGmYTw"), name: "[name]", ), ], - artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), + artist_id: Some("UC9MB9dkvCCpM3qVF71TZL7g"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", + id: "MPREb_Z81wHtF9fhC", name: "[name]", )), view_count: "[view_count]", @@ -36,19 +40,19 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "0AyWB-Quj4A", + id: "s-qSnZyyvzs", name: "[name]", - duration: Some(179), + duration: Some(165), cover: [], artists: [ ArtistId( - id: Some("UCDqpyYkgWy2h03HamIfODjw"), + id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"), name: "[name]", ), ], - artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), + artist_id: Some("UCpAZ1Ap_nuAEk9RiT-nUsWQ"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", + id: "MPREb_Z81wHtF9fhC", name: "[name]", )), view_count: "[view_count]", @@ -57,19 +61,19 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "s0Sb-GZLXSM", + id: "4jXoRBcQ8PY", name: "[name]", - duration: Some(155), + duration: Some(329), cover: [], artists: [ ArtistId( - id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), + id: None, name: "[name]", ), ], - artist_id: Some("UCUhWwvF6gIPWTYlYb4-icLA"), + artist_id: Some("UCCRiYE0dTFA_pc23-97GfSg"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", + id: "MPREb_Z81wHtF9fhC", name: "[name]", )), view_count: "[view_count]", @@ -78,19 +82,19 @@ MusicAlbum( by_va: false, ), TrackItem( - id: "P4XAaXjlCDA", + id: "DRES9S4VQI8", name: "[name]", - duration: Some(229), + duration: Some(202), cover: [], artists: [ ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), + id: Some("UC_y8p7fi6t3z10R2UEMQG_A"), name: "[name]", ), ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), + artist_id: Some("UC_y8p7fi6t3z10R2UEMQG_A"), album: Some(AlbumId( - id: "MPREb_bqWA6mAZFWS", + id: "MPREb_Z81wHtF9fhC", name: "[name]", )), view_count: "[view_count]", @@ -98,37 +102,232 @@ MusicAlbum( track_nr: Some(4), by_va: false, ), - ], - variants: [ - AlbumItem( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w226-h226-l90-rj", - width: 226, - height: 226, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/iZtBdPWBGNB-GAWvOp9seuYj5QqKrUYGSe-B5J026yxHqFSWv4zsxHy-LxX5LbFlnepOPRWNLrajO-_-=w544-h544-l90-rj", - width: 544, - height: 544, - ), - ], + TrackItem( + id: "yhZVimwD4B4", + name: "[name]", + duration: Some(213), + cover: [], artists: [ ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), + id: Some("UCYAzELapKjDUHMGRbzjJtgw"), name: "[name]", ), ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), + id: Some("UCN2Ji-D6Tzn5CTC7iCWoX8w"), name: "[name]", ), ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - album_type: Ep, - year: None, + artist_id: Some("UCYAzELapKjDUHMGRbzjJtgw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(5), + by_va: false, + ), + TrackItem( + id: "5d6YiFkdzLM", + name: "[name]", + duration: Some(191), + cover: [], + artists: [ + ArtistId( + id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"), + name: "[name]", + ), + ], + artist_id: Some("UCFqaoKXGfCsd9VRQNXzhIjQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(6), + by_va: false, + ), + TrackItem( + id: "3Qe7-uN2PjU", + name: "[name]", + duration: Some(446), + cover: [], + artists: [ + ArtistId( + id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"), + name: "[name]", + ), + ArtistId( + id: Some("UCy69bQ95ovXIquWzY5jfAIA"), + name: "[name]", + ), + ], + artist_id: Some("UCjqRwXhXgFW7RDDPn_TlAbw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(7), + by_va: false, + ), + TrackItem( + id: "SKZ_MTsXFP4", + name: "[name]", + duration: Some(376), + cover: [], + artists: [ + ArtistId( + id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"), + name: "[name]", + ), + ], + artist_id: Some("UCEUUFTUZpm1MmANCfLN5_9Q"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(8), + by_va: false, + ), + TrackItem( + id: "n5-ujUwazDA", + name: "[name]", + duration: Some(335), + cover: [], + artists: [ + ArtistId( + id: Some("UCxByvsK9hDZk2MnnF9jsFGw"), + name: "[name]", + ), + ], + artist_id: Some("UCxByvsK9hDZk2MnnF9jsFGw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(9), + by_va: false, + ), + TrackItem( + id: "VaREivfDJeY", + name: "[name]", + duration: Some(268), + cover: [], + artists: [ + ArtistId( + id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"), + name: "[name]", + ), + ], + artist_id: Some("UCG2o9g3Yl6jBL21_z7XBMVw"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(10), + by_va: false, + ), + TrackItem( + id: "cWcD0WIK2PA", + name: "[name]", + duration: Some(198), + cover: [], + artists: [ + ArtistId( + id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"), + name: "[name]", + ), + ArtistId( + id: Some("UChLPGmjYa8bmKShqMBFP_DA"), + name: "[name]", + ), + ], + artist_id: Some("UCiIDz3M3cDn2QeYjLbhIdBQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(11), + by_va: false, + ), + TrackItem( + id: "QRELvH564T4", + name: "[name]", + duration: Some(325), + cover: [], + artists: [ + ArtistId( + id: Some("UCbiVmjdLA5PKZcUnZMExqCA"), + name: "[name]", + ), + ], + artist_id: Some("UCbiVmjdLA5PKZcUnZMExqCA"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(12), + by_va: false, + ), + TrackItem( + id: "eCY0-GyG46s", + name: "[name]", + duration: Some(198), + cover: [], + artists: [ + ArtistId( + id: Some("UC-thVg_PSz894f5mVqMFMeQ"), + name: "[name]", + ), + ], + artist_id: Some("UC-thVg_PSz894f5mVqMFMeQ"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(13), + by_va: false, + ), + TrackItem( + id: "UIrHYTEyUfA", + name: "[name]", + duration: Some(213), + cover: [], + artists: [ + ArtistId( + id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"), + name: "[name]", + ), + ArtistId( + id: Some("UCpmZakvqLLUZ4G_YkKjoy6g"), + name: "[name]", + ), + ], + artist_id: Some("UC2pJL-Kp6yJtARS8MC0N8Ag"), + album: Some(AlbumId( + id: "MPREb_Z81wHtF9fhC", + name: "[name]", + )), + view_count: "[view_count]", + is_video: false, + track_nr: Some(14), by_va: false, ), ], + variants: [], ) diff --git a/tests/snapshots/youtube__music_album_one_artist.snap b/tests/snapshots/youtube__music_album_one_artist.snap index a44ac2d..a417bc4 100644 --- a/tests/snapshots/youtube__music_album_one_artist.snap +++ b/tests/snapshots/youtube__music_album_one_artist.snap @@ -16,7 +16,7 @@ MusicAlbum( artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"), description: Some(RichText([ Text( - text: "Unbroken is the third studio album by American singer Demi Lovato. It was released on September 20, 2011, by Hollywood Records. Primarily a pop record, Lovato described the album as \"more mature\" and with more R&B elements than her previous material, citing Rihanna as the major influence. While some of the album\'s lyrical content was heavily influenced by Lovato\'s personal struggles, it also deals with lighter subjects, such as love, self-empowerment, and having fun. Contributions to the album\'s production came from a wide range of producers, including Toby Gad, Ryan Tedder, Timbaland, Jim Beanz and Rock Mafia.\nLovato initially began recording her third studio album in 2010 before going on tour with the Jonas Brothers on their Live in Concert Tour. After withdrawing from the tour to seek treatment for physical and emotional issues, Lovato continued work on the album and described the recording process as therapeutic. She collaborated with artists such as Missy Elliott, Timbaland, Dev, Iyaz, and Jason Derulo on several tracks.\n\nFrom Wikipedia (", + text: "Unbroken is the third studio album by American singer Demi Lovato. It was released on September 20, 2011, by Hollywood Records. Primarily a pop record, Lovato described the album as \"more mature\" and with more R&B elements than her previous material, citing Rihanna as the major influence. While some of the album\'s lyrical content was heavily influenced by Lovato\'s personal struggles, it also deals with lighter subjects, such as love and self empowerment. Contributions to the album\'s production came from a wide range of producers, including Toby Gad, Ryan Tedder, Timbaland, Jim Beanz and Rock Mafia.\nLovato initially began recording her third studio album in 2010 before going on tour with the Jonas Brothers on their Live in Concert Tour. After withdrawing from the tour to seek treatment for physical and emotional issues, Lovato continued work on the album and described the recording process as therapeutic. She collaborated with artists such as Missy Elliott, Timbaland, Dev, Iyaz, and Jason Derulo on several tracks.\n\nFrom Wikipedia (", ), Web( text: "https://en.wikipedia.org/wiki/Unbroke...", diff --git a/tests/snapshots/youtube__music_album_version_no_artist.snap b/tests/snapshots/youtube__music_album_version_no_artist.snap deleted file mode 100644 index f1fb92f..0000000 --- a/tests/snapshots/youtube__music_album_version_no_artist.snap +++ /dev/null @@ -1,138 +0,0 @@ ---- -source: tests/youtube.rs -expression: album ---- -MusicAlbum( - id: "MPREb_h8ltx5oKvyY", - playlist_id: Some("OLAK5uy_lIDfTi_k8V1RJ54MeJJGK_BduAeYbm-0s"), - name: "Pedha Rasi Peddamma Katha", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "S P Balasubramaniam", - ), - ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), - name: "S Janaki", - ), - ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - description: None, - album_type: Ep, - year: Some(1968), - by_va: false, - tracks: [ - TrackItem( - id: "AKJ3IJZKPWc", - name: "Oh Javaraala", - duration: Some(228), - cover: [], - artists: [ - ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "S P Balasubramaniam", - ), - ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), - name: "S Janaki", - ), - ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(1), - by_va: false, - ), - TrackItem( - id: "WnpZuHNB33E", - name: "Siva Manoranjani", - duration: Some(266), - cover: [], - artists: [ - ArtistId( - id: Some("UC1C05NyYICFB2mVGn9_ttEw"), - name: "M Balamuralikrishna", - ), - ], - artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(2), - by_va: false, - ), - TrackItem( - id: "pRqoDGXg1-I", - name: "Gulabi Buggalunna", - duration: Some(154), - cover: [], - artists: [ - ArtistId( - id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"), - name: "L R Eswari", - ), - ], - artist_id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(3), - by_va: false, - ), - TrackItem( - id: "20vIKLJxjBY", - name: "Kuluku Nadakula", - duration: Some(178), - cover: [], - artists: [ - ArtistId( - id: None, - name: "Ghantasala & Chorus", - ), - ], - artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "Pedha Rasi Peddamma Katha", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(4), - by_va: false, - ), - ], - variants: [ - AlbumItem( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w226-h226-l90-rj", - width: 226, - height: 226, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w544-h544-l90-rj", - width: 544, - height: 544, - ), - ], - artists: [], - artist_id: None, - album_type: Ep, - year: None, - by_va: true, - ), - ], -) diff --git a/tests/snapshots/youtube__music_album_version_no_artist_intl.snap b/tests/snapshots/youtube__music_album_version_no_artist_intl.snap deleted file mode 100644 index da0a781..0000000 --- a/tests/snapshots/youtube__music_album_version_no_artist_intl.snap +++ /dev/null @@ -1,138 +0,0 @@ ---- -source: tests/youtube.rs -expression: album ---- -MusicAlbum( - id: "MPREb_h8ltx5oKvyY", - playlist_id: Some("OLAK5uy_lIDfTi_k8V1RJ54MeJJGK_BduAeYbm-0s"), - name: "[name]", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "[name]", - ), - ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), - name: "[name]", - ), - ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - description: "[description]", - album_type: Ep, - year: Some(1968), - by_va: false, - tracks: [ - TrackItem( - id: "AKJ3IJZKPWc", - name: "[name]", - duration: Some(228), - cover: [], - artists: [ - ArtistId( - id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - name: "[name]", - ), - ArtistId( - id: Some("UCWgAqlYG7mXTUxrFiLyDSsg"), - name: "[name]", - ), - ], - artist_id: Some("UCl4iPtukwe7m0kIxUMskkgA"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "[name]", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(1), - by_va: false, - ), - TrackItem( - id: "WnpZuHNB33E", - name: "[name]", - duration: Some(266), - cover: [], - artists: [ - ArtistId( - id: Some("UC1C05NyYICFB2mVGn9_ttEw"), - name: "[name]", - ), - ], - artist_id: Some("UC1C05NyYICFB2mVGn9_ttEw"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "[name]", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(2), - by_va: false, - ), - TrackItem( - id: "pRqoDGXg1-I", - name: "[name]", - duration: Some(154), - cover: [], - artists: [ - ArtistId( - id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"), - name: "[name]", - ), - ], - artist_id: Some("UC_KQPMiRQl3CFAIKTVfCHwA"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "[name]", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(3), - by_va: false, - ), - TrackItem( - id: "20vIKLJxjBY", - name: "[name]", - duration: Some(178), - cover: [], - artists: [ - ArtistId( - id: None, - name: "[name]", - ), - ], - artist_id: Some("UCDqpyYkgWy2h03HamIfODjw"), - album: Some(AlbumId( - id: "MPREb_h8ltx5oKvyY", - name: "[name]", - )), - view_count: "[view_count]", - is_video: false, - track_nr: Some(4), - by_va: false, - ), - ], - variants: [ - AlbumItem( - id: "MPREb_bqWA6mAZFWS", - name: "Pedha Rasi Peddamma Katha", - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w226-h226-l90-rj", - width: 226, - height: 226, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/cyKTDdyucqYv8xfv0t3Vs9CkhmvssXRKsGzlWN_DU6A9uapXvovV0Ys2fXc9-r7Jv7V4UB1OD48iYH5z=w544-h544-l90-rj", - width: 544, - height: 544, - ), - ], - artists: [], - artist_id: None, - album_type: Ep, - year: None, - by_va: true, - ), - ], -) diff --git a/tests/snapshots/youtube__music_artist_basic.snap b/tests/snapshots/youtube__music_artist_basic.snap index 27a6839..c88198a 100644 --- a/tests/snapshots/youtube__music_artist_basic.snap +++ b/tests/snapshots/youtube__music_artist_basic.snap @@ -6,7 +6,7 @@ MusicArtist( id: "UC7cl4MmM6ZZ2TcFyMk_b4pg", name: "Unheilig", header_image: "[header_image]", - description: Some("Unheilig was a German band that featured a variety of influences, including various pop and electronic styles as well as harder, nihilistic hard rock. The band was founded in 1999 and principally consisted of singer Bernd Heinrich \"Der Graf\" along with various musical partners. He was accompanied for live shows with musicians Christoph \"Licky\" Termühlen, Henning Verlage, and Martin \"Potti\" Potthoff. The group\'s debut, Phosphor, came out in 2000.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/Unheilig) under Creative Commons Attribution CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/legalcode)"), + description: Some("Unheilig is a German band that draws from a variety of influences, including various pop and electronic styles as well as heavier, nihilistic hard rock. The band was founded in Aachen in 1999 and principally consisted of singer Bernd Heinrich \"Der Graf\" along with various musical partners. He was accompanied for live shows with musicians Christoph \"Licky\" Termühlen, Henning Verlage, and Martin \"Potti\" Potthoff. The group\'s debut, Phosphor, came out in 2000.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/Unheilig) under Creative Commons Attribution CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/legalcode)"), wikipedia_url: Some("https://en.wikipedia.org/wiki/Unheilig"), subscriber_count: "[subscriber_count]", tracks: "[tracks]", @@ -56,21 +56,6 @@ MusicArtist( year: Some(2008), by_va: false, ), - AlbumItem( - id: "MPREb_88p7e6nBtgz", - name: "Lichter der Stadt", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - name: "Unheilig", - ), - ], - artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: Single, - year: Some(2012), - by_va: false, - ), AlbumItem( id: "MPREb_Md2aZrjaqHX", name: "Stille Winternacht", @@ -101,6 +86,21 @@ MusicArtist( year: Some(2018), by_va: false, ), + AlbumItem( + id: "MPREb_QEClJsuO9xM", + name: "So wie Du warst", + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + name: "Unheilig", + ), + ], + artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + album_type: Single, + year: Some(2012), + by_va: false, + ), AlbumItem( id: "MPREb_QyGCcLWExXj", name: "Als wär\'s das erste Mal (Exklusive Piano Version)", diff --git a/tests/snapshots/youtube__music_artist_basic_intl.snap b/tests/snapshots/youtube__music_artist_basic_intl.snap index 056a221..8a3d210 100644 --- a/tests/snapshots/youtube__music_artist_basic_intl.snap +++ b/tests/snapshots/youtube__music_artist_basic_intl.snap @@ -56,21 +56,6 @@ MusicArtist( year: Some(2008), by_va: false, ), - AlbumItem( - id: "MPREb_88p7e6nBtgz", - name: "[name]", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - name: "[name]", - ), - ], - artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: Single, - year: Some(2012), - by_va: false, - ), AlbumItem( id: "MPREb_Md2aZrjaqHX", name: "[name]", @@ -101,6 +86,21 @@ MusicArtist( year: Some(2018), by_va: false, ), + AlbumItem( + id: "MPREb_QEClJsuO9xM", + name: "[name]", + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + name: "[name]", + ), + ], + artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + album_type: Single, + year: Some(2012), + by_va: false, + ), AlbumItem( id: "MPREb_QyGCcLWExXj", name: "[name]", diff --git a/tests/snapshots/youtube__music_artist_only_singles.snap b/tests/snapshots/youtube__music_artist_only_singles.snap index 9e673ba..3531789 100644 --- a/tests/snapshots/youtube__music_artist_only_singles.snap +++ b/tests/snapshots/youtube__music_artist_only_singles.snap @@ -6,7 +6,7 @@ MusicArtist( id: "UCfwCE5VhPMGxNPFxtVv7lRw", name: "Sulli", header_image: "[header_image]", - description: Some("Choi Jin-ri, better known by her stage name Sulli, was a South Korean singer and actress. She first made her debut as a child actress, appearing as a supporting cast member on the SBS historical drama Ballad of Seodong. Following this, she earned a number of guest roles, appearing in the television series Love Needs a Miracle and Drama City, and the film Vacation. She then subsequently appeared in the independent films Punch Lady and BA:BO, the former being her first time cast in a substantial dramatic role.\nAfter signing a record deal with SM Entertainment, Sulli rose to prominence as a member of the girl group f(x) formed in 2009. The group achieved both critical and commercial success, with four Korean number-one singles and international recognition after becoming the first K-pop act to perform at SXSW. Concurrently with her music career, Sulli returned to acting by starring in the SBS romantic comedy series, To the Beautiful You, a Korean adaptation of the shōjo manga Hana-Kimi where her performance was positively received and earned her two SBS Drama Awards and a nomination at the 49th Paeksang Arts Awards.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/Sulli) under Creative Commons Attribution CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/legalcode)"), + description: Some("Choi Jin-ri, known professionally as Sulli, was a South Korean singer and actress. She first made her debut as a child actress, appearing as a supporting cast member on the SBS historical drama Ballad of Seodong. Following this, she earned a number of guest roles, appearing in the television series Love Needs a Miracle and Drama City, and the film Vacation. She then subsequently appeared in the independent films Punch Lady and BA:BO, the former being her first time cast in a substantial dramatic role.\nAfter signing a record deal with SM Entertainment, Sulli rose to prominence as a member of the girl group f(x) formed in 2009. The group achieved both critical and commercial success, with four Korean number-one singles and international recognition after becoming the first K-pop act to perform at SXSW. Concurrently with her music career, Sulli returned to acting by starring in the SBS romantic comedy series, To the Beautiful You, a Korean adaptation of the shōjo manga Hana-Kimi where her performance was positively received and earned her two SBS Drama Awards and a nomination at the 49th Paeksang Arts Awards.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/Sulli) under Creative Commons Attribution CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/legalcode)"), wikipedia_url: Some("https://en.wikipedia.org/wiki/Sulli"), subscriber_count: "[subscriber_count]", tracks: "[tracks]", diff --git a/tests/snapshots/youtube__music_details_track_details.snap b/tests/snapshots/youtube__music_details_track_details.snap new file mode 100644 index 0000000..f3c8f30 --- /dev/null +++ b/tests/snapshots/youtube__music_details_track_details.snap @@ -0,0 +1,26 @@ +--- +source: tests/youtube.rs +expression: track +--- +TrackDetails( + track: TrackItem( + id: "1eekOcpx_iQ", + name: "NCT 127 \'Highway to Heaven\' NEO CITY Tour Film ver.", + duration: Some(202), + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UCk2E0dbAyEJWnrN2bbQOcbg"), + name: "NCT 127", + ), + ], + artist_id: Some("UCk2E0dbAyEJWnrN2bbQOcbg"), + album: None, + view_count: "[view_count]", + is_video: true, + track_nr: None, + by_va: false, + ), + lyrics_id: None, + related_id: None, +) diff --git a/tests/youtube.rs b/tests/youtube.rs index a7a4391..2106c8d 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -14,7 +14,7 @@ use rustypipe::model::{ richtext::ToPlaintext, traits::{FromYtItem, YtStream}, AlbumType, AudioCodec, AudioFormat, AudioTrackType, Channel, Frameset, MusicGenre, MusicItem, - UrlTarget, Verification, VideoCodec, VideoFormat, YouTubeItem, + UrlTarget, Verification, VideoCodec, VideoFormat, VideoId, YouTubeItem, }; use rustypipe::param::{ search_filter::{self, SearchFilter}, @@ -55,7 +55,7 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) "NCS (NoCopyrightSounds): Empowering Creators through Copyright / Royalty Free Music" )); } - assert_eq!(player_data.details.length, 259); + assert_eq!(player_data.details.duration, 259); assert!(!player_data.details.thumbnail.is_empty()); assert_eq!(player_data.details.channel.id, "UC_aEa8K-EOJ3D6gOs7HcyNg"); assert_eq!(player_data.details.channel.name, "NoCopyrightSounds"); @@ -67,8 +67,8 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) let video = player_data .video_only_streams .into_iter() - .find(|s| s.itag == 247) - .expect("video #247"); + .find(|s| s.itag == 136) + .expect("video #136"); let audio = player_data .audio_streams .into_iter() @@ -76,21 +76,21 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) .expect("audio #140"); // Bitrates may change between requests - assert_approx(f64::from(video.bitrate), 1_851_854.0); - assert_eq!(video.average_bitrate, 923_766); - assert_eq!(video.size, Some(29_909_835)); + assert_approx(video.bitrate, 2_341_408); + assert_eq!(video.average_bitrate, 1_660_210); + assert_eq!(video.size, Some(53_754_490)); assert_eq!(video.width, 1280); assert_eq!(video.height, 720); assert_eq!(video.fps, 30); assert_eq!(video.quality, "720p"); assert!(!video.hdr); - assert_eq!(video.mime, "video/webm; codecs=\"vp09.00.31.08\""); - assert_eq!(video.format, VideoFormat::Webm); - assert_eq!(video.codec, VideoCodec::Vp9); + assert_eq!(video.mime, "video/mp4; codecs=\"avc1.4D401F\""); + assert_eq!(video.format, VideoFormat::Mp4); + assert_eq!(video.codec, VideoCodec::Avc1); - assert_approx(f64::from(audio.bitrate), 130_685.0); - assert_approx(f64::from(audio.average_bitrate), 129_496.0); - assert_approx(audio.size as f64, 4_193_863.0); + assert_approx(audio.bitrate, 130_685); + assert_approx(audio.average_bitrate, 129_496); + assert_approx(audio.size as f64, 4_193_863); assert_eq!(audio.mime, "audio/mp4; codecs=\"mp4a.40.2\""); assert_eq!(audio.format, AudioFormat::M4a); assert_eq!(audio.codec, AudioCodec::Mp4a); @@ -109,9 +109,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) .find(|s| s.itag == 251) .expect("audio stream not found"); - assert_approx(f64::from(video.bitrate), 1_340_829.0); - assert_approx(f64::from(video.average_bitrate), 1_046_557.0); - assert_approx(video.size.expect("video size") as f64, 33_885_572.0); + assert_approx(video.bitrate, 1_340_829); + assert_approx(video.average_bitrate, 1_046_557); + assert_approx(video.size.expect("video size") as f64, 33_885_572); assert_eq!(video.width, 1280); assert_eq!(video.height, 720); assert_eq!(video.fps, 30); @@ -122,9 +122,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) assert_eq!(video.codec, VideoCodec::Av01); assert!(!video.throttled); - assert_approx(f64::from(audio.bitrate), 142_718.0); - assert_approx(f64::from(audio.average_bitrate), 130_708.0); - assert_approx(audio.size as f64, 4_232_344.0); + assert_approx(audio.bitrate, 142_718); + assert_approx(audio.average_bitrate, 130_708); + assert_approx(audio.size as f64, 4_232_344); assert_eq!(audio.mime, "audio/webm; codecs=\"opus\""); assert_eq!(audio.format, AudioFormat::Webm); assert_eq!(audio.codec, AudioCodec::Opus); @@ -227,7 +227,7 @@ async fn get_player( #[case] id: &str, #[case] name: &str, #[case] description: &str, - #[case] length: u32, + #[case] duration: u32, #[case] channel_id: &str, #[case] channel_name: &str, #[case] views: u64, @@ -242,7 +242,7 @@ async fn get_player( assert_eq!(details.name, name); let desc = details.description.expect("description"); assert!(desc.contains(description), "description: {desc}"); - assert_eq!(details.length, length); + assert_eq!(details.duration, duration); assert_eq!(details.channel.id, channel_id); assert_eq!(details.channel.name, channel_name); assert_gte(details.view_count, views, "views"); @@ -352,7 +352,7 @@ async fn get_player_error_paid(rp: RustyPipe) { #[rstest] #[case::long( "PL5dDx681T4bR7ZF1IuWzOv1omlRbE7PiJ", - "Die schönsten deutschen Lieder | Beliebteste Lieder | Beste Deutsche Musik 2022", + "Die schönsten deutschen Lieder | Beliebteste Lieder | Beste Deutsche Musik 2020 2022", true, None, Some(("UCIekuFeMaV78xYfvpmoCnPg", "Best Music")), @@ -418,6 +418,8 @@ async fn playlist_cont(rp: RustyPipe) { .extend_pages(rp.query(), usize::MAX) .await .unwrap(); + + check_duplicates(&playlist.videos.items); assert_gte(playlist.videos.items.len(), 101, "video items"); assert_gteo(playlist.videos.count, 101, "video count"); } @@ -432,6 +434,7 @@ async fn playlist_cont2(rp: RustyPipe) { .unwrap(); playlist.videos.extend_limit(rp.query(), 101).await.unwrap(); + check_duplicates(&playlist.videos.items); assert_gte(playlist.videos.items.len(), 101, "video items"); assert_gteo(playlist.videos.count, 101, "video count"); } @@ -1461,7 +1464,7 @@ async fn trending(rp: RustyPipe) { #[rstest] #[case::long( "PL5dDx681T4bR7ZF1IuWzOv1omlRbE7PiJ", - "Die schönsten deutschen Lieder | Beliebteste Lieder | Beste Deutsche Musik 2022", + "Die schönsten deutschen Lieder | Beliebteste Lieder | Beste Deutsche Musik 2020 2022", true, None, Some(("UCIekuFeMaV78xYfvpmoCnPg", "Best Music")), @@ -1527,6 +1530,8 @@ async fn music_playlist_cont(#[case] id: &str, rp: RustyPipe) { playlist.tracks.extend_pages(rp.query(), 5).await.unwrap(); + check_duplicates(&playlist.tracks.items); + let track_count = playlist.track_count.unwrap(); assert_gte(track_count, 100, "tracks"); @@ -1576,20 +1581,18 @@ async fn music_playlist_not_found(rp: RustyPipe) { #[case::various_artists("various_artists", "MPREb_8QkDeEIawvX")] #[case::single("single", "MPREb_bHfHGoy7vuv")] #[case::ep("ep", "MPREb_u1I69lSAe5v")] -// #[case::audiobook("audiobook", "MPREb_gaoNzsQHedo")] +#[case::audiobook("audiobook", "MPREb_gaoNzsQHedo")] #[case::show("show", "MPREb_aDDw2kVEFtM")] #[case::unavailable("unavailable", "MPREb_AzuWg8qAVVl")] #[case::no_year("no_year", "MPREb_F3Af9UZZVxX")] -#[case::version_no_artist("version_no_artist", "MPREb_h8ltx5oKvyY")] -#[case::no_artist("no_artist", "MPREb_bqWA6mAZFWS")] +#[case::no_artist("no_artist", "MPREb_Z81wHtF9fhC")] #[tokio::test] async fn music_album(#[case] name: &str, #[case] id: &str, rp: RustyPipe, unlocalized: bool) { let album = rp.query().music_album(id).await.unwrap(); assert!(!album.cover.is_empty(), "got no cover"); - // TODO: check full snapshot if A/B#13 is stabilized - if unlocalized && name != "one_artist" { + if unlocalized { insta::assert_ron_snapshot!(format!("music_album_{name}"), album, {".cover" => "[cover]", ".tracks[].view_count" => "[view_count]"} ); @@ -1627,8 +1630,7 @@ async fn music_album_not_found(rp: RustyPipe) { #[rstest] #[case::basic_all("basic_all", "UCFKUUtHjT4iq3p0JJA13SOA", true, 15, 1)] -// TODO: wait for A/B test 6 to stabilize -// #[case::basic("basic", "UC7cl4MmM6ZZ2TcFyMk_b4pg", false, 15, 2)] +#[case::basic("basic", "UC7cl4MmM6ZZ2TcFyMk_b4pg", false, 15, 0)] #[case::no_more_albums("no_more_albums", "UCOR4_bSVIXPsGa4BbCSt60Q", true, 15, 0)] #[case::only_singles("only_singles", "UCfwCE5VhPMGxNPFxtVv7lRw", false, 13, 0)] #[case::no_artist("no_artist", "UCh8gHdtzO2tXd593_bjErWg", false, 0, 0)] @@ -2185,7 +2187,8 @@ async fn music_search_genre_radio(rp: RustyPipe) { } #[rstest] -#[case::default("ed sheer", Some("ed sheeran"), Some("UClmXPfaYhXOYsNn_QUyheWQ"))] +// TODO: reenable when music search suggestions work again +// #[case::default("ed sheer", Some("ed sheeran"), Some("UClmXPfaYhXOYsNn_QUyheWQ"))] #[case::empty("reujbhevmfndxnjrze", None, None)] #[tokio::test] async fn music_search_suggestion( @@ -2218,6 +2221,7 @@ async fn music_search_suggestion( #[rstest] #[case::mv("mv", "ZeerrnuLi5E")] #[case::track("track", "qIZ-vvg-wiU")] +#[case::track_details("track_details", "1eekOcpx_iQ")] #[tokio::test] async fn music_details(#[case] name: &str, #[case] id: &str, rp: RustyPipe) { let track = rp.query().music_details(id).await.unwrap(); @@ -2518,7 +2522,7 @@ async fn music_new_videos(rp: RustyPipe) { assert!(!video.name.is_empty()); assert!(!video.cover.is_empty(), "got no cover"); if let Some(view_count) = video.view_count { - assert_gte(view_count, 1000, "views"); + assert_gte(view_count, 500, "views"); } else { // Podcast episode: shows duration instead of view count assert!(video.duration.is_some(), "no view count or duration"); @@ -2545,7 +2549,9 @@ async fn music_genres(rp: RustyPipe, unlocalized: bool) { .iter() .find(|g| g.id == "ggMPOg1uX1lMbVZmbzl6NlJ3" || g.id == "ggMPOg1uX1BmNzc2V2p0YXJ5") .expect("genre: Pop"); - assert_eq!(pop.name, "Pop"); + if unlocalized { + assert_eq!(pop.name, "Pop"); + } assert!(!pop.is_mood); for g in &genres { @@ -2704,7 +2710,9 @@ fn rp_visitor_data(vdata: &str) -> RustyPipe { /// Assert equality within 10% margin #[track_caller] -fn assert_approx(left: f64, right: f64) { +fn assert_approx, B: Into>(left: A, right: B) { + let left = left.into(); + let right = right.into(); if left != right { let f = left / right; assert!( @@ -2777,3 +2785,12 @@ fn assert_frameset(frameset: &Frameset) { let n = frameset.urls().count() as u32; assert_eq!(n, frameset.page_count); } + +#[track_caller] +fn check_duplicates>(items: &[T]) { + let ids = items + .iter() + .map(|itm| itm.clone().into().id) + .collect::>(); + assert_eq!(ids.len(), items.len(), "duplicate items"); +}