diff --git a/CMakeLists.txt b/CMakeLists.txt index 7142f9a..67f107d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,8 @@ target_include_directories(${BOT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ${OPENSSL_INCLUDE_DIR} /usr/include/opus + /usr/include + /usr/local/include ) target_link_libraries(${BOT_NAME} diff --git a/include/Bot.hpp b/include/Bot.hpp index 1cd1fef..61e7825 100644 --- a/include/Bot.hpp +++ b/include/Bot.hpp @@ -1,22 +1,16 @@ -#ifndef _BOT_HPP_ -#define _BOT_HPP_ -#include +#pragma once +#include #include #include class IBot { -private: public: - IBot(std::string Token, int TotalShard); - void AddCommand(ICommand &Command); - void Start(); + IBot(std::string token, int totalShard); + void start(); + void onCommand(const dpp::slashcommand_t &event); + void onReady(const dpp::ready_t &event); - std::shared_ptr BotCluster; + std::shared_ptr botCluster; + std::vector> commandsArray; protected: - virtual void OnReady(const dpp::ready_t& event); - virtual void OnCommand(const dpp::slashcommand_t& event); - - std::vector CommandsArray; }; - -#endif \ No newline at end of file diff --git a/include/BumbleCeepp.hpp b/include/BumbleCeepp.hpp index 01c33f7..a966981 100644 --- a/include/BumbleCeepp.hpp +++ b/include/BumbleCeepp.hpp @@ -1,28 +1,15 @@ -#ifndef _BUMBLECEEPP_HPP_ -#define _BUMBLECEEPP_HPP_ +#pragma once #include -#include -#include #include #include +#include +#include +#include class BumbleCeepp : public IBot { public: - BumbleCeepp(std::string Token, int TotalShard); - void enqueue(struct FQueueElement Element); - struct FQueueElement QueueDelete(int Index); - - void QueuePlay(); - - uint32_t VoiceJoinedShardId; - bool Repeat; - std::mutex YTDLMutex; - std::list MusicQueue; -protected: + BumbleCeepp(std::string token, int totalShard); private: - void OnCommand(const dpp::slashcommand_t& Event); - std::mutex QueueMutex; - bool QueuePlaying; -}; - -#endif \ No newline at end of file + // 쌍임. + std::unordered_map> queueMap; +}; \ No newline at end of file diff --git a/include/CommandType.hpp b/include/CommandType.hpp deleted file mode 100644 index 7f886c8..0000000 --- a/include/CommandType.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _COMMANDTYPE_HPP_ -#define _COMMANDTYPE_HPP_ -#include -#include -#include -#include - -class ICommand { -public: - virtual void operator() (const dpp::slashcommand_t& Event) = 0; - virtual void operator() (std::list& MusicQueue, const dpp::slashcommand_t& Event) = 0; - - std::vector CommandObjectVector; -}; - -#endif \ No newline at end of file diff --git a/include/Commands/CommandType.hpp b/include/Commands/CommandType.hpp new file mode 100644 index 0000000..2beb393 --- /dev/null +++ b/include/Commands/CommandType.hpp @@ -0,0 +1,18 @@ +#pragma once +#include +#include +#include +#include + +namespace commands { +class ICommand { +public: + //이 생성자를 명시적으로 호출할 것. + ICommand(std::shared_ptr botCluster); + virtual void operator()(const dpp::slashcommand_t &event) = 0; + + std::vector commandObjectVector; +protected: + std::shared_ptr botCluster; +}; +} \ No newline at end of file diff --git a/include/Commands.hpp b/include/Commands/Commands.hpp similarity index 63% rename from include/Commands.hpp rename to include/Commands/Commands.hpp index b72482f..8c726a2 100644 --- a/include/Commands.hpp +++ b/include/Commands/Commands.hpp @@ -1,11 +1,7 @@ -#ifndef _COMMANDS_HPP_ -#define _COMMANDS_HPP_ - +#pragma once #include #include #include #include #include -#include - -#endif \ No newline at end of file +#include \ No newline at end of file diff --git a/include/Commands/Delete.hpp b/include/Commands/Delete.hpp index e7061da..2bdd931 100644 --- a/include/Commands/Delete.hpp +++ b/include/Commands/Delete.hpp @@ -1,19 +1,15 @@ -#ifndef _DELETE_HPP_ -#define _DELETE_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Delete : public ICommand { - public: - Delete(std::shared_ptr Bot); +namespace commands { +class Delete : public ICommand { +public: + Delete(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/Commands/Leave.hpp b/include/Commands/Leave.hpp index e50d24c..194c806 100644 --- a/include/Commands/Leave.hpp +++ b/include/Commands/Leave.hpp @@ -1,19 +1,15 @@ -#ifndef _LEAVE_HPP_ -#define _LEAVE_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Leave : public ICommand { - public: - Leave(std::shared_ptr Bot); +namespace commands { +class Leave : public ICommand { +public: + Leave(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/Commands/Play.hpp b/include/Commands/Play.hpp index f1494ac..c95982e 100644 --- a/include/Commands/Play.hpp +++ b/include/Commands/Play.hpp @@ -1,19 +1,15 @@ -#ifndef _PLAY_HPP_ -#define _PLAY_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Play : public ICommand { - public: - Play(std::shared_ptr Bot); +namespace commands { +class Play : public ICommand { +public: + Play(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/Commands/Queue.hpp b/include/Commands/Queue.hpp index 5d502ef..a78de32 100644 --- a/include/Commands/Queue.hpp +++ b/include/Commands/Queue.hpp @@ -1,19 +1,15 @@ -#ifndef _QUEUE_HPP_ -#define _QUEUE_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Queue : public ICommand { - public: - Queue(std::shared_ptr Bot); +namespace commands { +class Queue : public ICommand { +public: + Queue(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/Commands/Repeat.hpp b/include/Commands/Repeat.hpp index 92a0b4b..f684cbb 100644 --- a/include/Commands/Repeat.hpp +++ b/include/Commands/Repeat.hpp @@ -1,19 +1,15 @@ -#ifndef _REPEAT_HPP_ -#define _REPEAT_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Repeat : public ICommand { - public: - Repeat(std::shared_ptr Bot); +namespace commands { +class Repeat : public ICommand { +public: + Repeat(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/Commands/Skip.hpp b/include/Commands/Skip.hpp index b0fd9cc..e741133 100644 --- a/include/Commands/Skip.hpp +++ b/include/Commands/Skip.hpp @@ -1,19 +1,15 @@ -#ifndef _SKIP_HPP_ -#define _SKIP_HPP_ -#include +#pragma once +#include #include #include -namespace Commands { - class Skip : public ICommand { - public: - Skip(std::shared_ptr Bot); +namespace commands { +class Skip : public ICommand { +public: + Skip(std::shared_ptr botCluster, std::unordered_map> *queueMap); - void operator()(const dpp::slashcommand_t& Event) {} - void operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event); - private: - std::shared_ptr Bot; - }; -} - -#endif \ No newline at end of file + void operator()(const dpp::slashcommand_t& event); +private: + std::unordered_map> *queueMap; +}; +} \ No newline at end of file diff --git a/include/FQueueElement.hpp b/include/FQueueElement.hpp index 3b0315e..3d0887f 100644 --- a/include/FQueueElement.hpp +++ b/include/FQueueElement.hpp @@ -1,5 +1,4 @@ -#ifndef _FQUEUEELEMENT_HPP_ -#define _FQUEUEELEMENT_HPP_ +#pragma once #include #include @@ -7,11 +6,8 @@ struct FQueueElement { std::string URL; std::string title; std::string description; - std::string FileName; + std::string fileName; std::string thumbnail; std::string duration; - dpp::snowflake guild_id; dpp::embed embed; -}; - -#endif \ No newline at end of file +}; \ No newline at end of file diff --git a/include/MusicQueue.hpp b/include/MusicQueue.hpp new file mode 100644 index 0000000..c559805 --- /dev/null +++ b/include/MusicQueue.hpp @@ -0,0 +1,33 @@ +#pragma once +#include +#include + +struct FMusicQueueID { + dpp::snowflake guild_id; + uint32_t shard_id; +}; + +class MusicQueue { +public: + MusicQueue(FMusicQueueID id); + void operator+=(FQueueElement operand); + FQueueElement pop(int index); + FQueueElement peek(int index); + bool empty(); + void clear(); + std::list::iterator begin(); + std::list::iterator end(); + std::size_t size(); + FMusicQueueID getId(); + void play(std::shared_ptr botCluster); + + void markerCallback(std::shared_ptr botCluster); + + bool repeat; +private: + std::list queue; + std::mutex mutex; + std::mutex playMutex; + FMusicQueueID id; + bool queuePlaying; +}; \ No newline at end of file diff --git a/src/Bot.cpp b/src/Bot.cpp index 07b6b06..ec75297 100644 --- a/src/Bot.cpp +++ b/src/Bot.cpp @@ -1,40 +1,42 @@ #include +#include -IBot::IBot(std::string Token, int TotalShard) { - BotCluster = std::make_shared(Token, dpp::i_default_intents, TotalShard); - BotCluster->on_log(dpp::utility::cout_logger()); +IBot::IBot(std::string token, int totalShard) +{ + botCluster = std::make_shared(token, dpp::i_default_intents, totalShard); + botCluster->on_log(dpp::utility::cout_logger()); - BotCluster->on_slashcommand([this](const dpp::slashcommand_t& Event) {OnCommand(Event);}); - BotCluster->on_ready([this](const dpp::ready_t& Event) {OnReady(Event);}); + botCluster->on_slashcommand([this](const dpp::slashcommand_t& event){onCommand(event);}); + botCluster->on_ready([this](const dpp::ready_t &event){onReady(event);}); } -void IBot::AddCommand(ICommand &Command) { - CommandsArray.push_back(&Command); +void IBot::onCommand(const dpp::slashcommand_t &event) +{ + auto _event = event; + for (int i = 0; i < commandsArray.size(); i++) { + for (auto alias : commandsArray[i]->commandObjectVector) { + if (event.command.get_command_name() == alias.name) { + (*commandsArray[i])(_event); + } + } + } } -void IBot::Start() { - BotCluster->start(dpp::st_wait); -} - -void IBot::OnReady(const dpp::ready_t& Event) { +void IBot::onReady(const dpp::ready_t &event) +{ if (!dpp::run_once()) return; //BotCluster->global_bulk_command_delete(); - for (auto command : CommandsArray) { - for (auto Alias : command->CommandObjectVector) { - BotCluster->global_command_create(Alias); + for (int i = 0; i < commandsArray.size(); i++) { + for (auto Alias : commandsArray[i]->commandObjectVector) { + botCluster->global_command_create(Alias); } } } -void IBot::OnCommand(const dpp::slashcommand_t& Event) { - for (auto Command : CommandsArray) { - for (auto Alias : Command->CommandObjectVector) { - if (Event.command.get_command_name() == Alias.name) { - (*Command)(Event); - } - } - } +void IBot::start() +{ + botCluster->start(dpp::st_wait); } \ No newline at end of file diff --git a/src/BumbleCeepp.cpp b/src/BumbleCeepp.cpp index 168ec35..d2886e3 100644 --- a/src/BumbleCeepp.cpp +++ b/src/BumbleCeepp.cpp @@ -1,134 +1,17 @@ #include "BumbleCeepp.hpp" #include -#include -#include -#include #include -#include +#include -BumbleCeepp::BumbleCeepp(std::string Token, int TotalShard) : IBot(Token, TotalShard) { - VoiceJoinedShardId = 0; -} +BumbleCeepp::BumbleCeepp(std::string token, int totalShard) + : IBot(token, totalShard) +{ + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); + commandsArray.push_back(std::make_shared(botCluster, &queueMap)); -void BumbleCeepp::enqueue(struct FQueueElement Element) { - QueueMutex.lock(); - MusicQueue.push_back(Element); - QueueMutex.unlock(); -} - -struct FQueueElement BumbleCeepp::QueueDelete(int Index) { - QueueMutex.lock(); - auto iter = MusicQueue.begin(); - std::advance(iter, Index); - auto ReturnValue = *iter; - MusicQueue.erase(iter); - QueueMutex.unlock(); - - return ReturnValue; -} - -void BumbleCeepp::QueuePlay(){ - if (QueuePlaying) { - return; - } - QueuePlaying = true; - - std::thread T1([this] (){ - dpp::discord_client* JoinedShared = BotCluster->get_shard(VoiceJoinedShardId); - if (!JoinedShared) { - return; - } - - while (!MusicQueue.empty()) { - QueueMutex.lock(); - FQueueElement Music = MusicQueue.front(); - QueueMutex.unlock(); - - dpp::voiceconn* v = JoinedShared->get_voice(Music.guild_id); - if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { - std::cout << "not in voicechat. quit musicplay"; - return; - } - - /* load the audio file with oggz */ - OGGZ *track_og = oggz_open(("Music/" + std::string(Music.FileName.c_str()) + ".ogg").c_str(), OGGZ_READ); - - /* If there was an issue reading the file, tell the user and stop */ - if (!track_og) { - fprintf(stderr, "Error opening file\n"); - return; - } - - /* set read callback, this callback will be called on packets with the serialno, - * -1 means every packet will be handled with this callback. - */ - oggz_set_read_callback( - track_og, -1, - [](OGGZ *oggz, oggz_packet *packet, long serialno, void *user_data) { - dpp::voiceconn *voiceconn = (dpp::voiceconn *)user_data; - - /* send the audio */ - voiceconn->voiceclient->send_audio_opus(packet->op.packet, packet->op.bytes); - - /* make sure to always return 0 here, read more on oggz documentation */ - return 0; - }, - /* this will be the value of void *user_data */ - (void *)v - ); - - // read loop - while (v && v->voiceclient && !v->voiceclient->terminating) { - /* you can tweak this to whatever. Here I use BUFSIZ, defined in - * stdio.h as 8192. - */ - static const constexpr long CHUNK_READ = BUFSIZ * 2; - - const long read_bytes = oggz_read(track_og, CHUNK_READ); - - /* break on eof */ - if (!read_bytes) { - break; - } - } - - /* Don't forget to free the memory */ - oggz_close(track_og); - - std::cout << "audio sending complete\n"; - - int n = 0; - - while(v->voiceclient->is_playing()) {} - - QueueMutex.lock(); - if (MusicQueue.empty()) { - QueueMutex.unlock(); - break; - } - MusicQueue.pop_front(); - QueueMutex.unlock(); - - if (Repeat) { - QueueMutex.lock(); - MusicQueue.push_back(Music); - QueueMutex.unlock(); - } - } - QueuePlaying = false; - - std::cout << "Queue ended\n"; - }); - T1.detach(); -} - -void BumbleCeepp::OnCommand(const dpp::slashcommand_t& Event) { - for (auto Command : CommandsArray) { - for (auto Alias : Command->CommandObjectVector) { - if (Event.command.get_command_name() == Alias.name) { - (*Command)(Event); - (*Command)(MusicQueue, Event); - } - } - } + std::cout << "Command added.\n"; } \ No newline at end of file diff --git a/src/Commands/CommandType.cpp b/src/Commands/CommandType.cpp new file mode 100644 index 0000000..b7abb76 --- /dev/null +++ b/src/Commands/CommandType.cpp @@ -0,0 +1,6 @@ +#include + +commands::ICommand::ICommand(std::shared_ptr botCluster) +{ + this->botCluster = botCluster; +} diff --git a/src/Commands/Delete.cpp b/src/Commands/Delete.cpp index 01dbb44..049e60b 100644 --- a/src/Commands/Delete.cpp +++ b/src/Commands/Delete.cpp @@ -1,35 +1,57 @@ #include #include -namespace Commands { - Delete::Delete(std::shared_ptr Bot) { - this->Bot = Bot; +commands::Delete::Delete(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand Command = dpp::slashcommand("d", "큐의 해당하는 번호의 노래를 지웁니다", botCluster->me.id); - dpp::slashcommand Command = dpp::slashcommand("d", "큐의 해당하는 번호의 노래를 지웁니다", Bot->BotCluster->me.id); + Command.add_option( + dpp::command_option(dpp::co_string, "pos", "큐 번호", botCluster->me.id) + ); - Command.add_option( - dpp::command_option(dpp::co_string, "pos", "큐 번호", Bot->BotCluster->me.id) - ); + commandObjectVector.push_back(Command); +} - CommandObjectVector.push_back(Command); +void commands::Delete::operator()(const dpp::slashcommand_t& event) +{ + if (std::holds_alternative(event.get_parameter("pos"))) { + event.reply("삭제할 노래의 인덱스가 정확하지 않습니다."); + return; } + std::string Pos = std::get(event.get_parameter("pos")); + event.thinking(); - void Delete::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - std::string Pos = std::get(Event.get_parameter("pos")); - if (!atoi(Pos.c_str())) { - dpp::message msg(Event.command.channel_id, "현재 재생중인 곡은 삭제할 수 없습니다!"); - Event.reply(msg); + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; + + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); + } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + auto PopedElement = queue->pop(atoi(Pos.c_str())); + + dpp::embed embed = PopedElement.embed + .set_timestamp(time(0)); + + dpp::message msg(event.command.channel_id, "다음 항목을 큐에서 삭제했습니다!:"); + + if (!atoi(Pos.c_str())) { + dpp::voiceconn* v = event.from->get_voice(event.command.guild_id); + + if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { return; } - auto PopedElement = Bot->QueueDelete(atoi(Pos.c_str())); - - dpp::embed embed = PopedElement.embed - .set_timestamp(time(0)); - - dpp::message msg(Event.command.channel_id, "다음 항목을 큐에서 삭제했습니다!:"); - msg.add_embed(embed); - - Event.reply(msg); + v->voiceclient->stop_audio(); } + + msg.add_embed(embed); + + event.edit_original_response(msg); } \ No newline at end of file diff --git a/src/Commands/Leave.cpp b/src/Commands/Leave.cpp index e356e90..0f3e104 100644 --- a/src/Commands/Leave.cpp +++ b/src/Commands/Leave.cpp @@ -1,30 +1,39 @@ #include #include -namespace Commands { - Leave::Leave(std::shared_ptr Bot) { - this->Bot = Bot; +commands::Leave::Leave(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand command = dpp::slashcommand("l", "음챗을 떠납니다", botCluster->me.id); - dpp::slashcommand Command = dpp::slashcommand("l", "음챗을 떠납니다", Bot->BotCluster->me.id); + commandObjectVector.push_back(command); +} - CommandObjectVector.push_back(Command); +void commands::Leave::operator()(const dpp::slashcommand_t& event) +{ + dpp::voiceconn* v = event.from->get_voice(event.command.guild_id); + + if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { + return; } + v->voiceclient->stop_audio(); - void Leave::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - std::cout << "disconnecting..\n"; + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; - dpp::voiceconn* v = Event.from->get_voice(Event.command.guild_id); - - if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { - return; - } - - v->voiceclient->stop_audio(); - MusicQueue.clear(); - Event.from->disconnect_voice(Event.command.guild_id); - - dpp::message msg(Event.command.channel_id, "음성 채팅방을 떠납니다!"); - - Event.reply(msg); + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + queue->clear(); + event.from->disconnect_voice(event.command.guild_id); + + dpp::message msg(event.command.channel_id, "음성 채팅방을 떠납니다!"); + + event.reply(msg); } \ No newline at end of file diff --git a/src/Commands/Play.cpp b/src/Commands/Play.cpp index b802d65..993c511 100644 --- a/src/Commands/Play.cpp +++ b/src/Commands/Play.cpp @@ -7,114 +7,122 @@ using json = nlohmann::json; -namespace Commands { - Play::Play(std::shared_ptr Bot) { - this->Bot = Bot; +commands::Play::Play(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand command = dpp::slashcommand("p", "노래 재생", botCluster->me.id); - dpp::slashcommand Command = dpp::slashcommand("p", "노래 재생", Bot->BotCluster->me.id); + command.add_option( + dpp::command_option(dpp::co_string, "query", "링크 또는 검색어", botCluster->me.id) + ); - Command.add_option( - dpp::command_option(dpp::co_string, "query", "링크 또는 검색어", Bot->BotCluster->me.id) - ); + commandObjectVector.push_back(command); +} - CommandObjectVector.push_back(Command); - } - - void Play::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - if (std::holds_alternative(Event.get_parameter("query"))) { - Event.reply("노래를 재생하려면 좀 노래를 넣고 재생시켜라 게이야"); - return; - } - - /* Attempt to connect to a voice channel, returns false if we fail to connect. */ - if (!dpp::find_guild(Event.command.guild_id)->connect_member_voice(Event.command.get_issuing_user().id)) { - return Event.reply("우리 게이는 도대체 노래 들을 생각도 없으면서 왜 신청하는거노?"); - } - - std::string Query = std::get(Event.get_parameter("query")); - - std::cout << "query: " << Query << "\n"; - - Event.thinking(); - - Bot->YTDLMutex.lock(); - std::cout << "다운로드 시작" << "\n"; - std::system(("python3 yt-download.py \"" + Query + "\" & wait").c_str()); - std::cout << "다운로드 완료" << "\n"; - Bot->YTDLMutex.unlock(); - - dpp::message msg(Event.command.channel_id, "큐에 다음 곡을 추가했습니다:"); - - std::ifstream infofile, idfile; - json document; - std::string ID; - std::queue RequestedMusic; - idfile.open("Temp/CurMusic"); - while (std::getline(idfile, ID)) { - std::cout << ID << "\n"; - infofile.open("Music/" + ID + ".info.json"); - infofile >> document; - infofile.close(); - - time_t SongLength = int(document["duration"]); - char SongLengthStr[10]; - tm t; - t.tm_sec = SongLength%60; - t.tm_min = SongLength/60; - t.tm_hour = SongLength/360; - strftime(SongLengthStr, sizeof(SongLengthStr), "%X", &t); - - FQueueElement Data = { - std::string(document["webpage_url"]), - std::string(document["title"]), - std::string(document["uploader"]), - std::string(document["id"]), - std::string(document["thumbnail"]), - to_string(document["duration"]), - Event.command.guild_id, - dpp::embed() - .set_color(dpp::colors::sti_blue) - .set_title(Data.title) - .set_description(Data.description) - .set_url(Data.URL) - .set_image(Data.thumbnail) - .add_field( - "길이", - SongLengthStr, - true - ) - }; - Bot->enqueue(Data); - RequestedMusic.push(Data); - } - idfile.close(); - //std::system("rm -f Temp/CurMusic"); - std::cout << "queued\n"; - - msg.add_embed(RequestedMusic.front().embed); - RequestedMusic.pop(); - Event.edit_original_response(msg); - - while (!RequestedMusic.empty()) { - dpp::message followMsg(Event.command.channel_id, ""); - - followMsg.add_embed(RequestedMusic.front().embed); - RequestedMusic.pop(); - - Bot->BotCluster->message_create(followMsg); - } - std::cout << "replied\n"; - - dpp::voiceconn* v = Event.from->get_voice(Event.command.guild_id); - - Bot->VoiceJoinedShardId = Event.from->shard_id; - - /* If the voice channel was invalid, or there is an issue with it, then tell the user. */ - if (v && v->voiceclient && v->voiceclient->is_ready()) { - return Bot->QueuePlay(); - } - - Bot->BotCluster->on_voice_ready([this](const dpp::voice_ready_t& Voice){ Bot->QueuePlay(); }); +void commands::Play::operator()(const dpp::slashcommand_t& event) { + if (std::holds_alternative(event.get_parameter("query"))) + { + event.reply("노래를 재생하려면 검색어 또는 링크를 입력해 주십시오."); return; } + + /* Attempt to connect to a voice channel, returns false if we fail to connect. */ + if (event.from->get_voice(event.command.guild_id) || !dpp::find_guild(event.command.guild_id)->connect_member_voice(event.command.get_issuing_user().id)) + { + return event.reply("노래를 재생할 음성 채팅방에 먼저 참가하고 신청해야 합니다!"); + } + + std::string Query = std::get(event.get_parameter("query")); + + event.thinking(); + + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; + + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); + } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + std::cout << "다운로드 시작" << "\n"; + std::system(("python3 yt-download.py \"" + Query + "\" & wait").c_str()); + std::cout << "다운로드 완료" << "\n"; + + dpp::message msg(event.command.channel_id, "큐에 다음 곡을 추가했습니다:"); + + std::ifstream infofile, idfile; + json document; + std::string ID; + std::queue RequestedMusic; + idfile.open("Temp/CurMusic"); + while (std::getline(idfile, ID)) + { + std::cout << ID << "\n"; + infofile.open("Music/" + ID + ".info.json"); + infofile >> document; + infofile.close(); + + time_t SongLength = int(document["duration"]); + char SongLengthStr[10]; + tm t; + t.tm_sec = SongLength%60; + t.tm_min = SongLength/60; + t.tm_hour = SongLength/360; + strftime(SongLengthStr, sizeof(SongLengthStr), "%X", &t); + + FQueueElement Data = { + std::string(document["webpage_url"]), + std::string(document["title"]), + std::string(document["uploader"]), + std::string(document["id"]), + std::string(document["thumbnail"]), + to_string(document["duration"]), + dpp::embed() + .set_color(dpp::colors::sti_blue) + .set_title(Data.title) + .set_description(Data.description) + .set_url(Data.URL) + .set_image(Data.thumbnail) + .add_field( + "길이", + SongLengthStr, + true + ) + }; + + (*queue) += Data; + + RequestedMusic.push(Data); + } + idfile.close(); + std::system("rm -f Temp/CurMusic"); + std::cout << "queued\n"; + + msg.add_embed(RequestedMusic.front().embed); + RequestedMusic.pop(); + event.edit_original_response(msg); + + while (!RequestedMusic.empty()) { + dpp::message followMsg(event.command.channel_id, ""); + + followMsg.add_embed(RequestedMusic.front().embed); + RequestedMusic.pop(); + + botCluster->message_create(followMsg); + } + std::cout << "replied\n"; + + dpp::voiceconn* v = event.from->get_voice(event.command.guild_id); + + /* If the voice channel was invalid, or there is an issue with it, then tell the user. */ + if (v && v->voiceclient && v->voiceclient->is_ready()) { + queue->play(botCluster); + } + + botCluster->on_voice_ready([this, queue](const dpp::voice_ready_t& Voice){ queue->play(botCluster); }); + return; } \ No newline at end of file diff --git a/src/Commands/Queue.cpp b/src/Commands/Queue.cpp index 4c45841..a6675cd 100644 --- a/src/Commands/Queue.cpp +++ b/src/Commands/Queue.cpp @@ -3,89 +3,96 @@ #include #include -namespace Commands { - dpp::embed MakeEmbed(std::list::iterator& iter, std::list::iterator end, bool Repeat = false, int Index = 0) { - dpp::embed embed = dpp::embed() - .set_color(dpp::colors::sti_blue); +namespace commands { +dpp::embed makeEmbed(std::list::iterator& iter, std::list::iterator end, bool Repeat = false, int Index = 0) +{ + dpp::embed embed = dpp::embed() + .set_color(dpp::colors::sti_blue); - if (iter == end) { - embed - .set_title("큐가 비었습니다!") - .set_timestamp(time(0)); + if (iter == end) { + embed + .set_title("큐가 비었습니다!") + .set_timestamp(time(0)); - if (Repeat) - embed.add_field(":repeat:",""); - - return embed; - } - - std::ostringstream Number; - int Start = Index; - - for (; (Index < Start + 5) && (iter != end); iter++, Index++) { - Number.clear(); - Number.str(""); - if (!Index) { - embed.add_field( - "현재 재생 중", - "", - true - ); - } - else { - Number << Index; - embed.add_field( - Number.str(), - "", - true - ); - } - - embed.add_field( - iter->title, - iter->description, - true - ) - .add_field( - "", - "" - ); - } - - if (iter == end) { - embed.set_timestamp(time(0)); - if (Repeat) - embed.add_field(":repeat:",""); - } + if (Repeat) + embed.add_field(":repeat:",""); return embed; } - Queue::Queue(std::shared_ptr Bot) { - this->Bot = Bot; + std::ostringstream Number; + int Start = Index; - dpp::slashcommand Command = dpp::slashcommand("q", "노래 예약 큐 확인", Bot->BotCluster->me.id); - - CommandObjectVector.push_back(Command); + for (; (Index < Start + 5) && (iter != end); iter++, Index++) { + Number.clear(); + Number.str(""); + Number << Index; + embed.add_field( + Number.str(), + "", + true + ) + .add_field( + iter->title, + iter->description, + true + ) + .add_field( + "", + "" + ); } - void Queue::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - auto iter = MusicQueue.begin(); - dpp::embed embed = MakeEmbed(iter, MusicQueue.end(), Bot->Repeat, 0); - dpp::message msg(Event.command.channel_id, "현재 큐에 있는 항목:"); - - msg.add_embed(embed); + if (iter == end) { + embed.set_timestamp(time(0)); + if (Repeat) + embed.add_field(":repeat:",""); + } - Event.reply(msg, [this, Event](const dpp::confirmation_callback_t &_Event) { - auto _iter = Bot->MusicQueue.begin(); - std::advance(_iter, 5); - for (int i = 0; i < ceil(Bot->MusicQueue.size() / 5.0) - 1; i++) { - dpp::embed FollowEmbed = MakeEmbed(_iter, Bot->MusicQueue.end(), Bot->Repeat, (i+1)*5); - dpp::message FollowMsg(Event.command.channel_id, ""); - FollowMsg.add_embed(FollowEmbed); + return embed; +} +} - Bot->BotCluster->message_create(FollowMsg); +commands::Queue::Queue(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand command = dpp::slashcommand("q", "노래 예약 큐 확인", botCluster->me.id); + + commandObjectVector.push_back(command); +} + +void commands::Queue::operator()(const dpp::slashcommand_t& event) { + dpp::message msg(event.command.channel_id, "지금 재생 중:"); + + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; + + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); + } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + msg.add_embed(queue->peek(0).embed); + + event.reply(msg, [this, queue, event](const dpp::confirmation_callback_t &_event) { + auto iter = queue->begin(); + iter++; + for (int i = 0; i < ceil((queue->size() - 1) / 5.0); i++) { + dpp::embed followEmbed = makeEmbed(iter, queue->end(), queue->repeat, i * 5 + 1); + + dpp::message followMsg; + followMsg.channel_id = event.command.channel_id; + + if (i == 0) { + followMsg.content = "현재 큐에 있는 항목:"; } - }); - } + followMsg.add_embed(followEmbed); + + botCluster->message_create(followMsg); + } + }); } \ No newline at end of file diff --git a/src/Commands/Repeat.cpp b/src/Commands/Repeat.cpp index 4abf086..ecbf3a5 100644 --- a/src/Commands/Repeat.cpp +++ b/src/Commands/Repeat.cpp @@ -2,25 +2,35 @@ #include #include -namespace Commands { - Repeat::Repeat(std::shared_ptr Bot) { - this->Bot = Bot; +commands::Repeat::Repeat(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand command = dpp::slashcommand("r", "반복 켜기/끄기", botCluster->me.id); - dpp::slashcommand Command = dpp::slashcommand("r", "반복 켜기/끄기", Bot->BotCluster->me.id); + commandObjectVector.push_back(command); +} - CommandObjectVector.push_back(Command); +void commands::Repeat::operator()(const dpp::slashcommand_t& event) { + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; + + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); + } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + if (queue->repeat) { + event.reply("반복을 껐습니다."); + queue->repeat = false; + } + else { + event.reply("반복을 켰습니다."); + queue->repeat = true; } - void Repeat::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - if (Bot->Repeat) { - Event.reply("반복을 껐습니다."); - Bot->Repeat = false; - } - else { - Event.reply("반복을 켰습니다."); - Bot->Repeat = true; - } - - return; - } + return; } \ No newline at end of file diff --git a/src/Commands/Skip.cpp b/src/Commands/Skip.cpp index 22c223c..c484917 100644 --- a/src/Commands/Skip.cpp +++ b/src/Commands/Skip.cpp @@ -2,26 +2,38 @@ #include #include -namespace Commands { - Skip::Skip(std::shared_ptr Bot) { - this->Bot = Bot; +commands::Skip::Skip(std::shared_ptr botCluster, std::unordered_map> *queueMap) + : ICommand(botCluster) +{ + this->queueMap = queueMap; + dpp::slashcommand command = dpp::slashcommand("s", "현재곡 스킵", botCluster->me.id); - dpp::slashcommand Command = dpp::slashcommand("s", "현재곡 스킵", Bot->BotCluster->me.id); + commandObjectVector.push_back(command); +} - CommandObjectVector.push_back(Command); - } - - void Skip::operator()(std::list& MusicQueue, const dpp::slashcommand_t& Event) { - dpp::voiceconn* v = Event.from->get_voice(Event.command.guild_id); - - if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { - return; - } - - v->voiceclient->stop_audio(); - - Event.reply("스킵했습니다!"); +void commands::Skip::operator()(const dpp::slashcommand_t& event) { + dpp::voiceconn* v = event.from->get_voice(event.command.guild_id); + if (!v || !v->voiceclient || !v->voiceclient->is_ready()) { return; } + + v->voiceclient->stop_audio(); + + auto findResult = queueMap->find(event.command.guild_id); + if (findResult == queueMap->end()) + { + FMusicQueueID queueID; + queueID.guild_id = event.command.guild_id; + queueID.shard_id = event.from->shard_id; + + (*queueMap)[queueID.guild_id] = std::make_shared(queueID); + } + std::shared_ptr queue = queueMap->find(event.command.guild_id)->second; + + queue->play(botCluster); + + event.reply("스킵했습니다!"); + + return; } \ No newline at end of file diff --git a/src/Music/Archive b/src/Music/Archive new file mode 100644 index 0000000..67acd46 --- /dev/null +++ b/src/Music/Archive @@ -0,0 +1 @@ +OSeStDEAZJQ diff --git a/src/Music/OSeStDEAZJQ.info.json b/src/Music/OSeStDEAZJQ.info.json new file mode 100644 index 0000000..153e1fd --- /dev/null +++ b/src/Music/OSeStDEAZJQ.info.json @@ -0,0 +1 @@ +{"id": "OSeStDEAZJQ", "title": "Koi", "formats": [{"format_id": "sb3", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLCj9aS8qMoa45SrN_Akjm5ZfxrdBw", "width": 48, "height": 27, "fps": 0.398406374501992, "rows": 10, "columns": 10, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLCj9aS8qMoa45SrN_Akjm5ZfxrdBw", "duration": 251.0}], "resolution": "48x27", "aspect_ratio": 1.78, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb3 - 48x27 (storyboard)"}, {"format_id": "sb2", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "width": 45, "height": 45, "fps": 0.5059760956175299, "rows": 10, "columns": 10, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "duration": 197.63779527559055}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "duration": 53.36220472440945}], "resolution": "45x45", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb2 - 45x45 (storyboard)"}, {"format_id": "sb1", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "width": 90, "height": 90, "fps": 0.5059760956175299, "rows": 5, "columns": 5, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M3.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M4.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M5.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 3.9527559055118218}], "resolution": "90x90", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb1 - 90x90 (storyboard)"}, {"format_id": "sb0", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "width": 180, "height": 180, "fps": 0.5059760956175299, "rows": 3, "columns": 3, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M3.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M4.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M5.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M6.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M7.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M8.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M9.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M10.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M11.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M12.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M13.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M14.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 1.9763779527558825}], "resolution": "180x180", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb0 - 180x180 (storyboard)"}, {"format_id": "233", "format_note": "Default", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/233/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D1533800%3Bdur%3D251.266%3Bgir%3Dyes%3Bitag%3D139%3Blmt%3D1602593273864867/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5431432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIgD5FW_RC2_PQ_fMKanUfI1UtPL3_FV71NZxyTv8CrLYMCIQCC-hdMjSmJI5OWmo8s80OhikoIDLy3KnesEKCyCiMeiA%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRQIhAPn36caMfyxQSExuRD8u8Cvk-p5UmrnqLSXEjwhp19ItAiB-9s_N5ONHw3a_l0Nr35cRE0hGKwOB7e-LKzQ4AcaH-g%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "language": null, "ext": "mp4", "protocol": "m3u8_native", "preference": null, "quality": -1, "has_drm": false, "vcodec": "none", "source_preference": -1, "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "mp4", "video_ext": "none", "vbr": 0, "abr": null, "tbr": null, "format": "233 - audio only (Default)"}, {"format_id": "234", "format_note": "Default", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/234/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D4068249%3Bdur%3D251.266%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1602593274361022/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5431432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhAMLOvzrz5cNDE4QZ_5kmtGPgwPAEkH3FzlWkBSW8ejx_AiEA6NOQ6YmS9Vg8YevyJX5iL3UIB-yMejJkKnVxhcUX98A%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRQIgP_a0VY9RIbVfpbSN6xTeVM_cjZbL-0PJ56H2XuG9VZsCIQDA4Om60WXenjQgnUI4GRH_dxlnC29tbm2wIGFqRhQHrg%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "language": null, "ext": "mp4", "protocol": "m3u8_native", "preference": null, "quality": -1, "has_drm": false, "vcodec": "none", "source_preference": -1, "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "mp4", "video_ext": "none", "vbr": 0, "abr": null, "tbr": null, "format": "234 - audio only (Default)"}, {"asr": 22050, "filesize": 1533800, "format_id": "139", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 48.834, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=139&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=1533800&dur=251.266&lmt=1602593273864867&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgJgOzS-CyDnBRTeMuaQo-xA9tFnNAl8ZKcp1DmZkZNEUCIQCUthBHg405FyMgZrcqg9e3P0aFBVBAc73ue5skB0yDwA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "m4a", "vcodec": "none", "acodec": "mp4a.40.5", "dynamic_range": null, "container": "m4a_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "m4a", "video_ext": "none", "vbr": 0, "abr": 48.834, "format": "139 - audio only (low)"}, {"asr": 48000, "filesize": 1583103, "format_id": "249", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 50.401, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=249&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=1583103&dur=251.281&lmt=1602593270700577&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgY5pGTCPBLkRdifD3EJweOjc7-j_BDbuyngg8HBewNUYCIQCBzGXpsas1aFHsPsIS1bYobXre4aibro1I_qByQG5Z6A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 50.401, "format": "249 - audio only (low)"}, {"asr": 48000, "filesize": 2089078, "format_id": "250", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 66.509, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=250&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=2089078&dur=251.281&lmt=1602593277086810&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgRxMEFRUOKfcMscSU2O09kseNG1dK7LL04ZY8dn2fDj8CIQCRfLtUFFZA6qOyWBlz90Lw8zNDQsT3HvNhZz4PvGmCDA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 66.509, "format": "250 - audio only (low)"}, {"asr": 44100, "filesize": 4068249, "format_id": "140", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 129.528, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=4068249&dur=251.266&lmt=1602593274361022&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAKmVbbQW7C4VjFDZPsmj8qBpGRwnm4MSPT2AZpZ3yPK_AiEAnmgBF0df4XOe8i8iRfpFB0PTXtuUrEUMj1bhq_3Xo3c%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "m4a", "vcodec": "none", "acodec": "mp4a.40.2", "dynamic_range": null, "container": "m4a_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "m4a", "video_ext": "none", "vbr": 0, "abr": 129.528, "format": "140 - audio only (medium)"}, {"asr": 48000, "filesize": 4117210, "format_id": "251", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 131.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4117210&dur=251.281&lmt=1602593503983926&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAJJscgkHQgRJ3B-g3cnfrMSaGvKT1PyBS8aZYHxiySUkAiAs1RmuR-vBFkKim7RkQhl6GY4pHIsvzqKbtksnCngCNg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 131.079, "format": "251 - audio only (medium)"}, {"asr": 22050, "filesize": 1265255, "format_id": "17", "format_note": "144p", "source_preference": -1, "fps": 6, "audio_channels": 1, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 40.266, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=17&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2F3gpp&gir=yes&clen=1265255&dur=251.379&lmt=1602592998590315&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5431422&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgGz03m8iWGIH7xZopDj9aagR6oswpLoQjYERLTXiy8VwCIQDFqGQCS6ytDCUqyOtnso_dWIkPXmsXG2zxuheAlzQXkg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 176, "language": null, "language_preference": -1, "preference": -2, "ext": "3gp", "vcodec": "mp4v.20.3", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "176x144", "aspect_ratio": 1.22, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "3gp", "audio_ext": "none", "vbr": null, "abr": null, "format": "17 - 176x144 (144p)"}, {"asr": null, "filesize": 636125, "format_id": "394", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 20.255, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=394&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=636125&dur=251.240&lmt=1621630332800055&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAPw9eM78Ie8CcrLu26Y_u7WW7fAtycBnqISd_1AnvPI_AiANpdRp1ncJdiW2LEF6A5XSmnOao4euka8c-9SFbyQLKA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 20.255, "format": "394 - 144x144 (144p)"}, {"format_id": "269", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/269/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D283600%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D160%3Blmt%3D1602593500181365/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhANhrdLnA7MTH5Kn8WjD1FLxuui-40cFE-s2rLuQb07IgAiEA7jMXpGnghhYe0DTeNCDfznoLLo0NFLZhdSo0zKTVVcA%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgAcyCZIBvzEcS3S-VwGL3D0yHOt3FAZBqpNCaOfiXKCwCIHxABl2kxrJdycyAxi96U2QXXu0q5F-hFhpzdoCnpDvN/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 74.385, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 0, "has_drm": false, "width": 144, "height": 144, "vcodec": "avc1.4D400B", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 74.385, "format": "269 - 144x144"}, {"asr": null, "filesize": 283600, "format_id": "160", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 9.03, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=160&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=283600&dur=251.240&lmt=1602593500181365&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgB6-MudaI6lUQlrZRQjjX2_XePMmXDfw8qPH6cSZervICICC12uWK1FCfFVgE3F6NjY7v69nArZqeSHLjWSt2-N4L&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D400B", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 9.03, "format": "160 - 144x144 (144p)"}, {"format_id": "603", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/603/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D653305%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D278%3Blmt%3D1602593292567506/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIhAPkQk1TZo7g4cNVErQJZq-O1eLgJ_1ETgQeCaaZSToXBAh9GcwGWy4A5pYeo3nPSq8KCRthLzTsPohD0-D_HohxN/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRgIhAP9IqyrgTK51Sz6L_XPOuPVnObLch1Y91GFlFvqiAsk2AiEAxAEb2JiCL8V80_5Rifg2eRvBnYf74vXqZcxNSS-04X4%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 90.27, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 0, "has_drm": false, "width": 144, "height": 144, "vcodec": "vp09.00.11.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 90.27, "format": "603 - 144x144"}, {"asr": null, "filesize": 653305, "format_id": "278", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 20.802, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=278&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=653305&dur=251.240&lmt=1602593292567506&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAIBYLXJLYtwqpnV4FLKOoAGQaefcnIM7L2PMoOnxBC1iAiBk5n6-SbTgnBGGdl2sca5gbCFla9_DiSIg0bSLRl-OKA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.11.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 20.802, "format": "278 - 144x144 (144p)"}, {"asr": null, "filesize": 1150124, "format_id": "395", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 36.622, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=395&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1150124&dur=251.240&lmt=1621630332771371&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgKHuNiLnrNrJpR69PDBMvaQnC_4iW7LnGbYkk8J0Aw7cCIDe5NINf-Zvrx88a6to3vfF_QA4YSeZbA-bPBbjwb6tg&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 36.622, "format": "395 - 240x240 (240p)"}, {"format_id": "229", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/229/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D442908%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D133%3Blmt%3D1602593292871285/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAONXjITjnCq7VjS7hCVE-xxX_R-cM57pbJbbtICo3sdQAiApoKmQ3gNk73LvNB3-j9Z2uFi8YY5ow9qg1J7bBD1Upw%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRgIhAM6wMyIehAvVUbhfWnmDm3a5L0xTTy4gnMRrShRaddAtAiEA4lK5YaKKrR29uewSAZWsnSGN1CxOrZuM7o9k882_teE%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 94.782, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 5, "has_drm": false, "width": 240, "height": 240, "vcodec": "avc1.4D400C", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 94.782, "format": "229 - 240x240"}, {"asr": null, "filesize": 442908, "format_id": "133", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 14.103, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=133&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=442908&dur=251.240&lmt=1602593292871285&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgehIoI51lacMgf9l3CP7a6rf82nF-rAPHvCf0Gnn8sK0CIH2Td5t9t87ns4b1MWIRD8VF795Bk9L8a1S-ZdmldHbm&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D400C", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 14.103, "format": "133 - 240x240 (240p)"}, {"format_id": "604", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/604/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D1276909%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D242%3Blmt%3D1602593287678060/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIgSAEN-IeMqb-Q7ypAK0DuAvgamZSCSKw2_SBVy62CetkCIQCo2cIrrrPY9-wj86nTiFB7aE4im7JAOZfySRLjr-sHHA%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgUcM1hPrxLXJTxNCqVNO6UW2iejTXRcCFQXbtj24nczMCIDZ7Yd7zAEQ1ZC4OBMof_1AxBSIKCLpr40FcwZOeXwGf/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 130.923, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 5, "has_drm": false, "width": 240, "height": 240, "vcodec": "vp09.00.20.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 130.923, "format": "604 - 240x240"}, {"asr": null, "filesize": 1276909, "format_id": "242", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 40.659, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=242&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=1276909&dur=251.240&lmt=1602593287678060&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgZ0sxbfm5EX8wJPba_b2rX8twzNZnZqZ5wbHDytL80kgCID-4x2tdBu2xP_3xJHnltem81LZ9sW7yjIdlIxthwM9K&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.20.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 40.659, "format": "242 - 240x240 (240p)"}, {"asr": null, "filesize": 1890361, "format_id": "396", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 60.192, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=396&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1890361&dur=251.240&lmt=1621630328267658&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAM52NqRIN2evo7KnxW4LIoUCLEXO1L4YUGpa5yr20fwNAiEAomFbdm2J-lBBylGXSZnHBhRWSBGKoSajhI1vHM37N4o%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 60.192, "format": "396 - 360x360 (360p)"}, {"format_id": "230", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/230/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D707556%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D134%3Blmt%3D1602593285381104/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgf_6R744aOLbpdEjDCoKEn4E6txW2Y-W1kDxzE7wxCqMCIFJqjksVw7BIuPFEQN9rCWo4okN3BgbovUsGRdNcfwwg/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRQIhAPP_Durtek8GXI8rqC9FP1dyA8OYa_V24BjXTnAt0XmAAiBQi1ksRg75B4AfmaojIGeRwCrpH0zhAlVASVR-aFyPkw%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 213.621, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 6, "has_drm": false, "width": 360, "height": 360, "vcodec": "avc1.4D4015", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 213.621, "format": "230 - 360x360"}, {"asr": null, "filesize": 707556, "format_id": "134", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 22.53, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=134&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=707556&dur=251.240&lmt=1602593285381104&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAJPo8Ucgn1CxMsnKnJFiUV9DzWbpTh4lcRcRJ-_njbl0AiEAm_H3QPyG3jvqsGFkMLPcxvCkyy-PX7MaQgY-814_DW0%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D4015", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 22.53, "format": "134 - 360x360 (360p)"}, {"asr": 44100, "filesize": null, "format_id": "18", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": 2, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 151.473, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=251.309&lmt=1664236985764040&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5438434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRQIgPqw5IvrcLhAobQC6HZr3KnpHcuz43Xry9e9XluOJF0ICIQCg7qUB2dLbOebAETQ1vjiZYnRteH2r4DKkLjrxL2rzqw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.42001E", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "filesize_approx": 4866524, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "vbr": null, "abr": null, "format": "18 - 360x360 (360p)"}, {"format_id": "605", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/605/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D2174544%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D243%3Blmt%3D1602593430771724/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgefmoGEmC-DttgT77PDhqfSkMEspaqPVuFDIh1v0z3zYCICNVsWeU_cDDi7ByJ_npCwayOLgfoH94ZSKmUeLo8xS-/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgXoc_3kj9ZcWBEhrus7ZOxd5s_ld-NWx5LkqiLLHi2-cCIDSEfYFgVoGfIR92fl7qs3BRZd4pHrTbRz4PlgQw_L8o/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 347.2, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 6, "has_drm": false, "width": 360, "height": 360, "vcodec": "vp09.00.21.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 347.2, "format": "605 - 360x360"}, {"asr": null, "filesize": 2174544, "format_id": "243", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 69.241, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=243&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=2174544&dur=251.240&lmt=1602593430771724&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgCw4oECwzy3Ze8E3W73_iOeWNpROhaPwDDyzBzorHz7ECIQCPR0Qb2TrSxHkraxdb8jM5ZCAuPmfYzYe_YJhZha0x6Q%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.21.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 69.241, "format": "243 - 360x360 (360p)"}, {"asr": null, "filesize": 2968494, "format_id": "397", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 94.522, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=397&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=2968494&dur=251.240&lmt=1621630329824959&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgczinuDWzz9yGRr9Cqb9lXMU6erI8n3rTAZj-ANJHfx8CIBRPNK7juZlNlrLYaO9Gj17Ojv56SRTh5FXLG_iQxyIP&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.01M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 94.522, "format": "397 - 480x480 (480p)"}, {"format_id": "231", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/231/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D1038847%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D135%3Blmt%3D1602593607672111/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhALfyOSs7wO02nrEikZ6bp9-Sbq6OkFA45rKAXfflh5UxAiAf5ZReCcL8bfZsO8_avI16YL1zmT1BgjGBQbg2Za8BxA%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgdPMzbk1ARZ97uROqQDvy5mPPVITDu-uYjiBZcQIBvP0CIHooqbXEsUIvlVaFiWDBJU4MzAxllOoc8Qj-LmDG4yYb/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 255.911, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 7, "has_drm": false, "width": 480, "height": 480, "vcodec": "avc1.4D401E", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 255.911, "format": "231 - 480x480"}, {"asr": null, "filesize": 1038847, "format_id": "135", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 33.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=135&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1038847&dur=251.240&lmt=1602593607672111&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhALywxjZz3qg1o14MamqzhYKwMhCvloupc5iSqHzRmBqbAiB4Z-4fidm93id2C7y1bTKBfinlI-H8m_Sfy8OJOKiOPw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D401E", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 33.079, "format": "135 - 480x480 (480p)"}, {"format_id": "606", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/606/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D3655539%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D244%3Blmt%3D1602593315447279/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAJZPokN6SopnG4A7LhhmMAWrTvV5cAvpaKzKK60nY-_UAiAI6PS0OwHZoln7ULAmmBzZa7_9eojLh0sgbd9Rmr5sJQ%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgZFgStL66O3ydwN6xOI0mQ7FZdU62o6SHmu68-pYzpLkCIH2sBxwvUljvjI0IgSYLEsSluBIHUDgvyIwvk8C29sDG/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 523.797, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 7, "has_drm": false, "width": 480, "height": 480, "vcodec": "vp09.00.30.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 523.797, "format": "606 - 480x480"}, {"asr": null, "filesize": 3655539, "format_id": "244", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 116.399, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=244&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=3655539&dur=251.240&lmt=1602593315447279&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgOw58Bl5f04v-Vi72pyGnBBzdt-OynmiqaC3-cxoMsqYCICKYSlo-8ba0qs9cRCGpgBgLhx2CeIsd_gcZva6VfYQv&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.30.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 116.399, "format": "244 - 480x480 (480p)"}, {"asr": 44100, "filesize": null, "format_id": "22", "format_note": "720p", "source_preference": -5, "fps": 25, "audio_channels": 2, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 176.945, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=22&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=251.309&lmt=1602593369467048&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRQIgVPEoRjDzqWRpG1a10ztpZKD8gMOVgYU3ObPoykb4Bn8CIQCkUebY9dLyPa7sgPscWamezxPicJJCA-eV9G-ujRsHcg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.64001F", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "filesize_approx": 5684888, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "vbr": null, "abr": null, "format": "22 - 720x720 (720p)"}, {"asr": null, "filesize": 5235451, "format_id": "398", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 166.707, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=398&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=5235451&dur=251.240&lmt=1621630329588908&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAKu-CVlEnLXaHrp9Cdkts6LgrqISovV3ZT52S57hhEs3AiBX2L4G5Jh4hOOUuDOFZfb3p5-AuvBFGzIMaiOt2TvAYQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.04M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 166.707, "format": "398 - 720x720 (720p)"}, {"format_id": "232", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/232/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D1504413%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D136%3Blmt%3D1602593339419503/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAI648aWttNnvldzKLoMleBwDXnhkPIErw-t5Ix-g0omTAiAx5QAG0PmwOpA0j_58yqHDbo4q1A2knKzUWfKvajFgog%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRQIhAK2VMHawHzjWuHqNJ7vYAyUph6Ocytn9cwnzQdAkWKyjAiBWZatFG3tdA18gHJdal8zEy8v6stKWz4pSRx90CEloUg%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 311.717, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 8, "has_drm": false, "width": 720, "height": 720, "vcodec": "avc1.4D401F", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 311.717, "format": "232 - 720x720"}, {"asr": null, "filesize": 1504413, "format_id": "136", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 47.903, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=136&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1504413&dur=251.240&lmt=1602593339419503&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgTXmRe89ENIKtlzTNoYFQnwq2IKyqKekdSJZ_pa8BOZMCIQDXH0RAIDFm_a9l_8T7zEMu4JrDx9mL_vCw_RsylRrUiQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D401F", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 47.903, "format": "136 - 720x720 (720p)"}, {"format_id": "609", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/609/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D7761033%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D247%3Blmt%3D1602593307494843/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgPutRAfzEuza9UOc_4mipHHwMlWVhHVPP0YrVD4TF_NECIAjmgnvYSQMi4L0QJP0NA3_ZTVNCiOj_VEYyo1h73p-q/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRgIhANhZA0ZIW4d___o4VApeI3eNnIWe3Ke0PrXGJktBHotDAiEA6tBt9GQF8WNlf3VOoT7ILBTsCvtn6tzxWxo4EMFr99c%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 907.196, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 8, "has_drm": false, "width": 720, "height": 720, "vcodec": "vp09.00.31.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 907.196, "format": "609 - 720x720"}, {"asr": null, "filesize": 7761033, "format_id": "247", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 247.127, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=247&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=7761033&dur=251.240&lmt=1602593307494843&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgK2QLjZGATHl0N8rQQCjxo9Ytuhon6TkSJaJs0QMorn8CIQCcFtbLN1DgrCo9vRGFVM0RrXpGlvqsZyIraWTTqCrM7A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.31.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 247.127, "format": "247 - 720x720 (720p)"}, {"asr": null, "filesize": 11546743, "format_id": "399", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 367.672, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=399&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=11546743&dur=251.240&lmt=1621630330664920&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhANq7zAxqQP_5LKSXysH-aWXoza0fOjHe3pHknmF61cibAiEA_YXwZhyxXLi8r0Pd3Sp2CONWHVCZ1SigJgi3lsNWDf0%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.08M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 367.672, "format": "399 - 1080x1080 (1080p)"}, {"format_id": "270", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/270/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D4615620%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D137%3Blmt%3D1602593511916465/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgeIsyW30Crw-ey53V17KCkry0DB57E4XPtT94hXqL09gCICaNo1vt2OjcmnBsZSI1qafInBknN4tp185ER19OVTPD/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRAIgHkZzRlDbVKmcXgjQJw-qMkgKOxycecHDIg4Jt83x8NECIAzz4Ld4--xBjpBAEIKE7Y88vKrL7ktaE49GXRFzkcvW/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 712.966, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 9, "has_drm": false, "width": 1080, "height": 1080, "vcodec": "avc1.640020", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 712.966, "format": "270 - 1080x1080"}, {"asr": null, "filesize": 4615620, "format_id": "137", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 146.97, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=4615620&dur=251.240&lmt=1602593511916465&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAKJ0DFw0suFlOwk4f0X8O3SvQE-3Vu609GK87m9Ym_WQAiEA-uh3i75ajoy5QLJxyDgktKaJv6SAmjuFz5htNyZSp78%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.640020", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 146.97, "format": "137 - 1080x1080 (1080p)"}, {"format_id": "614", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/itag/614/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D15221861%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D248%3Blmt%3D1602593388078745/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pcm2cms/yes/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgJUPFxrEtvROPAQsUvqgsbPh_oDvATX23o84lUR2kGmMCIDhoFSkxxcavPLo8SnIZXhwV2dTSiVuGGGzf1nnRLsfa/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,initcwndbps/lsig/AAO5W4owRQIhAK8nYbfHpD3eMPuIdYCUvG9-MqTkBfZwq39rEdLwOw8NAiBl6d4IrJpH4Jzoa2dBwJBfcnjP6sxRQcOiyO3vXlLMeg%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185197/ei/DXmTZbqNJf6i1d8Pw4-skA4/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pcm2cms/yes/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRQIgb8zp4m7mkot4Hvjq9lh3M0zNXyC-Iod3TU3OG0eK1eECIQDZyyluSgoMZTg0lSsp6FvgkbF-W_no99ag1YdYMqTc3Q%3D%3D/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRQIhALJDHZk71y296JhyhihQejNMAgSaxDO32VOtQW7XYs18AiBZLBklS0hNNx81X4G1KiCHX9JT9vcjp9WOvI0zy-k6SA%3D%3D/file/index.m3u8", "tbr": 1452.972, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 9, "has_drm": false, "width": 1080, "height": 1080, "vcodec": "vp09.00.40.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 1452.972, "format": "614 - 1080x1080"}, {"asr": null, "filesize": 15221861, "format_id": "248", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 484.695, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZbqNJf6i1d8Pw4-skA4&ip=121.168.215.105&id=o-AO7uxTbJlqqK9yVE6VEOfaKaIWrWl8l-j5bI8GtQFwsz&itag=248&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=15221861&dur=251.240&lmt=1602593388078745&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAOi-ksU4isHJd5_M0myc1P3TSNjqk6CpbcEtZcCBvPbvAiEAmARH49HlObB-DJA1Y2FjGKy8Boz0K6VubC_u--Q_3U0%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWIuFesUDKTDVUtcA2Sy8ZNhATMm6zWqe_hDxzFNZJ3ECIBilIaGLlZWUy2AMqDqcixuE6OrM_mON980IjHQU6CK-", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.40.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 484.695, "format": "248 - 1080x1080 (1080p)"}], "thumbnails": [{"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/3.jpg", "preference": -37, "id": "0"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/3.webp", "preference": -36, "id": "1"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/2.jpg", "preference": -35, "id": "2"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/2.webp", "preference": -34, "id": "3"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/1.jpg", "preference": -33, "id": "4"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/1.webp", "preference": -32, "id": "5"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq3.jpg", "preference": -31, "id": "6"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq3.webp", "preference": -30, "id": "7"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq2.jpg", "preference": -29, "id": "8"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq2.webp", "preference": -28, "id": "9"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq1.jpg", "preference": -27, "id": "10"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq1.webp", "preference": -26, "id": "11"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq3.jpg", "preference": -25, "id": "12"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq3.webp", "preference": -24, "id": "13"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq2.jpg", "preference": -23, "id": "14"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq2.webp", "preference": -22, "id": "15"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq1.jpg", "preference": -21, "id": "16"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq1.webp", "preference": -20, "id": "17"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd3.jpg", "preference": -19, "id": "18"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd3.webp", "preference": -18, "id": "19"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd2.jpg", "preference": -17, "id": "20"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd2.webp", "preference": -16, "id": "21"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd1.jpg", "preference": -15, "id": "22"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd1.webp", "preference": -14, "id": "23"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/default.jpg", "preference": -13, "id": "24"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/default.webp", "height": 90, "width": 120, "preference": -12, "id": "25", "resolution": "120x90"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mqdefault.jpg", "height": 180, "width": 320, "preference": -11, "id": "26", "resolution": "320x180"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mqdefault.webp", "height": 180, "width": 320, "preference": -10, "id": "27", "resolution": "320x180"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/0.jpg", "preference": -9, "id": "28"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/0.webp", "preference": -8, "id": "29"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWdR_BnjUXE7jWwnqe1izrTUKBkQ", "height": 94, "width": 168, "preference": -7, "id": "30", "resolution": "168x94"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAk5341xSWFIWlQGz86dJIp13s09Q", "height": 110, "width": 196, "preference": -7, "id": "31", "resolution": "196x110"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeG6jf3G99AmNcq1F4Hpvuv7xoDQ", "height": 138, "width": 246, "preference": -7, "id": "32", "resolution": "246x138"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoZeoP4NDMP2NTwElJwtRYqAc40Q", "height": 188, "width": 336, "preference": -7, "id": "33", "resolution": "336x188"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg", "height": 360, "width": 480, "preference": -7, "id": "34", "resolution": "480x360"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hqdefault.webp", "height": 360, "width": 480, "preference": -6, "id": "35", "resolution": "480x360"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sddefault.jpg", "height": 480, "width": 640, "preference": -5, "id": "36", "resolution": "640x480"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sddefault.webp", "height": 480, "width": 640, "preference": -4, "id": "37", "resolution": "640x480"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq720.jpg", "preference": -3, "id": "38"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq720.webp", "preference": -2, "id": "39"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/maxresdefault.jpg", "height": 720, "width": 1280, "preference": -1, "id": "40", "resolution": "1280x720"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/maxresdefault.webp", "height": 1080, "width": 1920, "preference": 0, "id": "41", "resolution": "1920x1080"}], "thumbnail": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/maxresdefault.webp", "description": "Provided to YouTube by JVCKENWOOD Victor Entertainment Corp.\n\nKoi · Gen Hoshino\n\nPOP VIRUS\n\n℗ JVCKENWOOD Victor Entertainment\n\nReleased on: 2018-12-19\n\nComposer: 星野 源\nLyricist: 星野 源\n\nAuto-generated by YouTube.", "channel_id": "UCUrcaHP1Qrlrxoxg9z1jlmg", "channel_url": "https://www.youtube.com/channel/UCUrcaHP1Qrlrxoxg9z1jlmg", "duration": 251, "view_count": 2695375, "average_rating": null, "age_limit": 0, "webpage_url": "https://www.youtube.com/watch?v=OSeStDEAZJQ", "categories": ["Music"], "tags": ["Gen Hoshino", "星野 源", "ホシノゲン", "POP VIRUS", "恋"], "playable_in_embed": true, "live_status": "not_live", "release_timestamp": null, "_format_sort_fields": ["quality", "res", "fps", "hdr:12", "source", "vcodec:vp9.2", "channels", "acodec", "lang", "proto"], "automatic_captions": {}, "subtitles": {}, "album": "POP VIRUS", "artist": "Gen Hoshino", "track": "Koi", "release_date": null, "release_year": null, "comment_count": 477, "chapters": null, "heatmap": [{"start_time": 0.0, "end_time": 2.52, "value": 0.3301894793438552}, {"start_time": 2.52, "end_time": 5.04, "value": 0.0}, {"start_time": 5.04, "end_time": 7.56, "value": 0.14381878514099602}, {"start_time": 7.56, "end_time": 10.08, "value": 0.2175265326021499}, {"start_time": 10.08, "end_time": 12.6, "value": 0.2203850181008967}, {"start_time": 12.6, "end_time": 15.12, "value": 0.238588860814319}, {"start_time": 15.12, "end_time": 17.64, "value": 0.2479100091797976}, {"start_time": 17.64, "end_time": 20.16, "value": 0.23999116691176353}, {"start_time": 20.16, "end_time": 22.68, "value": 0.24474215223315512}, {"start_time": 22.68, "end_time": 25.2, "value": 0.3149476015445103}, {"start_time": 25.2, "end_time": 27.72, "value": 0.3318494171815301}, {"start_time": 27.72, "end_time": 30.24, "value": 0.34540308699365097}, {"start_time": 30.24, "end_time": 32.76, "value": 0.41297781219979635}, {"start_time": 32.76, "end_time": 35.28, "value": 0.4747534229550414}, {"start_time": 35.28, "end_time": 37.8, "value": 0.5206214738989177}, {"start_time": 37.8, "end_time": 40.32, "value": 0.5952861392523559}, {"start_time": 40.32, "end_time": 42.84, "value": 0.6444591306982353}, {"start_time": 42.84, "end_time": 45.36, "value": 0.7592791431904411}, {"start_time": 45.36, "end_time": 47.88, "value": 0.8226362821232909}, {"start_time": 47.88, "end_time": 50.4, "value": 0.9028242946197638}, {"start_time": 50.4, "end_time": 52.92, "value": 0.8904691724687148}, {"start_time": 52.92, "end_time": 55.44, "value": 0.8266383751811557}, {"start_time": 55.44, "end_time": 57.96, "value": 0.7679266085581744}, {"start_time": 57.96, "end_time": 60.48, "value": 0.7229103958941074}, {"start_time": 60.48, "end_time": 63.0, "value": 0.7106528857688601}, {"start_time": 63.0, "end_time": 65.52, "value": 0.7211037733182062}, {"start_time": 65.52, "end_time": 68.04, "value": 0.7106235488212148}, {"start_time": 68.04, "end_time": 70.56, "value": 0.71371779669922}, {"start_time": 70.56, "end_time": 73.08, "value": 0.703072751896367}, {"start_time": 73.08, "end_time": 75.6, "value": 0.7552301110163439}, {"start_time": 75.6, "end_time": 78.12, "value": 0.7401301173637925}, {"start_time": 78.12, "end_time": 80.64, "value": 0.6899265989569915}, {"start_time": 80.64, "end_time": 83.16, "value": 0.7044617230176091}, {"start_time": 83.16, "end_time": 85.68, "value": 0.5920761437809138}, {"start_time": 85.68, "end_time": 88.2, "value": 0.5118513267501222}, {"start_time": 88.2, "end_time": 90.72, "value": 0.49705323695879333}, {"start_time": 90.72, "end_time": 93.24, "value": 0.48535846282928724}, {"start_time": 93.24, "end_time": 95.76, "value": 0.4926665631872513}, {"start_time": 95.76, "end_time": 98.28, "value": 0.5022293413215175}, {"start_time": 98.28, "end_time": 100.8, "value": 0.5229977666581856}, {"start_time": 100.8, "end_time": 103.32, "value": 0.5247787860797783}, {"start_time": 103.32, "end_time": 105.84, "value": 0.5386631633017188}, {"start_time": 105.84, "end_time": 108.36, "value": 0.5443054584324789}, {"start_time": 108.36, "end_time": 110.88, "value": 0.5733447694089245}, {"start_time": 110.88, "end_time": 113.4, "value": 0.5719280615371813}, {"start_time": 113.4, "end_time": 115.92, "value": 0.5840991610166373}, {"start_time": 115.92, "end_time": 118.44, "value": 0.5757466653225011}, {"start_time": 118.44, "end_time": 120.96, "value": 0.5821447869044133}, {"start_time": 120.96, "end_time": 123.48, "value": 0.5803530995018586}, {"start_time": 123.48, "end_time": 126.0, "value": 0.6153622126245953}, {"start_time": 126.0, "end_time": 128.52, "value": 0.6245878825604648}, {"start_time": 128.52, "end_time": 131.04, "value": 0.6876943239407095}, {"start_time": 131.04, "end_time": 133.56, "value": 0.7098837243415056}, {"start_time": 133.56, "end_time": 136.08, "value": 0.8337704538532481}, {"start_time": 136.08, "end_time": 138.6, "value": 0.8578475534852561}, {"start_time": 138.6, "end_time": 141.12, "value": 1.0}, {"start_time": 141.12, "end_time": 143.64, "value": 0.9916165671610743}, {"start_time": 143.64, "end_time": 146.16, "value": 0.9600953504138376}, {"start_time": 146.16, "end_time": 148.68, "value": 0.8826138046874041}, {"start_time": 148.68, "end_time": 151.2, "value": 0.8489051184439256}, {"start_time": 151.2, "end_time": 153.72, "value": 0.7925979147297614}, {"start_time": 153.72, "end_time": 156.24, "value": 0.8039555806608708}, {"start_time": 156.24, "end_time": 158.76, "value": 0.7402885368810771}, {"start_time": 158.76, "end_time": 161.28, "value": 0.7498859859534694}, {"start_time": 161.28, "end_time": 163.8, "value": 0.7420130160035716}, {"start_time": 163.8, "end_time": 166.32, "value": 0.7704890575852278}, {"start_time": 166.32, "end_time": 168.84, "value": 0.7527738083998615}, {"start_time": 168.84, "end_time": 171.36, "value": 0.7665573732017118}, {"start_time": 171.36, "end_time": 173.88, "value": 0.7602317938903406}, {"start_time": 173.88, "end_time": 176.4, "value": 0.7929312891348214}, {"start_time": 176.4, "end_time": 178.92, "value": 0.7841936793279599}, {"start_time": 178.92, "end_time": 181.44, "value": 0.8107713536974422}, {"start_time": 181.44, "end_time": 183.96, "value": 0.7749850781616295}, {"start_time": 183.96, "end_time": 186.48, "value": 0.7431880941065273}, {"start_time": 186.48, "end_time": 189.0, "value": 0.6959092026804369}, {"start_time": 189.0, "end_time": 191.52, "value": 0.7055770604271779}, {"start_time": 191.52, "end_time": 194.04, "value": 0.693716399193714}, {"start_time": 194.04, "end_time": 196.56, "value": 0.713857013850773}, {"start_time": 196.56, "end_time": 199.08, "value": 0.6977232928430116}, {"start_time": 199.08, "end_time": 201.6, "value": 0.7274336198219621}, {"start_time": 201.6, "end_time": 204.12, "value": 0.7053962381498734}, {"start_time": 204.12, "end_time": 206.64, "value": 0.7322848841643957}, {"start_time": 206.64, "end_time": 209.16, "value": 0.7139690276508732}, {"start_time": 209.16, "end_time": 211.68, "value": 0.7258867625824835}, {"start_time": 211.68, "end_time": 214.2, "value": 0.6890704934847973}, {"start_time": 214.2, "end_time": 216.72, "value": 0.6537626768951268}, {"start_time": 216.72, "end_time": 219.24, "value": 0.6272623453876184}, {"start_time": 219.24, "end_time": 221.76, "value": 0.6585659353232318}, {"start_time": 221.76, "end_time": 224.28, "value": 0.6855628613445176}, {"start_time": 224.28, "end_time": 226.8, "value": 0.7008948835829908}, {"start_time": 226.8, "end_time": 229.32, "value": 0.6585856710880114}, {"start_time": 229.32, "end_time": 231.84, "value": 0.5322719759074318}, {"start_time": 231.84, "end_time": 234.36, "value": 0.47569380547683476}, {"start_time": 234.36, "end_time": 236.88, "value": 0.4624495071126096}, {"start_time": 236.88, "end_time": 239.4, "value": 0.4437538704768427}, {"start_time": 239.4, "end_time": 241.92, "value": 0.4421190023944283}, {"start_time": 241.92, "end_time": 244.44, "value": 0.4238138138618678}, {"start_time": 244.44, "end_time": 246.96, "value": 0.4072853775585152}, {"start_time": 246.96, "end_time": 249.48, "value": 0.37038803180551844}, {"start_time": 249.48, "end_time": 252.0, "value": 0.3553179084996605}], "channel": "Gen Hoshino", "channel_follower_count": 1550000, "channel_is_verified": true, "uploader": "Gen Hoshino", "uploader_id": null, "uploader_url": null, "upload_date": "20190829", "creator": "Gen Hoshino", "alt_title": "Koi", "availability": "public", "original_url": "https://www.youtube.com/watch?v=OSeStDEAZJQ", "webpage_url_basename": "watch", "webpage_url_domain": "youtube.com", "extractor": "youtube", "extractor_key": "Youtube", "playlist": null, "playlist_index": null, "display_id": "OSeStDEAZJQ", "fulltitle": "Koi", "duration_string": "4:11", "is_live": false, "was_live": false, "requested_subtitles": null, "_has_drm": null, "epoch": 1704163597, "asr": 48000, "filesize": 4117210, "format_id": "251", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 131.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185197&ei=DXmTZeODLoqU1d8PhaCmmAY&ip=121.168.215.105&id=o-ALnlIV9hxFpcvjcI5cTgM96olxIcYLiR3b2MQ3NLtIU0&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f9ambb3Vyv9658m6LXpCc-zvosE&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4117210&dur=251.281&lmt=1602593503983926&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAJJscgkHQgRJ3B-g3cnfrMSaGvKT1PyBS8aZYHxiySUkAiAs1RmuR-vBFkKim7RkQhl6GY4pHIsvzqKbtksnCngCNg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRgIhAIwwM4ueE2y2w0NfpMN9rEIXBCPd3b5foagg3bN73BdHAiEAy1_WYPJ0869GP3j1_M7XO7BGP4St8Ls9_srNIV4eKmQ%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 131.079, "format": "251 - audio only (medium)", "_filename": "Temp/OSeStDEAZJQ.temp", "filename": "Temp/OSeStDEAZJQ.temp", "_type": "video", "_version": {"version": "2023.11.16", "current_git_head": null, "release_git_head": "24f827875c6ba513f12ed09a3aef2bbed223760d", "repository": "yt-dlp/yt-dlp"}} \ No newline at end of file diff --git a/src/Music/OSeStDEAZJQ.ogg b/src/Music/OSeStDEAZJQ.ogg new file mode 100644 index 0000000..a764339 Binary files /dev/null and b/src/Music/OSeStDEAZJQ.ogg differ diff --git a/src/MusicQueue.cpp b/src/MusicQueue.cpp new file mode 100644 index 0000000..2ba41e6 --- /dev/null +++ b/src/MusicQueue.cpp @@ -0,0 +1,214 @@ +#include +#include +#include +#include +#include + +MusicQueue::MusicQueue(FMusicQueueID id) +{ + this->id = id; + repeat = false; + queuePlaying = false; +} + +void MusicQueue::operator+=(FQueueElement operand) +{ + mutex.lock(); + queue.push_back(operand); + mutex.unlock(); +} + +FQueueElement MusicQueue::pop(int index) +{ + mutex.lock(); + auto iter = queue.begin(); + std::advance(iter, index); + auto returnValue = *iter; + queue.erase(iter); + mutex.unlock(); + + return returnValue; +} + +FQueueElement MusicQueue::peek(int index) +{ + mutex.lock(); + auto iter = queue.begin(); + std::advance(iter, index); + auto returnValue = *iter; + mutex.unlock(); + + return returnValue; +} + +bool MusicQueue::empty() +{ + mutex.lock(); + bool empty = queue.empty(); + mutex.unlock(); + + return empty; +} + +void MusicQueue::clear() +{ + mutex.lock(); + queue.clear(); + mutex.unlock(); +} + +std::list::iterator MusicQueue::begin() +{ + mutex.lock(); + auto returnValue = queue.begin(); + mutex.unlock(); + + return returnValue; +} + +std::list::iterator MusicQueue::end() +{ + mutex.lock(); + auto returnValue = queue.end(); + mutex.unlock(); + + return returnValue; +} + +std::size_t MusicQueue::size() +{ + mutex.lock(); + auto returnValue = queue.size(); + mutex.unlock(); + + return returnValue; +} + +FMusicQueueID MusicQueue::getId() +{ + return id; +} + +void MusicQueue::markerCallback(std::shared_ptr botCluster) +{ + std::cout << "Music play started\n"; + + dpp::discord_client* joinedShard = botCluster->get_shard(id.shard_id); + if (!joinedShard) + { + std::cout << "No shard\n"; + queuePlaying = false; + return; + } + + if (empty()) + { + std::cout << "Queue ended\n"; + queuePlaying = false; + return; + } + + FQueueElement music = peek(0); + + dpp::voiceconn* v = joinedShard->get_voice(id.guild_id); + if (!v || !v->voiceclient || !v->voiceclient->is_ready()) + { + std::cout << "not in voicechat. quit musicplay"; + queuePlaying = false; + return; + } + + /* load the audio file with oggz */ + OGGZ *track_og = oggz_open(("Music/" + music.fileName + ".ogg").c_str(), OGGZ_READ); + + /* If there was an issue reading the file, tell the user and stop */ + if (!track_og) { + fprintf(stderr, "Error opening file\n"); + queuePlaying = false; + return; + } + + /* set read callback, this callback will be called on packets with the serialno, + * -1 means every packet will be handled with this callback. + */ + oggz_set_read_callback( + track_og, -1, + [](OGGZ *oggz, oggz_packet *packet, long serialno, void *user_data) { + dpp::voiceconn *voiceconn = (dpp::voiceconn *)user_data; + + /* send the audio */ + voiceconn->voiceclient->send_audio_opus(packet->op.packet, packet->op.bytes); + + /* make sure to always return 0 here, read more on oggz documentation */ + return 0; + }, + /* this will be the value of void *user_data */ + (void *)v + ); + + // read loop + while (v && v->voiceclient && !v->voiceclient->terminating) { + /* you can tweak this to whatever. Here I use BUFSIZ, defined in + * stdio.h as 8192. + */ + static const constexpr long CHUNK_READ = BUFSIZ * 2; + + const long read_bytes = oggz_read(track_og, CHUNK_READ); + + /* break on eof */ + if (!read_bytes) { + break; + } + } + + /* Don't forget to free the memory */ + oggz_close(track_og); + + v->voiceclient->insert_marker(music.fileName + " end"); + + std::cout << "audio sending complete\n"; +} + +void MusicQueue::play(std::shared_ptr botCluster) +{ + playMutex.lock(); + if (queuePlaying) + { + std::cout << "Already Playing\n"; + playMutex.unlock(); + return; + } + queuePlaying = true; + playMutex.unlock(); + + dpp::discord_client* joinedShard = botCluster->get_shard(id.shard_id); + if (!joinedShard) + { + std::cout << "No shard\n"; + queuePlaying = false; + return; + } + + dpp::voiceconn* v = joinedShard->get_voice(id.guild_id); + if (!v || !v->voiceclient || !v->voiceclient->is_ready()) + { + std::cout << "not in voicechat. quit musicplay"; + queuePlaying = false; + return; + } + + botCluster->on_voice_track_marker([this, botCluster, v](const dpp::voice_track_marker_t &marker) + { + std::cout << marker.track_meta << " Marker reached.\n"; + + auto music = pop(0); + if (repeat) + { + (*this) += music; + } + + markerCallback(botCluster); + }); + + markerCallback(botCluster); +} diff --git a/src/main.cpp b/src/main.cpp index aa2a411..48b5c15 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,6 @@ #include -#include #include +#include using json = nlohmann::json; @@ -9,23 +9,9 @@ int main() { std::ifstream configfile("config.json"); configfile >> configdocument; - std::shared_ptr BumbleBee = std::make_shared(configdocument["token"], 1); + std::shared_ptr bumbleBee = std::make_shared(configdocument["token"], 1); - Commands::Play Command1(BumbleBee); - Commands::Repeat Command2(BumbleBee); - Commands::Queue Command3(BumbleBee); - Commands::Skip Command4(BumbleBee); - Commands::Leave Command5(BumbleBee); - Commands::Delete Command6(BumbleBee); - - BumbleBee->AddCommand(Command1); - BumbleBee->AddCommand(Command2); - BumbleBee->AddCommand(Command3); - BumbleBee->AddCommand(Command4); - BumbleBee->AddCommand(Command5); - BumbleBee->AddCommand(Command6); - - BumbleBee->Start(); + bumbleBee->start(); return 0; } \ No newline at end of file diff --git a/src/out b/src/out new file mode 100644 index 0000000..0d80084 --- /dev/null +++ b/src/out @@ -0,0 +1 @@ +{"id": "koi", "title": "koi", "_type": "playlist", "entries": [{"id": "OSeStDEAZJQ", "title": "Koi", "formats": [{"format_id": "sb3", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLCj9aS8qMoa45SrN_Akjm5ZfxrdBw", "width": 48, "height": 27, "fps": 0.398406374501992, "rows": 10, "columns": 10, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLCj9aS8qMoa45SrN_Akjm5ZfxrdBw", "duration": 251.0}], "resolution": "48x27", "aspect_ratio": 1.78, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb3 - 48x27 (storyboard)"}, {"format_id": "sb2", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "width": 45, "height": 45, "fps": 0.5059760956175299, "rows": 10, "columns": 10, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "duration": 197.63779527559055}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L1/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLBf-VzmA_hFOHwGTw3ne0znvf8IVg", "duration": 53.36220472440945}], "resolution": "45x45", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb2 - 45x45 (storyboard)"}, {"format_id": "sb1", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "width": 90, "height": 90, "fps": 0.5059760956175299, "rows": 5, "columns": 5, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M3.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M4.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 49.40944881889764}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L2/M5.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDZ0rCSXxixAhQZNbtZtvIVKWnppQ", "duration": 3.9527559055118218}], "resolution": "90x90", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb1 - 90x90 (storyboard)"}, {"format_id": "sb0", "format_note": "storyboard", "ext": "mhtml", "protocol": "mhtml", "acodec": "none", "vcodec": "none", "url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "width": 180, "height": 180, "fps": 0.5059760956175299, "rows": 3, "columns": 3, "fragments": [{"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M3.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M4.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M5.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M6.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M7.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M8.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M9.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M10.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M11.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M12.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M13.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 17.78740157480315}, {"url": "https://i.ytimg.com/sb/OSeStDEAZJQ/storyboard3_L3/M14.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgigktipBg==&sigh=rs$AOn4CLDpW7CGPwbX0yY_sYme0COaFZIzSg", "duration": 1.9763779527558825}], "resolution": "180x180", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "none", "video_ext": "none", "vbr": 0, "abr": 0, "tbr": null, "format": "sb0 - 180x180 (storyboard)"}, {"format_id": "233", "format_note": "Default", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/233/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D1533800%3Bdur%3D251.266%3Bgir%3Dyes%3Bitag%3D139%3Blmt%3D1602593273864867/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5431432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAP7xY3qJO3ShekDJPV5aOOfKxMTWiMnbdowNYIdsH_fgAiADwUCh3zdVQg5JDpS1yvUCRI8mV2JigyNVEOxc79XcCg%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgW4j0WrckHlMzjTxGNi9yXRccHOYeFre50f15V--bjysCIGyTn-ODE1oOoWM-GYVBNrFa_dPB-b7sARMq8qQlalbe/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "language": null, "ext": "mp4", "protocol": "m3u8_native", "preference": null, "quality": -1, "has_drm": false, "vcodec": "none", "source_preference": -1, "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "mp4", "video_ext": "none", "vbr": 0, "abr": null, "tbr": null, "format": "233 - audio only (Default)"}, {"format_id": "234", "format_note": "Default", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/234/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D4068249%3Bdur%3D251.266%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1602593274361022/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5431432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhAJR8K3UEa1NRUm51xrx3wmxGKPR9W4zH5ur8kV9KXFTgAiEAmz4S9Zk9C2G95rU3iGKnPOzYbmszQdZsGM5wbalTU30%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgPoL9cbqPIzThece8Re525fHj0oKfvv0PbqrhzCUrF3sCIGTrWYRcYS2YurBz9nPSt8Z2gqvN8X4V-f_AIUeLW5-a/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "language": null, "ext": "mp4", "protocol": "m3u8_native", "preference": null, "quality": -1, "has_drm": false, "vcodec": "none", "source_preference": -1, "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "mp4", "video_ext": "none", "vbr": 0, "abr": null, "tbr": null, "format": "234 - audio only (Default)"}, {"asr": 22050, "filesize": 1533800, "format_id": "139", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 48.834, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=139&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=1533800&dur=251.266&lmt=1602593273864867&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgaJrljgx4t-2NwwJZt37Xr7OJXnL-xwsXbHPecz4_Yo0CIGg_A4AiI771OMfESDo8o19WR7pd3oOAkhR74bwdLQLl&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "m4a", "vcodec": "none", "acodec": "mp4a.40.5", "dynamic_range": null, "container": "m4a_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "m4a", "video_ext": "none", "vbr": 0, "abr": 48.834, "format": "139 - audio only (low)"}, {"asr": 48000, "filesize": 1583103, "format_id": "249", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 50.401, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=249&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=1583103&dur=251.281&lmt=1602593270700577&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgBIph36o4TCoa8H3njMStCp6aVzh1ZynUj1T6Y02Hz1cCIBmOxK75pQlD5TQHoHiyCdsIGZqv596EB76FMJruO6RQ&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 50.401, "format": "249 - audio only (low)"}, {"asr": 48000, "filesize": 2089078, "format_id": "250", "format_note": "low", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 2.0, "has_drm": false, "tbr": 66.509, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=250&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=2089078&dur=251.281&lmt=1602593277086810&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgYmat4LkA8XWAOIZUUnY9gfDjc0bdQt17lC5Kmr7pnP4CIARg9_i6GXlT-OfErsA103M3xL_fWrUwfj7BCUzNS8ea&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 66.509, "format": "250 - audio only (low)"}, {"asr": 44100, "filesize": 4068249, "format_id": "140", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 129.528, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=4068249&dur=251.266&lmt=1602593274361022&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhALb2Avce3zZ8kJwUpz9UfNV3rzSrCutGbU8JrvEbA9UIAiB3x4tx_JetnQMhOeltR2ef43zm6vBNfcC2Qb5f_5-8jA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "m4a", "vcodec": "none", "acodec": "mp4a.40.2", "dynamic_range": null, "container": "m4a_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "m4a", "video_ext": "none", "vbr": 0, "abr": 129.528, "format": "140 - audio only (medium)"}, {"asr": 48000, "filesize": 4117210, "format_id": "251", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 131.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4117210&dur=251.281&lmt=1602593503983926&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgQrgbm-Nqq6lpVTEN_LzAhHs5f_4bdxyxM5kZ_ZC5yJUCIQDmEXZVgxJQubGuPacRcn9-MOOe0oyYfIDPFGlMTHUlAg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 131.079, "format": "251 - audio only (medium)"}, {"asr": 22050, "filesize": 1265255, "format_id": "17", "format_note": "144p", "source_preference": -1, "fps": 6, "audio_channels": 1, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 40.266, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=17&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2F3gpp&gir=yes&clen=1265255&dur=251.379&lmt=1602592998590315&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5431422&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgIeRjFONyAb6Rd7lfDtM4vR0fnB4NDEI3YUfXCQ__N30CIEthy78_GpQRPbp-ZQy40mZ1DZ1mWA8kznU20oJAa6Ei&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 176, "language": null, "language_preference": -1, "preference": -2, "ext": "3gp", "vcodec": "mp4v.20.3", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "176x144", "aspect_ratio": 1.22, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "3gp", "audio_ext": "none", "vbr": null, "abr": null, "format": "17 - 176x144 (144p)"}, {"asr": null, "filesize": 636125, "format_id": "394", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 20.255, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=394&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=636125&dur=251.240&lmt=1621630332800055&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgGd5dA29gr_JUeW9uIOXerFYGn8Ph3ZXis3vYscWaOloCIHKUIJUPHrjiLwGS6dpNLbOBQxgu7eUs8mraMQuBTAQM&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 20.255, "format": "394 - 144x144 (144p)"}, {"format_id": "269", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/269/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D283600%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D160%3Blmt%3D1602593500181365/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhAI4NcjwzNAHKM1gNJlbfzhHTeyOcdjJBBO0NsRi89mAwAiEA07kT2fBy9zwWNP7OoLXBzW9PABe9HtH2SwFLXsfjl6s%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgYJPx8Uy8_edW5nAX-Ui4dVU8344Noy4C19J-g1VNr8oCIAXKEVaSPM7UtJTO2G4z_3r9FYHRQnxr9pcV0MYYg2GL/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 74.385, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 0, "has_drm": false, "width": 144, "height": 144, "vcodec": "avc1.4D400B", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 74.385, "format": "269 - 144x144"}, {"asr": null, "filesize": 283600, "format_id": "160", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 9.03, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=160&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=283600&dur=251.240&lmt=1602593500181365&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAJ2bJbJvwC-gIXOJcOSaaXEpMJ1lby7_mRe2MiEtdKtpAiEA1aI5euiFSCo2JM9B1j2LKEtzWj66WpPzsWQjgCJp2PM%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D400B", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 9.03, "format": "160 - 144x144 (144p)"}, {"format_id": "603", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/603/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D653305%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D278%3Blmt%3D1602593292567506/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIgJLuPGUNa8tMrWrwWX1Ez73L-J088_iR370K9EQ2f_JcCIQDARBp8lckQTyM84WIc-DCYx5ruFYoKvS_f9orI21gkmg%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRgIhAJ1xT07_XRl4sQNErF85PEjzJ7lWTdOIlFugTFvrPkSnAiEAvG6veH7dBwjTWMlgoBQknsqiw_NF1qZ67DaWzHQ0-ew%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 90.27, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 0, "has_drm": false, "width": 144, "height": 144, "vcodec": "vp09.00.11.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 90.27, "format": "603 - 144x144"}, {"asr": null, "filesize": 653305, "format_id": "278", "format_note": "144p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 144, "quality": 0.0, "has_drm": false, "tbr": 20.802, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=278&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=653305&dur=251.240&lmt=1602593292567506&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgQOUQqycCfcvZhLPZ6-4MwgHqTE-FZrWnhp-li-LAcdkCIQCYeG6zV_nlvtzE8eosqEbhEAfLfiS6o5AHhJzzjFW24A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 144, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.11.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "144x144", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 20.802, "format": "278 - 144x144 (144p)"}, {"asr": null, "filesize": 1150124, "format_id": "395", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 36.622, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=395&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1150124&dur=251.240&lmt=1621630332771371&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhANGLBuv-G9f7GdBJ980Yso6MIaczHjKU7kOxhg1_hIkJAiAuli2dVE0yEnScgEzi-59o8uEboyaFg6ueHO12cV1_qA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 36.622, "format": "395 - 240x240 (240p)"}, {"format_id": "229", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/229/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D442908%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D133%3Blmt%3D1602593292871285/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIgD34IRg2QYYvCWWCxfJ4aE9BiqIc-tasQdtOCnz1ktPkCIQDHv_DCHNnt8rIS2lduQduBO3ZvZWnm1K05mBZRA_b4wg%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRQIgSkd3uXS3BSDucnVxEimR-9c-uBHxLHOWrojTa8410yICIQD6INJ2mqFd0iy-xe74FuEt9bx4ZSh0JHWCXJ4SiqJidA%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 94.782, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 5, "has_drm": false, "width": 240, "height": 240, "vcodec": "avc1.4D400C", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 94.782, "format": "229 - 240x240"}, {"asr": null, "filesize": 442908, "format_id": "133", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 14.103, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=133&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=442908&dur=251.240&lmt=1602593292871285&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAMhf6jFcL40p-shDqYUz9blaQv88-e8J5P9GBFaaMB5PAiB_e8U0uvyMCjoF-_QQRVVBoM6MSchOcw93r4ZJzWsdhA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D400C", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 14.103, "format": "133 - 240x240 (240p)"}, {"format_id": "604", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/604/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D1276909%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D242%3Blmt%3D1602593287678060/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAKOJzBH3GLOmHZ1M3gbax3oXAY2377EV1dJyrNp1O0UkAiAqfm3HniP8PnNOkDdCsAPNVgWEZISrFmJSEgOyBz7Gsg%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRgIhAPIC08uhQRAp3fSjMXhM6wpS1uvOPeVdLDIVNAPFbrejAiEA32ZrcYoVZlLHB7FVAqGF1BAceZJQvyE7OCub1bXf7Ho%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 130.923, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 5, "has_drm": false, "width": 240, "height": 240, "vcodec": "vp09.00.20.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 130.923, "format": "604 - 240x240"}, {"asr": null, "filesize": 1276909, "format_id": "242", "format_note": "240p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 240, "quality": 5.0, "has_drm": false, "tbr": 40.659, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=242&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=1276909&dur=251.240&lmt=1602593287678060&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgS61Q6VjEo2Ze_Ig0HJYHAzuM2G1z0rHbi0P3jZgTaSICIQCtktCyOQKfGcO2vDbWsDM6dOB5fZSX0_STMle9CwW15w%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 240, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.20.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "240x240", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 40.659, "format": "242 - 240x240 (240p)"}, {"asr": null, "filesize": 1890361, "format_id": "396", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 60.192, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=396&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1890361&dur=251.240&lmt=1621630328267658&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgM0_S8Neo5PX0N1yX_6cTZZS60_W14m5t_ushsExGowwCID6YRaJMr8fVu3S2C-50Yy0kc4rx1cB8CW5Rh78vs1g_&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.00M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 60.192, "format": "396 - 360x360 (360p)"}, {"format_id": "230", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/230/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D707556%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D134%3Blmt%3D1602593285381104/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIgJdhr2YzJU7Z8wOaf7Soa6epC3u6HLRoAjkplw4WERsgCIQDFio2LemXqfB1eTO_tax3f2ro_7F87PMapamW8ltfeOw%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRgIhAIPeKG_zMDjEAcEFzesuUARQWx7C-M0Gw2Nx2fV85O8cAiEA-FGVgcgJd9ZyQcbD95vwKmK7G0fgsRWdze8ayI4oPfQ%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 213.621, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 6, "has_drm": false, "width": 360, "height": 360, "vcodec": "avc1.4D4015", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 213.621, "format": "230 - 360x360"}, {"asr": null, "filesize": 707556, "format_id": "134", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 22.53, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=134&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=707556&dur=251.240&lmt=1602593285381104&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgLHQ_rf5T79CXchPKNM9qPZ3AlrdwZapFKueg6Ph_TmsCIQDCVMmpxBEGfb15P4VwPFyPucQmWALRvAwD0Ik-X34xHQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D4015", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 22.53, "format": "134 - 360x360 (360p)"}, {"asr": 44100, "filesize": null, "format_id": "18", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": 2, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 151.473, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=251.309&lmt=1664236985764040&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5438434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRQIgBC-RVXC88dt597BCJ7fB7xt266s3Mb8VkU4ewLzBKVQCIQCx2VOGCGTcpwRlMq9zX1cO8nuWY-Q0I9T4Q58DoH3hRw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.42001E", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "filesize_approx": 4866524, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "vbr": null, "abr": null, "format": "18 - 360x360 (360p)"}, {"format_id": "605", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/605/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D2174544%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D243%3Blmt%3D1602593430771724/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhAMoBZZEsSyFWocGizGonj8AuRVA8tZyG8cfk6ojmeDuyAiEA6TTxloZTrR9Gb9SyFY9q5dg9pYzUMoKu92BbUL0AA1I%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRQIgTBRdkARIG4AT96H8UwQAQhWwqXnqFaC9yZtAxF3PlM4CIQDVrV-NfyNL9RGbSfS2Rrk4unT509fveGj2naJOaZJzag%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 347.2, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 6, "has_drm": false, "width": 360, "height": 360, "vcodec": "vp09.00.21.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 347.2, "format": "605 - 360x360"}, {"asr": null, "filesize": 2174544, "format_id": "243", "format_note": "360p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 360, "quality": 6.0, "has_drm": false, "tbr": 69.241, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=243&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=2174544&dur=251.240&lmt=1602593430771724&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAJYZuj6bghJWibsqeBO7_CfvIMHwmt831UmWSk-X1ryUAiEA62GqnxHTh0-0dXDuk3bmxdqkQvgbjCzTvEQsivMj-T0%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 360, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.21.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "360x360", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 69.241, "format": "243 - 360x360 (360p)"}, {"asr": null, "filesize": 2968494, "format_id": "397", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 94.522, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=397&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=2968494&dur=251.240&lmt=1621630329824959&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAIYKiZcE_acxMZeSZs9jPfme8-2-d4zDmqEx6KhuI5UYAiEA1ZvBk2L06Hti2jXPMiGZ0nGx-9yciNHOMoAmUElNsTw%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.01M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 94.522, "format": "397 - 480x480 (480p)"}, {"format_id": "231", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/231/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D1038847%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D135%3Blmt%3D1602593607672111/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgdbJw679WvKteX9bQc2ZaIJDlByqe7yjqtIj0qedOPo4CIFirp69ONhXl16GJfgu_d6e2qIUk3WToQ0W7qe3qcXXJ/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRQIhAITCm5yiE6sxn5mK0BSXlJEXjYUlhgRGh_rnYapM2jy3AiAEJIy3CM8xpzTBY6fYI_8gP_WumuHgrBOAyv4-bOUoeQ%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 255.911, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 7, "has_drm": false, "width": 480, "height": 480, "vcodec": "avc1.4D401E", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 255.911, "format": "231 - 480x480"}, {"asr": null, "filesize": 1038847, "format_id": "135", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 33.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=135&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1038847&dur=251.240&lmt=1602593607672111&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAKOaOhamqLju74X7e_qsti0nWOjPdOdBwOc8q_Yc7BM7AiAa-BFkWU60PpRfPWV6zJnJR9Ru6zxHfLfAOlbrlPYF6A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D401E", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 33.079, "format": "135 - 480x480 (480p)"}, {"format_id": "606", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/606/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D3655539%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D244%3Blmt%3D1602593315447279/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhAPEje6fVeTMhdg9YvOW2bRmREad5QmUieAVlNdlTkLROAiBsF0iAwT8d62BRh-Cwrp7j0xrVUKAunYCOco9EHfiC8g%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgB4V-m4Dhb3iFKFq4ibrbwIoy-s3uJU_sWsga1UwpUg8CIDK8hDA1CH9fuDqIz7M1KNp9yWjeWlLbvoRUjESZ58_a/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 523.797, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 7, "has_drm": false, "width": 480, "height": 480, "vcodec": "vp09.00.30.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 523.797, "format": "606 - 480x480"}, {"asr": null, "filesize": 3655539, "format_id": "244", "format_note": "480p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 480, "quality": 7.0, "has_drm": false, "tbr": 116.399, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=244&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=3655539&dur=251.240&lmt=1602593315447279&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgbY9Q6i0Q78PPa2WUaIJMHR0OLvq2B6XpoPEM6hwaopoCICahQJsLYYb-KVWsYRV6iwdH30QCZ1Yzo9p15wJDhg_I&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 480, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.30.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "480x480", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 116.399, "format": "244 - 480x480 (480p)"}, {"asr": 44100, "filesize": null, "format_id": "22", "format_note": "720p", "source_preference": -5, "fps": 25, "audio_channels": 2, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 176.945, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=22&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=251.309&lmt=1602593369467048&mt=1704163261&fvip=1&fexp=24007246&c=ANDROID&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRQIgOONA7UTeFlMFOwH01y_DDDv3yTTaMZPAhAyjQJ3uxm0CIQDbl7ZCTe_wrGBkQpeSzo-m3DflR7SDJjvWBckwfnw3hw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.64001F", "acodec": "mp4a.40.2", "dynamic_range": "SDR", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "filesize_approx": 5684888, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "vbr": null, "abr": null, "format": "22 - 720x720 (720p)"}, {"asr": null, "filesize": 5235451, "format_id": "398", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 166.707, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=398&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=5235451&dur=251.240&lmt=1621630329588908&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhANlrnATv6FnHsVnoNxr6EmnnFmGQqAgod_yoq60qYPJrAiAy3Pp_BTBVV_-5rGcRbLEezIh2Xi7KbzsEao_ZhviERw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.04M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 166.707, "format": "398 - 720x720 (720p)"}, {"format_id": "232", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/232/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D1504413%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D136%3Blmt%3D1602593339419503/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRAIgBUCMarkzX-jUTsQSciTFVck44A2cP4KoOlgrYocLmTYCIEO2X17S_p14etcoz224L3o-GhlmRIYsDjmwgU38girf/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRQIgDx9Q7ce9fr44SZOgA3todxHgM30qLNiFriQe0uWNnSICIQCFhCrVA8sNnKqahjqRflEwZ5FpqQunR6YvGZDorXvWFw%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 311.717, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 8, "has_drm": false, "width": 720, "height": 720, "vcodec": "avc1.4D401F", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 311.717, "format": "232 - 720x720"}, {"asr": null, "filesize": 1504413, "format_id": "136", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 47.903, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=136&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1504413&dur=251.240&lmt=1602593339419503&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgBm_LC1hlzPvRvPwME1WPEcvi3mXnBXAPrrZtd7-mE54CIQDAWuNmxN17xUEnGojIh7dFS8JQYNn8YJBTG-rNRi6r3Q%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.4D401F", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 47.903, "format": "136 - 720x720 (720p)"}, {"format_id": "609", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/609/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D7761033%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D247%3Blmt%3D1602593307494843/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhAJLeW8hYvUUA7dsEXqcMA57xxwUZl3o2UPQJjhPUXWosAiEAyzTr3DYiYA3ZhZUGZy1ZtebqFaJl-Uf_LpiyeiCJDQ8%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRQIgdro1uJaSDZpRqdRL3Jw7W0G_PMdoLJXnaUSpfq-SjgwCIQCRUr5c_A8X81G2rwWbrOCZu9tFnKX_8rGSfRT46nBahQ%3D%3D/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 907.196, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 8, "has_drm": false, "width": 720, "height": 720, "vcodec": "vp09.00.31.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 907.196, "format": "609 - 720x720"}, {"asr": null, "filesize": 7761033, "format_id": "247", "format_note": "720p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 720, "quality": 8.0, "has_drm": false, "tbr": 247.127, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=247&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=7761033&dur=251.240&lmt=1602593307494843&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAJQCNTLFd9woRIcBjZLXg20Gr8yRTrmEM4-ePhfF0ijvAiAZxRp5yV0Y31N0bq4vmoQCnMXDM2J37jzMgmdSmb7pOQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 720, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.31.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "720x720", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 247.127, "format": "247 - 720x720 (720p)"}, {"asr": null, "filesize": 11546743, "format_id": "399", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 367.672, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=399&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=11546743&dur=251.240&lmt=1621630330664920&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5436432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAKie5rR8L9hwWxzB2_08fQN6w8HJCOQyYCROeR-tD9PmAiEAnUjitcztC7GusoShltmc1b8bC01ID9Kq9ILbLBRv5Ns%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "av01.0.08M.08", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 367.672, "format": "399 - 1080x1080 (1080p)"}, {"format_id": "270", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/270/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D4615620%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D137%3Blmt%3D1602593511916465/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRQIhANMEnkDoXP-OUp_Xrg5hrS0DycFUEJzJDHUynViQeFwvAiA9ACoIGuqvU3pbd-dlhXtD-qiOkuDO81ogiUhnjkLFSw%3D%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgfo_v2K0qA4K80ruHpG7BAfgJ5uhqkrWl2m_Cl0O0yMMCIFMeonnKmdxs1kPNRA7kmeLw7ttDu6o6G03JWGNgv7OX/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 712.966, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 9, "has_drm": false, "width": 1080, "height": 1080, "vcodec": "avc1.640020", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 712.966, "format": "270 - 1080x1080"}, {"asr": null, "filesize": 4615620, "format_id": "137", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 146.97, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=4615620&dur=251.240&lmt=1602593511916465&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgLzdP2rTMovT7qW7VLAtNh1aAirp5rug_L0Kb49maD9oCIQCCG9pywqCC4Tty3MQSL2sxHtf2d5l9Nwqe9usdwS6avA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "mp4", "vcodec": "avc1.640020", "acodec": "none", "dynamic_range": "SDR", "container": "mp4_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 146.97, "format": "137 - 1080x1080 (1080p)"}, {"format_id": "614", "format_index": null, "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/itag/614/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D15221861%3Bdur%3D251.240%3Bgir%3Dyes%3Bitag%3D248%3Blmt%3D1602593388078745/rqh/1/hls_chunk_host/rr4---sn-3u-nf0z.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/Mg/mm/31,29/mn/sn-3u-nf0z,sn-3u-bh2zd/ms/au,rdu/mv/m/mvi/4/pl/17/gcr/kr/initcwndbps/755000/vprv/1/playlist_type/DVR/dover/13/txp/5432432/mt/1704163261/fvip/1/short_key/1/keepalive/yes/fexp/24007246/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,gcr,vprv,playlist_type/sig/AJfQdSswRgIhANWsAw_xsaPWAwWSTBr6tE2Rkl0SyCHzVz7zoThN2A7AAiEAjyHjPaWHchYDyOuH0xbk4mTexv4plThFbtry6wR2j0Y%3D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AAO5W4owRAIgRdcjkDlCx8V_QfTsHH5Fr3WG-erOXFb91RyGhRg1aqQCIHMY77W1HvAn5zzHn73BILYMj4rxQMmTduh1AW-tb_a1/playlist/index.m3u8", "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1704185196/ei/DHmTZYXqFMCX1d8P1aODoA8/ip/121.168.215.105/id/392792b431006494/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-3u-nf0z.googlevideo.com/mh/Mg/mm/31%2C29/mn/sn-3u-nf0z%2Csn-3u-bh2zd/ms/au%2Crdu/mv/m/mvi/4/pl/17/hfr/1/demuxed/1/tts_caps/1/maudio/1/gcr/kr/initcwndbps/755000/vprv/1/go/1/mt/1704163261/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/24007246/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cgcr%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgKK4bsx1uIXN9JvRPBZ6aSYLO4lohExr9BMcpMBzHKVMCIFtqhlxUuslok0tei41wVfDdsvkotlMd5SE0EDB7G-jY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AAO5W4owRgIhAJCSFjnp_qk8yDSdQA_6SA21t8vIDo50zrsLRCxbJaS7AiEA5TWTh669Cnsp0BDCA-xiRAVCCC40Sg_I02rm5Vb31UM%3D/file/index.m3u8", "tbr": 1452.972, "ext": "mp4", "fps": 25.0, "protocol": "m3u8_native", "preference": null, "quality": 9, "has_drm": false, "width": 1080, "height": 1080, "vcodec": "vp09.00.40.08", "acodec": "none", "dynamic_range": "SDR", "source_preference": -1, "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "mp4", "audio_ext": "none", "abr": 0, "vbr": 1452.972, "format": "614 - 1080x1080"}, {"asr": null, "filesize": 15221861, "format_id": "248", "format_note": "1080p", "source_preference": -1, "fps": 25, "audio_channels": null, "height": 1080, "quality": 9.0, "has_drm": false, "tbr": 484.695, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYXqFMCX1d8P1aODoA8&ip=121.168.215.105&id=o-AOwTeytay2bb17yBw2smjxGf-T6GZpvQyU3oiOFhOEjU&itag=248&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pl=17&gcr=kr&initcwndbps=755000&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=15221861&dur=251.240&lmt=1602593388078745&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=IOS&txp=5432432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgICW10j7MNtm_hn_HPSzrjdvAyZxQrKHZF28Y-wTWlYsCIEeCXXDKAvBLxmic91_2_QNkhqVkOq5QFH50BwEz7wgz&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRAIgWNIw_8thj5jgEyZvJKiwmXuxrT6UKz6LD98-J3abdh0CIEAzxGMHhRSF5Lmy0kmC203uwozTRx81Z2bShtb5__oN", "width": 1080, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "vp09.00.40.08", "acodec": "none", "dynamic_range": "SDR", "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "1080x1080", "aspect_ratio": 1.0, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "video_ext": "webm", "audio_ext": "none", "abr": 0, "vbr": 484.695, "format": "248 - 1080x1080 (1080p)"}], "thumbnails": [{"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/3.jpg", "preference": -37, "id": "0"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/3.webp", "preference": -36, "id": "1"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/2.jpg", "preference": -35, "id": "2"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/2.webp", "preference": -34, "id": "3"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/1.jpg", "preference": -33, "id": "4"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/1.webp", "preference": -32, "id": "5"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq3.jpg", "preference": -31, "id": "6"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq3.webp", "preference": -30, "id": "7"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq2.jpg", "preference": -29, "id": "8"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq2.webp", "preference": -28, "id": "9"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mq1.jpg", "preference": -27, "id": "10"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mq1.webp", "preference": -26, "id": "11"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq3.jpg", "preference": -25, "id": "12"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq3.webp", "preference": -24, "id": "13"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq2.jpg", "preference": -23, "id": "14"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq2.webp", "preference": -22, "id": "15"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq1.jpg", "preference": -21, "id": "16"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq1.webp", "preference": -20, "id": "17"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd3.jpg", "preference": -19, "id": "18"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd3.webp", "preference": -18, "id": "19"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd2.jpg", "preference": -17, "id": "20"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd2.webp", "preference": -16, "id": "21"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sd1.jpg", "preference": -15, "id": "22"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sd1.webp", "preference": -14, "id": "23"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/default.jpg", "preference": -13, "id": "24"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/default.webp", "height": 90, "width": 120, "preference": -12, "id": "25", "resolution": "120x90"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/mqdefault.jpg", "height": 180, "width": 320, "preference": -11, "id": "26", "resolution": "320x180"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/mqdefault.webp", "height": 180, "width": 320, "preference": -10, "id": "27", "resolution": "320x180"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/0.jpg", "preference": -9, "id": "28"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/0.webp", "preference": -8, "id": "29"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDWdR_BnjUXE7jWwnqe1izrTUKBkQ", "height": 94, "width": 168, "preference": -7, "id": "30", "resolution": "168x94"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAk5341xSWFIWlQGz86dJIp13s09Q", "height": 110, "width": 196, "preference": -7, "id": "31", "resolution": "196x110"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeG6jf3G99AmNcq1F4Hpvuv7xoDQ", "height": 138, "width": 246, "preference": -7, "id": "32", "resolution": "246x138"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoZeoP4NDMP2NTwElJwtRYqAc40Q", "height": 188, "width": 336, "preference": -7, "id": "33", "resolution": "336x188"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hqdefault.jpg", "height": 360, "width": 480, "preference": -7, "id": "34", "resolution": "480x360"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hqdefault.webp", "height": 360, "width": 480, "preference": -6, "id": "35", "resolution": "480x360"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/sddefault.jpg", "height": 480, "width": 640, "preference": -5, "id": "36", "resolution": "640x480"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/sddefault.webp", "height": 480, "width": 640, "preference": -4, "id": "37", "resolution": "640x480"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/hq720.jpg", "preference": -3, "id": "38"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/hq720.webp", "preference": -2, "id": "39"}, {"url": "https://i.ytimg.com/vi/OSeStDEAZJQ/maxresdefault.jpg", "height": 720, "width": 1280, "preference": -1, "id": "40", "resolution": "1280x720"}, {"url": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/maxresdefault.webp", "height": 1080, "width": 1920, "preference": 0, "id": "41", "resolution": "1920x1080"}], "thumbnail": "https://i.ytimg.com/vi_webp/OSeStDEAZJQ/maxresdefault.webp", "description": "Provided to YouTube by JVCKENWOOD Victor Entertainment Corp.\n\nKoi \u00b7 Gen Hoshino\n\nPOP VIRUS\n\n\u2117 JVCKENWOOD Victor Entertainment\n\nReleased on: 2018-12-19\n\nComposer: \u661f\u91ce \u6e90\nLyricist: \u661f\u91ce \u6e90\n\nAuto-generated by YouTube.", "channel_id": "UCUrcaHP1Qrlrxoxg9z1jlmg", "channel_url": "https://www.youtube.com/channel/UCUrcaHP1Qrlrxoxg9z1jlmg", "duration": 251, "view_count": 2695375, "average_rating": null, "age_limit": 0, "webpage_url": "https://www.youtube.com/watch?v=OSeStDEAZJQ", "categories": ["Music"], "tags": ["Gen Hoshino", "\u661f\u91ce \u6e90", "\u30db\u30b7\u30ce\u30b2\u30f3", "POP VIRUS", "\u604b"], "playable_in_embed": true, "live_status": "not_live", "release_timestamp": null, "_format_sort_fields": ["quality", "res", "fps", "hdr:12", "source", "vcodec:vp9.2", "channels", "acodec", "lang", "proto"], "automatic_captions": {}, "subtitles": {}, "album": "POP VIRUS", "artist": "Gen Hoshino", "track": "Koi", "release_date": null, "release_year": null, "comment_count": 477, "chapters": null, "heatmap": [{"start_time": 0.0, "end_time": 2.52, "value": 0.3301894793438552}, {"start_time": 2.52, "end_time": 5.04, "value": 0.0}, {"start_time": 5.04, "end_time": 7.56, "value": 0.14381878514099602}, {"start_time": 7.56, "end_time": 10.08, "value": 0.2175265326021499}, {"start_time": 10.08, "end_time": 12.6, "value": 0.2203850181008967}, {"start_time": 12.6, "end_time": 15.12, "value": 0.238588860814319}, {"start_time": 15.12, "end_time": 17.64, "value": 0.2479100091797976}, {"start_time": 17.64, "end_time": 20.16, "value": 0.23999116691176353}, {"start_time": 20.16, "end_time": 22.68, "value": 0.24474215223315512}, {"start_time": 22.68, "end_time": 25.2, "value": 0.3149476015445103}, {"start_time": 25.2, "end_time": 27.72, "value": 0.3318494171815301}, {"start_time": 27.72, "end_time": 30.24, "value": 0.34540308699365097}, {"start_time": 30.24, "end_time": 32.76, "value": 0.41297781219979635}, {"start_time": 32.76, "end_time": 35.28, "value": 0.4747534229550414}, {"start_time": 35.28, "end_time": 37.8, "value": 0.5206214738989177}, {"start_time": 37.8, "end_time": 40.32, "value": 0.5952861392523559}, {"start_time": 40.32, "end_time": 42.84, "value": 0.6444591306982353}, {"start_time": 42.84, "end_time": 45.36, "value": 0.7592791431904411}, {"start_time": 45.36, "end_time": 47.88, "value": 0.8226362821232909}, {"start_time": 47.88, "end_time": 50.4, "value": 0.9028242946197638}, {"start_time": 50.4, "end_time": 52.92, "value": 0.8904691724687148}, {"start_time": 52.92, "end_time": 55.44, "value": 0.8266383751811557}, {"start_time": 55.44, "end_time": 57.96, "value": 0.7679266085581744}, {"start_time": 57.96, "end_time": 60.48, "value": 0.7229103958941074}, {"start_time": 60.48, "end_time": 63.0, "value": 0.7106528857688601}, {"start_time": 63.0, "end_time": 65.52, "value": 0.7211037733182062}, {"start_time": 65.52, "end_time": 68.04, "value": 0.7106235488212148}, {"start_time": 68.04, "end_time": 70.56, "value": 0.71371779669922}, {"start_time": 70.56, "end_time": 73.08, "value": 0.703072751896367}, {"start_time": 73.08, "end_time": 75.6, "value": 0.7552301110163439}, {"start_time": 75.6, "end_time": 78.12, "value": 0.7401301173637925}, {"start_time": 78.12, "end_time": 80.64, "value": 0.6899265989569915}, {"start_time": 80.64, "end_time": 83.16, "value": 0.7044617230176091}, {"start_time": 83.16, "end_time": 85.68, "value": 0.5920761437809138}, {"start_time": 85.68, "end_time": 88.2, "value": 0.5118513267501222}, {"start_time": 88.2, "end_time": 90.72, "value": 0.49705323695879333}, {"start_time": 90.72, "end_time": 93.24, "value": 0.48535846282928724}, {"start_time": 93.24, "end_time": 95.76, "value": 0.4926665631872513}, {"start_time": 95.76, "end_time": 98.28, "value": 0.5022293413215175}, {"start_time": 98.28, "end_time": 100.8, "value": 0.5229977666581856}, {"start_time": 100.8, "end_time": 103.32, "value": 0.5247787860797783}, {"start_time": 103.32, "end_time": 105.84, "value": 0.5386631633017188}, {"start_time": 105.84, "end_time": 108.36, "value": 0.5443054584324789}, {"start_time": 108.36, "end_time": 110.88, "value": 0.5733447694089245}, {"start_time": 110.88, "end_time": 113.4, "value": 0.5719280615371813}, {"start_time": 113.4, "end_time": 115.92, "value": 0.5840991610166373}, {"start_time": 115.92, "end_time": 118.44, "value": 0.5757466653225011}, {"start_time": 118.44, "end_time": 120.96, "value": 0.5821447869044133}, {"start_time": 120.96, "end_time": 123.48, "value": 0.5803530995018586}, {"start_time": 123.48, "end_time": 126.0, "value": 0.6153622126245953}, {"start_time": 126.0, "end_time": 128.52, "value": 0.6245878825604648}, {"start_time": 128.52, "end_time": 131.04, "value": 0.6876943239407095}, {"start_time": 131.04, "end_time": 133.56, "value": 0.7098837243415056}, {"start_time": 133.56, "end_time": 136.08, "value": 0.8337704538532481}, {"start_time": 136.08, "end_time": 138.6, "value": 0.8578475534852561}, {"start_time": 138.6, "end_time": 141.12, "value": 1.0}, {"start_time": 141.12, "end_time": 143.64, "value": 0.9916165671610743}, {"start_time": 143.64, "end_time": 146.16, "value": 0.9600953504138376}, {"start_time": 146.16, "end_time": 148.68, "value": 0.8826138046874041}, {"start_time": 148.68, "end_time": 151.2, "value": 0.8489051184439256}, {"start_time": 151.2, "end_time": 153.72, "value": 0.7925979147297614}, {"start_time": 153.72, "end_time": 156.24, "value": 0.8039555806608708}, {"start_time": 156.24, "end_time": 158.76, "value": 0.7402885368810771}, {"start_time": 158.76, "end_time": 161.28, "value": 0.7498859859534694}, {"start_time": 161.28, "end_time": 163.8, "value": 0.7420130160035716}, {"start_time": 163.8, "end_time": 166.32, "value": 0.7704890575852278}, {"start_time": 166.32, "end_time": 168.84, "value": 0.7527738083998615}, {"start_time": 168.84, "end_time": 171.36, "value": 0.7665573732017118}, {"start_time": 171.36, "end_time": 173.88, "value": 0.7602317938903406}, {"start_time": 173.88, "end_time": 176.4, "value": 0.7929312891348214}, {"start_time": 176.4, "end_time": 178.92, "value": 0.7841936793279599}, {"start_time": 178.92, "end_time": 181.44, "value": 0.8107713536974422}, {"start_time": 181.44, "end_time": 183.96, "value": 0.7749850781616295}, {"start_time": 183.96, "end_time": 186.48, "value": 0.7431880941065273}, {"start_time": 186.48, "end_time": 189.0, "value": 0.6959092026804369}, {"start_time": 189.0, "end_time": 191.52, "value": 0.7055770604271779}, {"start_time": 191.52, "end_time": 194.04, "value": 0.693716399193714}, {"start_time": 194.04, "end_time": 196.56, "value": 0.713857013850773}, {"start_time": 196.56, "end_time": 199.08, "value": 0.6977232928430116}, {"start_time": 199.08, "end_time": 201.6, "value": 0.7274336198219621}, {"start_time": 201.6, "end_time": 204.12, "value": 0.7053962381498734}, {"start_time": 204.12, "end_time": 206.64, "value": 0.7322848841643957}, {"start_time": 206.64, "end_time": 209.16, "value": 0.7139690276508732}, {"start_time": 209.16, "end_time": 211.68, "value": 0.7258867625824835}, {"start_time": 211.68, "end_time": 214.2, "value": 0.6890704934847973}, {"start_time": 214.2, "end_time": 216.72, "value": 0.6537626768951268}, {"start_time": 216.72, "end_time": 219.24, "value": 0.6272623453876184}, {"start_time": 219.24, "end_time": 221.76, "value": 0.6585659353232318}, {"start_time": 221.76, "end_time": 224.28, "value": 0.6855628613445176}, {"start_time": 224.28, "end_time": 226.8, "value": 0.7008948835829908}, {"start_time": 226.8, "end_time": 229.32, "value": 0.6585856710880114}, {"start_time": 229.32, "end_time": 231.84, "value": 0.5322719759074318}, {"start_time": 231.84, "end_time": 234.36, "value": 0.47569380547683476}, {"start_time": 234.36, "end_time": 236.88, "value": 0.4624495071126096}, {"start_time": 236.88, "end_time": 239.4, "value": 0.4437538704768427}, {"start_time": 239.4, "end_time": 241.92, "value": 0.4421190023944283}, {"start_time": 241.92, "end_time": 244.44, "value": 0.4238138138618678}, {"start_time": 244.44, "end_time": 246.96, "value": 0.4072853775585152}, {"start_time": 246.96, "end_time": 249.48, "value": 0.37038803180551844}, {"start_time": 249.48, "end_time": 252.0, "value": 0.3553179084996605}], "channel": "Gen Hoshino", "channel_follower_count": 1550000, "channel_is_verified": true, "uploader": "Gen Hoshino", "uploader_id": null, "uploader_url": null, "upload_date": "20190829", "creator": "Gen Hoshino", "alt_title": "Koi", "availability": "public", "original_url": "https://www.youtube.com/watch?v=OSeStDEAZJQ", "webpage_url_basename": "watch", "webpage_url_domain": "youtube.com", "extractor": "youtube", "extractor_key": "Youtube", "playlist_count": 1, "playlist": "koi", "playlist_id": "koi", "playlist_title": "koi", "playlist_uploader": null, "playlist_uploader_id": null, "n_entries": 1, "playlist_index": 1, "__last_playlist_index": 1, "playlist_autonumber": 1, "display_id": "OSeStDEAZJQ", "fulltitle": "Koi", "duration_string": "4:11", "is_live": false, "was_live": false, "requested_subtitles": null, "_has_drm": null, "epoch": 1704163597, "asr": 48000, "filesize": 4117210, "format_id": "251", "format_note": "medium", "source_preference": -1, "fps": null, "audio_channels": 2, "height": null, "quality": 3.0, "has_drm": false, "tbr": 131.079, "url": "https://rr4---sn-3u-nf0z.googlevideo.com/videoplayback?expire=1704185196&ei=DHmTZYTvHdfL1d8PmoWuqAg&ip=121.168.215.105&id=o-APTii6iQKk8zxKe7hsNu8njmSNzTPV4uCJWhPMh0Ya9v&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Mg&mm=31%2C29&mn=sn-3u-nf0z%2Csn-3u-bh2zd&ms=au%2Crdu&mv=m&mvi=4&pcm2cms=yes&pl=17&gcr=kr&initcwndbps=755000&spc=UWF9f372KlepwtqGgpDRCFs9tELpGhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4117210&dur=251.281&lmt=1602593503983926&mt=1704163261&fvip=1&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgQrgbm-Nqq6lpVTEN_LzAhHs5f_4bdxyxM5kZ_ZC5yJUCIQDmEXZVgxJQubGuPacRcn9-MOOe0oyYfIDPFGlMTHUlAg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AAO5W4owRQIhAM1E8hyhgeiGh7GYtg14sS7qCsj63PC2qUw4EETWPskxAiByBYM5E7frK_49sglY8hvrB4ULKc7s3XH0vNgGisf8dw%3D%3D", "width": null, "language": null, "language_preference": -1, "preference": null, "ext": "webm", "vcodec": "none", "acodec": "opus", "dynamic_range": null, "container": "webm_dash", "downloader_options": {"http_chunk_size": 10485760}, "protocol": "https", "resolution": "audio only", "aspect_ratio": null, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-us,en;q=0.5", "Sec-Fetch-Mode": "navigate"}, "audio_ext": "webm", "video_ext": "none", "vbr": 0, "abr": 131.079, "format": "251 - audio only (medium)"}], "original_url": "koi", "webpage_url": "ytsearch:koi", "webpage_url_basename": "koi", "webpage_url_domain": null, "extractor": "youtube:search", "extractor_key": "YoutubeSearch", "playlist_count": 1, "epoch": 1704163595, "_version": {"version": "2023.11.16", "current_git_head": null, "release_git_head": "24f827875c6ba513f12ed09a3aef2bbed223760d", "repository": "yt-dlp/yt-dlp"}} \ No newline at end of file diff --git a/src/yt-download.py b/src/yt-download.py new file mode 100644 index 0000000..ed34512 --- /dev/null +++ b/src/yt-download.py @@ -0,0 +1,47 @@ +import yt_dlp +import sys +import os +import json + +if len(sys.argv) != 2: + sys.exit() + +ydl_opts = { + 'quiet': True, + 'clean_infojson': False, + 'default_search': 'ytsearch', + 'format': '251', + 'outtmpl': {'default': 'Temp/%(id)s.temp'}, + 'overwrites': False, + 'writeinfojson': True } + +with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(sys.argv[1], download=False) + id = list() + with open("out", "w") as f: + f.write(json.dumps(ydl.sanitize_info(info))) + with open("Music/Archive", "r") as f: + ArchiveList = f.read().split("\n") + if "entries" in info: + if len(info["entries"]) != 0: + for entry in info["entries"]: + if entry["id"] not in ArchiveList: + ydl.download(entry["webpage_url"]) + os.system("echo " + entry["id"] + " >> Music/Archive") + os.system("yes n 2>/dev/null | ffmpeg -hide_banner -loglevel error -i \"" + "Temp/" + entry["id"] + ".temp" + "\" -c copy Music/" + entry["id"] + ".ogg") + os.system("mv Temp/" + entry["id"] + ".temp.info.json Music/" + entry["id"] + ".info.json") + id.append(entry["id"]) + else: + if info["id"] not in ArchiveList: + ydl.download(info["webpage_url"]) + os.system("echo " + info["id"] + " >> Music/Archive") + os.system("yes n 2>/dev/null | ffmpeg -hide_banner -loglevel error -i \"" + "Temp/" + info["id"] + ".temp" + "\" -c copy Music/" + info["id"] + ".ogg") + os.system("mv Temp/" + info["id"] + ".temp.info.json Music/" + info["id"] + ".info.json") + id.append(info["id"]) + + os.system("rm -f Temp/*.temp") + os.system("rm -f Temp/*.json") + + with open("Temp/CurMusic", "w") as f: + for item in id: + f.write(item + "\n") \ No newline at end of file