yt-dlp 2025.12.5.232956.dev0__tar.gz → 2025.12.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1258) hide show
  1. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/AUTHORS +1 -0
  2. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/Changelog.md +12 -2
  3. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/PKG-INFO +14 -14
  4. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/README.md +12 -12
  5. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/README.txt +17 -16
  6. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/completions/fish/yt-dlp.fish +2 -2
  7. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/changelog_override.json +6 -0
  8. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/install_deps.py +13 -13
  9. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_changelog.py +7 -1
  10. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/pyproject.toml +1 -1
  11. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/supportedsites.md +2 -1
  12. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_utils.py +3 -0
  13. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt-dlp.1 +15 -14
  14. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/cookies.py +8 -1
  15. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/_extractors.py +1 -0
  16. yt_dlp-2025.12.8/yt_dlp/extractor/alibaba.py +42 -0
  17. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lazy_extractors.py +10 -3
  18. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sportdeutschland.py +19 -17
  19. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xhamster.py +24 -27
  20. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_video.py +4 -4
  21. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/ejs.py +3 -1
  22. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/_info.py +1 -1
  23. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/options.py +1 -1
  24. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/ffmpeg.py +2 -2
  25. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/_jsruntime.py +5 -10
  26. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/_utils.py +3 -2
  27. yt_dlp-2025.12.8/yt_dlp/version.py +15 -0
  28. yt_dlp-2025.12.5.232956.dev0/yt_dlp/version.py +0 -15
  29. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/.gitignore +0 -0
  30. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/LICENSE +0 -0
  31. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/completions/bash/yt-dlp +0 -0
  32. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/completions/zsh/_yt-dlp +0 -0
  33. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/__init__.py +0 -0
  34. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/bash-completion.in +0 -0
  35. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/bash-completion.py +0 -0
  36. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/changelog_override.schema.json +0 -0
  37. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/check-porn.py +0 -0
  38. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/cli_to_api.py +0 -0
  39. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/fish-completion.in +0 -0
  40. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/fish-completion.py +0 -0
  41. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/generate_aes_testdata.py +0 -0
  42. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/generate_third_party_licenses.py +0 -0
  43. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/lazy_load_template.py +0 -0
  44. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/logo.ico +0 -0
  45. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_contributing.py +0 -0
  46. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_issue_template.py +0 -0
  47. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_lazy_extractors.py +0 -0
  48. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_readme.py +0 -0
  49. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/make_supportedsites.py +0 -0
  50. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/prepare_manpage.py +0 -0
  51. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/run_tests.py +0 -0
  52. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/set-variant.py +0 -0
  53. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/setup_variables.py +0 -0
  54. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/setup_variables_tests.py +0 -0
  55. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/tomlparse.py +0 -0
  56. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/update-version.py +0 -0
  57. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/update_changelog.py +0 -0
  58. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/update_ejs.py +0 -0
  59. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/utils.py +0 -0
  60. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/zsh-completion.in +0 -0
  61. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/devscripts/zsh-completion.py +0 -0
  62. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/__init__.py +0 -0
  63. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/conftest.py +0 -0
  64. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/helper.py +0 -0
  65. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/parameters.json +0 -0
  66. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_InfoExtractor.py +0 -0
  67. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_YoutubeDL.py +0 -0
  68. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_YoutubeDLCookieJar.py +0 -0
  69. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_aes.py +0 -0
  70. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_age_restriction.py +0 -0
  71. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_all_urls.py +0 -0
  72. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_cache.py +0 -0
  73. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_compat.py +0 -0
  74. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_config.py +0 -0
  75. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_cookies.py +0 -0
  76. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_devalue.py +0 -0
  77. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_download.py +0 -0
  78. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_downloader_external.py +0 -0
  79. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_downloader_http.py +0 -0
  80. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_execution.py +0 -0
  81. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_http_proxy.py +0 -0
  82. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_iqiyi_sdk_interpreter.py +0 -0
  83. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_jsc/conftest.py +0 -0
  84. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_jsc/test_ejs_integration.py +0 -0
  85. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_jsc/test_provider.py +0 -0
  86. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_jsinterp.py +0 -0
  87. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_netrc.py +0 -0
  88. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_networking.py +0 -0
  89. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_networking_utils.py +0 -0
  90. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_overwrites.py +0 -0
  91. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_plugins.py +0 -0
  92. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_post_hooks.py +0 -0
  93. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_postprocessors.py +0 -0
  94. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/conftest.py +0 -0
  95. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/test_pot_builtin_memorycache.py +0 -0
  96. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/test_pot_builtin_utils.py +0 -0
  97. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/test_pot_builtin_webpospec.py +0 -0
  98. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/test_pot_director.py +0 -0
  99. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_pot/test_pot_framework.py +0 -0
  100. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_socks.py +0 -0
  101. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_subtitles.py +0 -0
  102. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_traversal.py +0 -0
  103. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_update.py +0 -0
  104. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_verbose_output.py +0 -0
  105. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_websockets.py +0 -0
  106. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_youtube_lists.py +0 -0
  107. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/test_youtube_misc.py +0 -0
  108. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testcert.pem +0 -0
  109. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/ca.crt +0 -0
  110. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/ca.key +0 -0
  111. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/ca.srl +0 -0
  112. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/client.crt +0 -0
  113. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/client.csr +0 -0
  114. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/client.key +0 -0
  115. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/clientencrypted.key +0 -0
  116. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/clientwithencryptedkey.crt +0 -0
  117. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/clientwithkey.crt +0 -0
  118. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/certificate/instructions.md +0 -0
  119. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/cookies/httponly_cookies.txt +0 -0
  120. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/cookies/malformed_cookies.txt +0 -0
  121. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/cookies/session_cookies.txt +0 -0
  122. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/f4m/custom_base_url.f4m +0 -0
  123. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/ism/ec-3_test.Manifest +0 -0
  124. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/ism/sintel.Manifest +0 -0
  125. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/m3u8/bipbop_16x9.m3u8 +0 -0
  126. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/m3u8/img_bipbop_adv_example_fmp4.m3u8 +0 -0
  127. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/mpd/float_duration.mpd +0 -0
  128. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/mpd/subtitles.mpd +0 -0
  129. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/mpd/unfragmented.mpd +0 -0
  130. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/mpd/urls_only.mpd +0 -0
  131. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/netrc/netrc +0 -0
  132. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/netrc/print_netrc.py +0 -0
  133. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/plugin_packages/testpackage/yt_dlp_plugins/extractor/package.py +0 -0
  134. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/reload_plugins/yt_dlp_plugins/extractor/normal.py +0 -0
  135. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/reload_plugins/yt_dlp_plugins/postprocessor/normal.py +0 -0
  136. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/thumbnails/foo %d bar/placeholder +0 -0
  137. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/xspf/foo_xspf.xspf +0 -0
  138. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/extractor/_ignore.py +0 -0
  139. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/extractor/ignore.py +0 -0
  140. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/extractor/normal.py +0 -0
  141. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/extractor/override.py +0 -0
  142. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/extractor/overridetwo.py +0 -0
  143. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/yt_dlp_plugins/postprocessor/normal.py +0 -0
  144. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/zipped_plugins/yt_dlp_plugins/extractor/zipped.py +0 -0
  145. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/test/testdata/zipped_plugins/yt_dlp_plugins/postprocessor/zipped.py +0 -0
  146. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/YoutubeDL.py +0 -0
  147. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/__init__.py +0 -0
  148. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/__main__.py +0 -0
  149. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/__pyinstaller/__init__.py +0 -0
  150. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/__pyinstaller/hook-yt_dlp.py +0 -0
  151. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/aes.py +0 -0
  152. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/cache.py +0 -0
  153. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/__init__.py +0 -0
  154. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/_deprecated.py +0 -0
  155. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/_legacy.py +0 -0
  156. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/compat_utils.py +0 -0
  157. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/imghdr.py +0 -0
  158. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/shutil.py +0 -0
  159. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/urllib/__init__.py +0 -0
  160. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/compat/urllib/request.py +0 -0
  161. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/dependencies/Cryptodome.py +0 -0
  162. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/dependencies/__init__.py +0 -0
  163. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/__init__.py +0 -0
  164. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/bunnycdn.py +0 -0
  165. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/common.py +0 -0
  166. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/dash.py +0 -0
  167. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/external.py +0 -0
  168. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/f4m.py +0 -0
  169. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/fc2.py +0 -0
  170. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/fragment.py +0 -0
  171. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/hls.py +0 -0
  172. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/http.py +0 -0
  173. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/ism.py +0 -0
  174. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/mhtml.py +0 -0
  175. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/niconico.py +0 -0
  176. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/rtmp.py +0 -0
  177. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/rtsp.py +0 -0
  178. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/websocket.py +0 -0
  179. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/downloader/youtube_live_chat.py +0 -0
  180. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/__init__.py +0 -0
  181. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/abc.py +0 -0
  182. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/abcnews.py +0 -0
  183. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/abcotvs.py +0 -0
  184. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/abematv.py +0 -0
  185. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/academicearth.py +0 -0
  186. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/acast.py +0 -0
  187. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/acfun.py +0 -0
  188. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/adn.py +0 -0
  189. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/adobeconnect.py +0 -0
  190. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/adobepass.py +0 -0
  191. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/adobetv.py +0 -0
  192. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/adultswim.py +0 -0
  193. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aenetworks.py +0 -0
  194. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aeonco.py +0 -0
  195. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/afreecatv.py +0 -0
  196. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/agalega.py +0 -0
  197. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/agora.py +0 -0
  198. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/airtv.py +0 -0
  199. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aitube.py +0 -0
  200. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aliexpress.py +0 -0
  201. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aljazeera.py +0 -0
  202. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/allocine.py +0 -0
  203. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/allstar.py +0 -0
  204. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/alphaporno.py +0 -0
  205. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/alsace20tv.py +0 -0
  206. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/altcensored.py +0 -0
  207. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/alura.py +0 -0
  208. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amadeustv.py +0 -0
  209. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amara.py +0 -0
  210. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amazon.py +0 -0
  211. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amazonminitv.py +0 -0
  212. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amcnetworks.py +0 -0
  213. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/americastestkitchen.py +0 -0
  214. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/amp.py +0 -0
  215. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/anchorfm.py +0 -0
  216. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/angel.py +0 -0
  217. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/antenna.py +0 -0
  218. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/anvato.py +0 -0
  219. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aol.py +0 -0
  220. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/apa.py +0 -0
  221. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aparat.py +0 -0
  222. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/appleconnect.py +0 -0
  223. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/applepodcasts.py +0 -0
  224. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/appletrailers.py +0 -0
  225. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/archiveorg.py +0 -0
  226. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/arcpublishing.py +0 -0
  227. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ard.py +0 -0
  228. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/arnes.py +0 -0
  229. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/art19.py +0 -0
  230. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/arte.py +0 -0
  231. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/asobichannel.py +0 -0
  232. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/asobistage.py +0 -0
  233. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/atresplayer.py +0 -0
  234. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/atscaleconf.py +0 -0
  235. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/atvat.py +0 -0
  236. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/audimedia.py +0 -0
  237. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/audioboom.py +0 -0
  238. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/audiodraft.py +0 -0
  239. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/audiomack.py +0 -0
  240. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/audius.py +0 -0
  241. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/awaan.py +0 -0
  242. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/aws.py +0 -0
  243. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/axs.py +0 -0
  244. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/azmedien.py +0 -0
  245. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/baidu.py +0 -0
  246. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/banbye.py +0 -0
  247. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bandcamp.py +0 -0
  248. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bandlab.py +0 -0
  249. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bannedvideo.py +0 -0
  250. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bbc.py +0 -0
  251. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/beacon.py +0 -0
  252. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/beatbump.py +0 -0
  253. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/beatport.py +0 -0
  254. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/beeg.py +0 -0
  255. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/behindkink.py +0 -0
  256. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/berufetv.py +0 -0
  257. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bet.py +0 -0
  258. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bfi.py +0 -0
  259. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bfmtv.py +0 -0
  260. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bibeltv.py +0 -0
  261. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bigflix.py +0 -0
  262. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bigo.py +0 -0
  263. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bild.py +0 -0
  264. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bilibili.py +0 -0
  265. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/biobiochiletv.py +0 -0
  266. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bitchute.py +0 -0
  267. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bitmovin.py +0 -0
  268. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/blackboardcollaborate.py +0 -0
  269. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bleacherreport.py +0 -0
  270. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/blerp.py +0 -0
  271. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/blogger.py +0 -0
  272. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bloomberg.py +0 -0
  273. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bluesky.py +0 -0
  274. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bokecc.py +0 -0
  275. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bongacams.py +0 -0
  276. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/boosty.py +0 -0
  277. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bostonglobe.py +0 -0
  278. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/box.py +0 -0
  279. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/boxcast.py +0 -0
  280. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bpb.py +0 -0
  281. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/br.py +0 -0
  282. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/brainpop.py +0 -0
  283. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/breitbart.py +0 -0
  284. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/brightcove.py +0 -0
  285. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/brilliantpala.py +0 -0
  286. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/btvplus.py +0 -0
  287. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bundesliga.py +0 -0
  288. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bundestag.py +0 -0
  289. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/bunnycdn.py +0 -0
  290. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/businessinsider.py +0 -0
  291. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/buzzfeed.py +0 -0
  292. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/byutv.py +0 -0
  293. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/c56.py +0 -0
  294. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/caffeinetv.py +0 -0
  295. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/callin.py +0 -0
  296. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/caltrans.py +0 -0
  297. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cam4.py +0 -0
  298. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/camdemy.py +0 -0
  299. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/camfm.py +0 -0
  300. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cammodels.py +0 -0
  301. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/camsoda.py +0 -0
  302. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/camtasia.py +0 -0
  303. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/canal1.py +0 -0
  304. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/canalalpha.py +0 -0
  305. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/canalc2.py +0 -0
  306. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/canalplus.py +0 -0
  307. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/canalsurmas.py +0 -0
  308. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/caracoltv.py +0 -0
  309. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cbc.py +0 -0
  310. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cbs.py +0 -0
  311. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cbsnews.py +0 -0
  312. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cbssports.py +0 -0
  313. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ccc.py +0 -0
  314. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ccma.py +0 -0
  315. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cctv.py +0 -0
  316. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cda.py +0 -0
  317. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cellebrite.py +0 -0
  318. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ceskatelevize.py +0 -0
  319. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cgtn.py +0 -0
  320. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/charlierose.py +0 -0
  321. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/chaturbate.py +0 -0
  322. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/chilloutzone.py +0 -0
  323. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/chzzk.py +0 -0
  324. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cinemax.py +0 -0
  325. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cinetecamilano.py +0 -0
  326. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cineverse.py +0 -0
  327. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ciscolive.py +0 -0
  328. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ciscowebex.py +0 -0
  329. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cjsw.py +0 -0
  330. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/clipchamp.py +0 -0
  331. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/clippit.py +0 -0
  332. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cliprs.py +0 -0
  333. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/closertotruth.py +0 -0
  334. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cloudflarestream.py +0 -0
  335. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cloudycdn.py +0 -0
  336. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/clubic.py +0 -0
  337. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/clyp.py +0 -0
  338. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cnbc.py +0 -0
  339. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cnn.py +0 -0
  340. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/comedycentral.py +0 -0
  341. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/common.py +0 -0
  342. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/commonmistakes.py +0 -0
  343. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/commonprotocols.py +0 -0
  344. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/condenast.py +0 -0
  345. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/contv.py +0 -0
  346. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/corus.py +0 -0
  347. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/coub.py +0 -0
  348. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cozytv.py +0 -0
  349. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cpac.py +0 -0
  350. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cracked.py +0 -0
  351. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/craftsy.py +0 -0
  352. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/crooksandliars.py +0 -0
  353. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/crowdbunker.py +0 -0
  354. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/crtvg.py +0 -0
  355. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cspan.py +0 -0
  356. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ctsnews.py +0 -0
  357. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ctvnews.py +0 -0
  358. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cultureunplugged.py +0 -0
  359. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/curiositystream.py +0 -0
  360. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/cybrary.py +0 -0
  361. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dacast.py +0 -0
  362. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dailymail.py +0 -0
  363. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dailymotion.py +0 -0
  364. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dailywire.py +0 -0
  365. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/damtomo.py +0 -0
  366. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dangalplay.py +0 -0
  367. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/daum.py +0 -0
  368. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/daystar.py +0 -0
  369. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dbtv.py +0 -0
  370. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dctp.py +0 -0
  371. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/democracynow.py +0 -0
  372. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/detik.py +0 -0
  373. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/deuxm.py +0 -0
  374. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dfb.py +0 -0
  375. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dhm.py +0 -0
  376. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/digitalconcerthall.py +0 -0
  377. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/digiteka.py +0 -0
  378. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/digiview.py +0 -0
  379. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/discogs.py +0 -0
  380. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/disney.py +0 -0
  381. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dispeak.py +0 -0
  382. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dlf.py +0 -0
  383. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dlive.py +0 -0
  384. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/douyutv.py +0 -0
  385. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dplay.py +0 -0
  386. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/drbonanza.py +0 -0
  387. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dreisat.py +0 -0
  388. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/drooble.py +0 -0
  389. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dropbox.py +0 -0
  390. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dropout.py +0 -0
  391. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/drtalks.py +0 -0
  392. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/drtuber.py +0 -0
  393. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/drtv.py +0 -0
  394. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dtube.py +0 -0
  395. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/duboku.py +0 -0
  396. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dumpert.py +0 -0
  397. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/duoplay.py +0 -0
  398. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dvtv.py +0 -0
  399. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/dw.py +0 -0
  400. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ebaumsworld.py +0 -0
  401. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ebay.py +0 -0
  402. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/egghead.py +0 -0
  403. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eggs.py +0 -0
  404. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eighttracks.py +0 -0
  405. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eitb.py +0 -0
  406. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/elementorembed.py +0 -0
  407. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/elonet.py +0 -0
  408. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/elpais.py +0 -0
  409. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eltrecetv.py +0 -0
  410. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/embedly.py +0 -0
  411. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/epicon.py +0 -0
  412. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/epidemicsound.py +0 -0
  413. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eplus.py +0 -0
  414. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/epoch.py +0 -0
  415. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eporner.py +0 -0
  416. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/erocast.py +0 -0
  417. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eroprofile.py +0 -0
  418. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/err.py +0 -0
  419. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ertgr.py +0 -0
  420. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/espn.py +0 -0
  421. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ettutv.py +0 -0
  422. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/europa.py +0 -0
  423. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/europeantour.py +0 -0
  424. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eurosport.py +0 -0
  425. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/euscreen.py +0 -0
  426. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/expressen.py +0 -0
  427. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/extractors.py +0 -0
  428. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/eyedotv.py +0 -0
  429. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/facebook.py +0 -0
  430. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fancode.py +0 -0
  431. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fathom.py +0 -0
  432. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/faulio.py +0 -0
  433. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/faz.py +0 -0
  434. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fc2.py +0 -0
  435. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fczenit.py +0 -0
  436. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fifa.py +0 -0
  437. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/filmon.py +0 -0
  438. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/filmweb.py +0 -0
  439. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/firsttv.py +0 -0
  440. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fivetv.py +0 -0
  441. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/flextv.py +0 -0
  442. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/flickr.py +0 -0
  443. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/floatplane.py +0 -0
  444. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/folketinget.py +0 -0
  445. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/footyroom.py +0 -0
  446. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/formula1.py +0 -0
  447. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fourtube.py +0 -0
  448. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fox.py +0 -0
  449. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fox9.py +0 -0
  450. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/foxnews.py +0 -0
  451. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/foxsports.py +0 -0
  452. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fptplay.py +0 -0
  453. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/francaisfacile.py +0 -0
  454. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/franceinter.py +0 -0
  455. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/francetv.py +0 -0
  456. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/freesound.py +0 -0
  457. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/freespeech.py +0 -0
  458. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/freetv.py +0 -0
  459. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/frontendmasters.py +0 -0
  460. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/frontro.py +0 -0
  461. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fujitv.py +0 -0
  462. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/funk.py +0 -0
  463. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/funker530.py +0 -0
  464. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/fuyintv.py +0 -0
  465. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gab.py +0 -0
  466. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gaia.py +0 -0
  467. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gamedevtv.py +0 -0
  468. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gamejolt.py +0 -0
  469. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gamespot.py +0 -0
  470. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gamestar.py +0 -0
  471. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gaskrank.py +0 -0
  472. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gazeta.py +0 -0
  473. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gbnews.py +0 -0
  474. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gdcvault.py +0 -0
  475. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gedidigital.py +0 -0
  476. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/generic.py +0 -0
  477. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/genericembeds.py +0 -0
  478. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/genius.py +0 -0
  479. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/germanupa.py +0 -0
  480. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/getcourseru.py +0 -0
  481. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gettr.py +0 -0
  482. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/giantbomb.py +0 -0
  483. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/glide.py +0 -0
  484. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/globalplayer.py +0 -0
  485. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/globo.py +0 -0
  486. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/glomex.py +0 -0
  487. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gmanetwork.py +0 -0
  488. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/go.py +0 -0
  489. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/godresource.py +0 -0
  490. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/godtube.py +0 -0
  491. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gofile.py +0 -0
  492. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/golem.py +0 -0
  493. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/goodgame.py +0 -0
  494. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/googledrive.py +0 -0
  495. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/googlepodcasts.py +0 -0
  496. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/googlesearch.py +0 -0
  497. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/goplay.py +0 -0
  498. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gopro.py +0 -0
  499. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/goshgay.py +0 -0
  500. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gotostage.py +0 -0
  501. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gputechconf.py +0 -0
  502. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/graspop.py +0 -0
  503. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/gronkh.py +0 -0
  504. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/groupon.py +0 -0
  505. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/harpodeon.py +0 -0
  506. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hbo.py +0 -0
  507. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hearthisat.py +0 -0
  508. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/heise.py +0 -0
  509. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hellporno.py +0 -0
  510. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hgtv.py +0 -0
  511. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hidive.py +0 -0
  512. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/historicfilms.py +0 -0
  513. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hitrecord.py +0 -0
  514. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hketv.py +0 -0
  515. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hollywoodreporter.py +0 -0
  516. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/holodex.py +0 -0
  517. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hotnewhiphop.py +0 -0
  518. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hotstar.py +0 -0
  519. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hrefli.py +0 -0
  520. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hrfensehen.py +0 -0
  521. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hrti.py +0 -0
  522. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hse.py +0 -0
  523. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/huajiao.py +0 -0
  524. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/huffpost.py +0 -0
  525. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hungama.py +0 -0
  526. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/huya.py +0 -0
  527. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hypem.py +0 -0
  528. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hypergryph.py +0 -0
  529. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/hytale.py +0 -0
  530. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/icareus.py +0 -0
  531. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ichinanalive.py +0 -0
  532. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/idagio.py +0 -0
  533. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/idolplus.py +0 -0
  534. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ign.py +0 -0
  535. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/iheart.py +0 -0
  536. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ilpost.py +0 -0
  537. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/iltalehti.py +0 -0
  538. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/imdb.py +0 -0
  539. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/imggaming.py +0 -0
  540. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/imgur.py +0 -0
  541. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ina.py +0 -0
  542. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/inc.py +0 -0
  543. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/indavideo.py +0 -0
  544. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/infoq.py +0 -0
  545. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/instagram.py +0 -0
  546. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/internazionale.py +0 -0
  547. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/internetvideoarchive.py +0 -0
  548. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/iprima.py +0 -0
  549. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/iqiyi.py +0 -0
  550. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/islamchannel.py +0 -0
  551. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/israelnationalnews.py +0 -0
  552. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/itprotv.py +0 -0
  553. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/itv.py +0 -0
  554. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ivi.py +0 -0
  555. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ivideon.py +0 -0
  556. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ivoox.py +0 -0
  557. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/iwara.py +0 -0
  558. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ixigua.py +0 -0
  559. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/izlesene.py +0 -0
  560. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jamendo.py +0 -0
  561. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/japandiet.py +0 -0
  562. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jeuxvideo.py +0 -0
  563. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jiosaavn.py +0 -0
  564. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jixie.py +0 -0
  565. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/joj.py +0 -0
  566. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jove.py +0 -0
  567. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jstream.py +0 -0
  568. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jtbc.py +0 -0
  569. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/jwplatform.py +0 -0
  570. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kakao.py +0 -0
  571. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kaltura.py +0 -0
  572. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kankanews.py +0 -0
  573. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/karaoketv.py +0 -0
  574. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kelbyone.py +0 -0
  575. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kenh14.py +0 -0
  576. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/khanacademy.py +0 -0
  577. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kick.py +0 -0
  578. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kicker.py +0 -0
  579. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kickstarter.py +0 -0
  580. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kika.py +0 -0
  581. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kinja.py +0 -0
  582. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kinopoisk.py +0 -0
  583. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kommunetv.py +0 -0
  584. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kompas.py +0 -0
  585. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/koo.py +0 -0
  586. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/krasview.py +0 -0
  587. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kth.py +0 -0
  588. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ku6.py +0 -0
  589. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kukululive.py +0 -0
  590. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/kuwo.py +0 -0
  591. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/la7.py +0 -0
  592. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/laracasts.py +0 -0
  593. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lastfm.py +0 -0
  594. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/laxarxames.py +0 -0
  595. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lbry.py +0 -0
  596. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lci.py +0 -0
  597. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lcp.py +0 -0
  598. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/learningonscreen.py +0 -0
  599. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lecture2go.py +0 -0
  600. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lecturio.py +0 -0
  601. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/leeco.py +0 -0
  602. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lefigaro.py +0 -0
  603. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lego.py +0 -0
  604. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lemonde.py +0 -0
  605. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lenta.py +0 -0
  606. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/libraryofcongress.py +0 -0
  607. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/libsyn.py +0 -0
  608. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lifenews.py +0 -0
  609. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/likee.py +0 -0
  610. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/linkedin.py +0 -0
  611. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/liputan6.py +0 -0
  612. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/listennotes.py +0 -0
  613. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/litv.py +0 -0
  614. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/livejournal.py +0 -0
  615. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/livestream.py +0 -0
  616. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/livestreamfails.py +0 -0
  617. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lnk.py +0 -0
  618. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/loco.py +0 -0
  619. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/loom.py +0 -0
  620. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lovehomeporn.py +0 -0
  621. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lrt.py +0 -0
  622. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lsm.py +0 -0
  623. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lumni.py +0 -0
  624. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/lynda.py +0 -0
  625. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/maariv.py +0 -0
  626. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/magellantv.py +0 -0
  627. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/magentamusik.py +0 -0
  628. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mailru.py +0 -0
  629. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mainstreaming.py +0 -0
  630. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mangomolo.py +0 -0
  631. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/manoto.py +0 -0
  632. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/manyvids.py +0 -0
  633. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/maoritv.py +0 -0
  634. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/markiza.py +0 -0
  635. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/massengeschmacktv.py +0 -0
  636. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/masters.py +0 -0
  637. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/matchtv.py +0 -0
  638. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mave.py +0 -0
  639. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mbn.py +0 -0
  640. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mdr.py +0 -0
  641. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/medaltv.py +0 -0
  642. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediaite.py +0 -0
  643. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediaklikk.py +0 -0
  644. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/medialaan.py +0 -0
  645. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediaset.py +0 -0
  646. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediasite.py +0 -0
  647. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediastream.py +0 -0
  648. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mediaworksnz.py +0 -0
  649. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/medici.py +0 -0
  650. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/megaphone.py +0 -0
  651. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/megatvcom.py +0 -0
  652. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/meipai.py +0 -0
  653. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/melonvod.py +0 -0
  654. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/metacritic.py +0 -0
  655. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mgtv.py +0 -0
  656. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/microsoftembed.py +0 -0
  657. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/microsoftstream.py +0 -0
  658. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/minds.py +0 -0
  659. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/minoto.py +0 -0
  660. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mir24tv.py +0 -0
  661. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mirrativ.py +0 -0
  662. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mirrorcouk.py +0 -0
  663. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mit.py +0 -0
  664. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mixch.py +0 -0
  665. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mixcloud.py +0 -0
  666. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mixlr.py +0 -0
  667. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mlb.py +0 -0
  668. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mlssoccer.py +0 -0
  669. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mocha.py +0 -0
  670. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mojevideo.py +0 -0
  671. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mojvideo.py +0 -0
  672. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/monstercat.py +0 -0
  673. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/motherless.py +0 -0
  674. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/motorsport.py +0 -0
  675. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/moviepilot.py +0 -0
  676. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/moview.py +0 -0
  677. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/moviezine.py +0 -0
  678. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/movingimage.py +0 -0
  679. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/msn.py +0 -0
  680. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mtv.py +0 -0
  681. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/muenchentv.py +0 -0
  682. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/murrtube.py +0 -0
  683. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/museai.py +0 -0
  684. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/musescore.py +0 -0
  685. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/musicdex.py +0 -0
  686. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mux.py +0 -0
  687. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mx3.py +0 -0
  688. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mxplayer.py +0 -0
  689. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/myspace.py +0 -0
  690. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/myspass.py +0 -0
  691. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/myvideoge.py +0 -0
  692. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/myvidster.py +0 -0
  693. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/mzaalo.py +0 -0
  694. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/n1.py +0 -0
  695. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nascar.py +0 -0
  696. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nate.py +0 -0
  697. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nationalgeographic.py +0 -0
  698. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/naver.py +0 -0
  699. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nba.py +0 -0
  700. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nbc.py +0 -0
  701. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ndr.py +0 -0
  702. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ndtv.py +0 -0
  703. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nebula.py +0 -0
  704. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nekohacker.py +0 -0
  705. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nerdcubed.py +0 -0
  706. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nest.py +0 -0
  707. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/netapp.py +0 -0
  708. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/neteasemusic.py +0 -0
  709. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/netverse.py +0 -0
  710. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/netzkino.py +0 -0
  711. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/newgrounds.py +0 -0
  712. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/newspicks.py +0 -0
  713. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/newsy.py +0 -0
  714. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nextmedia.py +0 -0
  715. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nexx.py +0 -0
  716. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nfb.py +0 -0
  717. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nfhsnetwork.py +0 -0
  718. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nfl.py +0 -0
  719. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nhk.py +0 -0
  720. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nhl.py +0 -0
  721. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nick.py +0 -0
  722. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/niconico.py +0 -0
  723. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/niconicochannelplus.py +0 -0
  724. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ninaprotocol.py +0 -0
  725. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ninecninemedia.py +0 -0
  726. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ninegag.py +0 -0
  727. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ninenews.py +0 -0
  728. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ninenow.py +0 -0
  729. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nintendo.py +0 -0
  730. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nitter.py +0 -0
  731. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nobelprize.py +0 -0
  732. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/noice.py +0 -0
  733. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nonktube.py +0 -0
  734. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/noodlemagazine.py +0 -0
  735. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nosnl.py +0 -0
  736. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nova.py +0 -0
  737. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/novaplay.py +0 -0
  738. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nowcanal.py +0 -0
  739. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nowness.py +0 -0
  740. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/noz.py +0 -0
  741. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/npo.py +0 -0
  742. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/npr.py +0 -0
  743. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nrk.py +0 -0
  744. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nrl.py +0 -0
  745. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nts.py +0 -0
  746. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ntvcojp.py +0 -0
  747. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ntvde.py +0 -0
  748. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ntvru.py +0 -0
  749. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nubilesporn.py +0 -0
  750. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nuevo.py +0 -0
  751. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nuum.py +0 -0
  752. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nuvid.py +0 -0
  753. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nytimes.py +0 -0
  754. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nzherald.py +0 -0
  755. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nzonscreen.py +0 -0
  756. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/nzz.py +0 -0
  757. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/odkmedia.py +0 -0
  758. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/odnoklassniki.py +0 -0
  759. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/oftv.py +0 -0
  760. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/oktoberfesttv.py +0 -0
  761. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/olympics.py +0 -0
  762. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/on24.py +0 -0
  763. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ondemandkorea.py +0 -0
  764. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/onefootball.py +0 -0
  765. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/onenewsnz.py +0 -0
  766. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/oneplace.py +0 -0
  767. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/onet.py +0 -0
  768. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/onionstudios.py +0 -0
  769. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/onsen.py +0 -0
  770. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/opencast.py +0 -0
  771. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/openload.py +0 -0
  772. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/openrec.py +0 -0
  773. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ora.py +0 -0
  774. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/orf.py +0 -0
  775. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/outsidetv.py +0 -0
  776. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/owncloud.py +0 -0
  777. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/packtpub.py +0 -0
  778. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/palcomp3.py +0 -0
  779. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/panopto.py +0 -0
  780. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/parler.py +0 -0
  781. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/parlview.py +0 -0
  782. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/parti.py +0 -0
  783. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/patreon.py +0 -0
  784. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pbs.py +0 -0
  785. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pearvideo.py +0 -0
  786. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/peekvids.py +0 -0
  787. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/peertube.py +0 -0
  788. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/peertv.py +0 -0
  789. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/peloton.py +0 -0
  790. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/performgroup.py +0 -0
  791. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/periscope.py +0 -0
  792. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pgatour.py +0 -0
  793. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/philharmoniedeparis.py +0 -0
  794. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/phoenix.py +0 -0
  795. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/photobucket.py +0 -0
  796. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pialive.py +0 -0
  797. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/piapro.py +0 -0
  798. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/picarto.py +0 -0
  799. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/piksel.py +0 -0
  800. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pinkbike.py +0 -0
  801. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pinterest.py +0 -0
  802. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/piramidetv.py +0 -0
  803. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/planetmarathi.py +0 -0
  804. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/platzi.py +0 -0
  805. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/playerfm.py +0 -0
  806. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/playplustv.py +0 -0
  807. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/playsuisse.py +0 -0
  808. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/playtvak.py +0 -0
  809. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/playwire.py +0 -0
  810. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pluralsight.py +0 -0
  811. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/plutotv.py +0 -0
  812. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/plvideo.py +0 -0
  813. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/plyr.py +0 -0
  814. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/podbayfm.py +0 -0
  815. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/podchaser.py +0 -0
  816. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/podomatic.py +0 -0
  817. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pokergo.py +0 -0
  818. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/polsatgo.py +0 -0
  819. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/polskieradio.py +0 -0
  820. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/popcorntimes.py +0 -0
  821. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/popcorntv.py +0 -0
  822. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornbox.py +0 -0
  823. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornflip.py +0 -0
  824. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornhub.py +0 -0
  825. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornotube.py +0 -0
  826. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornovoisines.py +0 -0
  827. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pornoxo.py +0 -0
  828. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pr0gramm.py +0 -0
  829. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/prankcast.py +0 -0
  830. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/premiershiprugby.py +0 -0
  831. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/presstv.py +0 -0
  832. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/projectveritas.py +0 -0
  833. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/prosiebensat1.py +0 -0
  834. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/prx.py +0 -0
  835. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/puhutv.py +0 -0
  836. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/puls4.py +0 -0
  837. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/pyvideo.py +0 -0
  838. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/qdance.py +0 -0
  839. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/qingting.py +0 -0
  840. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/qqmusic.py +0 -0
  841. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/r7.py +0 -0
  842. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiko.py +0 -0
  843. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiocanada.py +0 -0
  844. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiocomercial.py +0 -0
  845. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiode.py +0 -0
  846. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiofrance.py +0 -0
  847. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiojavan.py +0 -0
  848. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiokapital.py +0 -0
  849. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radioradicale.py +0 -0
  850. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radiozet.py +0 -0
  851. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/radlive.py +0 -0
  852. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rai.py +0 -0
  853. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/raywenderlich.py +0 -0
  854. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rbgtum.py +0 -0
  855. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rcs.py +0 -0
  856. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rcti.py +0 -0
  857. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rds.py +0 -0
  858. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/redbee.py +0 -0
  859. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/redbulltv.py +0 -0
  860. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/reddit.py +0 -0
  861. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/redge.py +0 -0
  862. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/redgifs.py +0 -0
  863. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/redtube.py +0 -0
  864. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rentv.py +0 -0
  865. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/restudy.py +0 -0
  866. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/reuters.py +0 -0
  867. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/reverbnation.py +0 -0
  868. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rheinmaintv.py +0 -0
  869. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ridehome.py +0 -0
  870. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rinsefm.py +0 -0
  871. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rmcdecouverte.py +0 -0
  872. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rockstargames.py +0 -0
  873. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rokfin.py +0 -0
  874. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/roosterteeth.py +0 -0
  875. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rottentomatoes.py +0 -0
  876. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/roya.py +0 -0
  877. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rozhlas.py +0 -0
  878. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rte.py +0 -0
  879. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtl2.py +0 -0
  880. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtlnl.py +0 -0
  881. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtnews.py +0 -0
  882. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtp.py +0 -0
  883. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtrfm.py +0 -0
  884. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rts.py +0 -0
  885. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtvcplay.py +0 -0
  886. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtve.py +0 -0
  887. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtvs.py +0 -0
  888. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rtvslo.py +0 -0
  889. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rudovideo.py +0 -0
  890. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rule34video.py +0 -0
  891. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rumble.py +0 -0
  892. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/rutube.py +0 -0
  893. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ruutu.py +0 -0
  894. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ruv.py +0 -0
  895. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/s4c.py +0 -0
  896. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/safari.py +0 -0
  897. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/saitosan.py +0 -0
  898. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/samplefocus.py +0 -0
  899. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sapo.py +0 -0
  900. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sauceplus.py +0 -0
  901. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sbs.py +0 -0
  902. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sbscokr.py +0 -0
  903. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/screen9.py +0 -0
  904. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/screencast.py +0 -0
  905. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/screencastify.py +0 -0
  906. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/screencastomatic.py +0 -0
  907. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/screenrec.py +0 -0
  908. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/scrippsnetworks.py +0 -0
  909. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/scrolller.py +0 -0
  910. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/scte.py +0 -0
  911. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sejmpl.py +0 -0
  912. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sen.py +0 -0
  913. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/senalcolombia.py +0 -0
  914. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/senategov.py +0 -0
  915. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sendtonews.py +0 -0
  916. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/servus.py +0 -0
  917. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sevenplus.py +0 -0
  918. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sexu.py +0 -0
  919. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/seznamzpravy.py +0 -0
  920. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/shahid.py +0 -0
  921. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sharepoint.py +0 -0
  922. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sharevideos.py +0 -0
  923. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/shemaroome.py +0 -0
  924. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/shiey.py +0 -0
  925. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/showroomlive.py +0 -0
  926. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sibnet.py +0 -0
  927. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/simplecast.py +0 -0
  928. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sina.py +0 -0
  929. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/skeb.py +0 -0
  930. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sky.py +0 -0
  931. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/skyit.py +0 -0
  932. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/skylinewebcams.py +0 -0
  933. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/skynewsarabia.py +0 -0
  934. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/skynewsau.py +0 -0
  935. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/slideshare.py +0 -0
  936. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/slideslive.py +0 -0
  937. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/slutload.py +0 -0
  938. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/smotrim.py +0 -0
  939. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/snapchat.py +0 -0
  940. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/snotr.py +0 -0
  941. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/softwhiteunderbelly.py +0 -0
  942. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sohu.py +0 -0
  943. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sonyliv.py +0 -0
  944. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/soundcloud.py +0 -0
  945. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/soundgasm.py +0 -0
  946. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/southpark.py +0 -0
  947. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sovietscloset.py +0 -0
  948. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/spankbang.py +0 -0
  949. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/spiegel.py +0 -0
  950. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sport5.py +0 -0
  951. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sportbox.py +0 -0
  952. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/spreaker.py +0 -0
  953. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/springboardplatform.py +0 -0
  954. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sproutvideo.py +0 -0
  955. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/srgssr.py +0 -0
  956. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/srmediathek.py +0 -0
  957. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stacommu.py +0 -0
  958. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stageplus.py +0 -0
  959. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stanfordoc.py +0 -0
  960. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/startrek.py +0 -0
  961. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/startv.py +0 -0
  962. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/steam.py +0 -0
  963. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stitcher.py +0 -0
  964. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/storyfire.py +0 -0
  965. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/streaks.py +0 -0
  966. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/streamable.py +0 -0
  967. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/streamcz.py +0 -0
  968. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/streetvoice.py +0 -0
  969. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stretchinternet.py +0 -0
  970. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stripchat.py +0 -0
  971. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/stv.py +0 -0
  972. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/subsplash.py +0 -0
  973. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/substack.py +0 -0
  974. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sunporno.py +0 -0
  975. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sverigesradio.py +0 -0
  976. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/svt.py +0 -0
  977. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/swearnet.py +0 -0
  978. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/syvdk.py +0 -0
  979. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/sztvhu.py +0 -0
  980. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tagesschau.py +0 -0
  981. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/taptap.py +0 -0
  982. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tass.py +0 -0
  983. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tbs.py +0 -0
  984. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tbsjp.py +0 -0
  985. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teachable.py +0 -0
  986. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teachertube.py +0 -0
  987. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teachingchannel.py +0 -0
  988. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teamcoco.py +0 -0
  989. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teamtreehouse.py +0 -0
  990. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ted.py +0 -0
  991. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tele13.py +0 -0
  992. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tele5.py +0 -0
  993. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telebruxelles.py +0 -0
  994. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telecaribe.py +0 -0
  995. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telecinco.py +0 -0
  996. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telegraaf.py +0 -0
  997. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telegram.py +0 -0
  998. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telemb.py +0 -0
  999. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telemundo.py +0 -0
  1000. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telequebec.py +0 -0
  1001. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/teletask.py +0 -0
  1002. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/telewebion.py +0 -0
  1003. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tempo.py +0 -0
  1004. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tencent.py +0 -0
  1005. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tennistv.py +0 -0
  1006. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tenplay.py +0 -0
  1007. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/testurl.py +0 -0
  1008. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tf1.py +0 -0
  1009. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tfo.py +0 -0
  1010. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/theguardian.py +0 -0
  1011. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thehighwire.py +0 -0
  1012. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/theholetv.py +0 -0
  1013. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/theintercept.py +0 -0
  1014. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/theplatform.py +0 -0
  1015. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thestar.py +0 -0
  1016. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thesun.py +0 -0
  1017. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/theweatherchannel.py +0 -0
  1018. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thisamericanlife.py +0 -0
  1019. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thisoldhouse.py +0 -0
  1020. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/thisvid.py +0 -0
  1021. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/threeqsdn.py +0 -0
  1022. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/threespeak.py +0 -0
  1023. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tiktok.py +0 -0
  1024. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tmz.py +0 -0
  1025. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tnaflix.py +0 -0
  1026. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toggle.py +0 -0
  1027. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toggo.py +0 -0
  1028. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tonline.py +0 -0
  1029. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toongoggles.py +0 -0
  1030. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toutiao.py +0 -0
  1031. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toutv.py +0 -0
  1032. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/toypics.py +0 -0
  1033. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/traileraddict.py +0 -0
  1034. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/triller.py +0 -0
  1035. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/trovo.py +0 -0
  1036. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/trtcocuk.py +0 -0
  1037. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/trtworld.py +0 -0
  1038. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/trueid.py +0 -0
  1039. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/trunews.py +0 -0
  1040. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/truth.py +0 -0
  1041. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tube8.py +0 -0
  1042. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tubetugraz.py +0 -0
  1043. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tubitv.py +0 -0
  1044. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tumblr.py +0 -0
  1045. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tunein.py +0 -0
  1046. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/turner.py +0 -0
  1047. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv2.py +0 -0
  1048. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv24ua.py +0 -0
  1049. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv2dk.py +0 -0
  1050. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv2hu.py +0 -0
  1051. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv4.py +0 -0
  1052. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv5mondeplus.py +0 -0
  1053. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tv5unis.py +0 -0
  1054. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tva.py +0 -0
  1055. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvanouvelles.py +0 -0
  1056. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvc.py +0 -0
  1057. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tver.py +0 -0
  1058. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvigle.py +0 -0
  1059. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tviplayer.py +0 -0
  1060. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvn24.py +0 -0
  1061. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvnoe.py +0 -0
  1062. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvopengr.py +0 -0
  1063. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvp.py +0 -0
  1064. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvplay.py +0 -0
  1065. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvplayer.py +0 -0
  1066. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tvw.py +0 -0
  1067. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/tweakers.py +0 -0
  1068. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/twentymin.py +0 -0
  1069. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/twentythreevideo.py +0 -0
  1070. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/twitcasting.py +0 -0
  1071. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/twitch.py +0 -0
  1072. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/twitter.py +0 -0
  1073. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/txxx.py +0 -0
  1074. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/udemy.py +0 -0
  1075. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/udn.py +0 -0
  1076. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ufctv.py +0 -0
  1077. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ukcolumn.py +0 -0
  1078. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/uktvplay.py +0 -0
  1079. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/uliza.py +0 -0
  1080. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/umg.py +0 -0
  1081. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/unistra.py +0 -0
  1082. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/unitednations.py +0 -0
  1083. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/unity.py +0 -0
  1084. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/unsupported.py +0 -0
  1085. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/uol.py +0 -0
  1086. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/uplynk.py +0 -0
  1087. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/urort.py +0 -0
  1088. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/urplay.py +0 -0
  1089. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/usanetwork.py +0 -0
  1090. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/usatoday.py +0 -0
  1091. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ustream.py +0 -0
  1092. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ustudio.py +0 -0
  1093. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/utreon.py +0 -0
  1094. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/varzesh3.py +0 -0
  1095. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vbox7.py +0 -0
  1096. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/veo.py +0 -0
  1097. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vevo.py +0 -0
  1098. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vgtv.py +0 -0
  1099. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vh1.py +0 -0
  1100. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vice.py +0 -0
  1101. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viddler.py +0 -0
  1102. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videa.py +0 -0
  1103. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videocampus_sachsen.py +0 -0
  1104. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videodetective.py +0 -0
  1105. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videofyme.py +0 -0
  1106. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videoken.py +0 -0
  1107. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videomore.py +0 -0
  1108. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/videopress.py +0 -0
  1109. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vidflex.py +0 -0
  1110. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vidio.py +0 -0
  1111. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vidlii.py +0 -0
  1112. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vidly.py +0 -0
  1113. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vidyard.py +0 -0
  1114. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viewlift.py +0 -0
  1115. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viidea.py +0 -0
  1116. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vimeo.py +0 -0
  1117. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vimm.py +0 -0
  1118. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viously.py +0 -0
  1119. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viqeo.py +0 -0
  1120. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/viu.py +0 -0
  1121. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vk.py +0 -0
  1122. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vocaroo.py +0 -0
  1123. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vodpl.py +0 -0
  1124. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vodplatform.py +0 -0
  1125. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/voicy.py +0 -0
  1126. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/volejtv.py +0 -0
  1127. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/voxmedia.py +0 -0
  1128. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vrsquare.py +0 -0
  1129. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vrt.py +0 -0
  1130. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vtm.py +0 -0
  1131. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vtv.py +0 -0
  1132. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vuclip.py +0 -0
  1133. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/vvvvid.py +0 -0
  1134. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/walla.py +0 -0
  1135. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/washingtonpost.py +0 -0
  1136. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wat.py +0 -0
  1137. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wdr.py +0 -0
  1138. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/webcamerapl.py +0 -0
  1139. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/webcaster.py +0 -0
  1140. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/webofstories.py +0 -0
  1141. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/weibo.py +0 -0
  1142. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/weiqitv.py +0 -0
  1143. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/weverse.py +0 -0
  1144. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wevidi.py +0 -0
  1145. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/weyyak.py +0 -0
  1146. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/whowatch.py +0 -0
  1147. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/whyp.py +0 -0
  1148. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wikimedia.py +0 -0
  1149. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wimbledon.py +0 -0
  1150. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wimtv.py +0 -0
  1151. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wistia.py +0 -0
  1152. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wordpress.py +0 -0
  1153. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/worldstarhiphop.py +0 -0
  1154. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wppilot.py +0 -0
  1155. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wrestleuniverse.py +0 -0
  1156. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wsj.py +0 -0
  1157. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wwe.py +0 -0
  1158. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/wykop.py +0 -0
  1159. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xboxclips.py +0 -0
  1160. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xiaohongshu.py +0 -0
  1161. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/ximalaya.py +0 -0
  1162. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xinpianchang.py +0 -0
  1163. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xminus.py +0 -0
  1164. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xnxx.py +0 -0
  1165. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xstream.py +0 -0
  1166. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xvideos.py +0 -0
  1167. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/xxxymovies.py +0 -0
  1168. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yahoo.py +0 -0
  1169. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yandexdisk.py +0 -0
  1170. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yandexmusic.py +0 -0
  1171. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yandexvideo.py +0 -0
  1172. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yapfiles.py +0 -0
  1173. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yappy.py +0 -0
  1174. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yfanefa.py +0 -0
  1175. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/yle_areena.py +0 -0
  1176. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youjizz.py +0 -0
  1177. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youku.py +0 -0
  1178. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/younow.py +0 -0
  1179. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youporn.py +0 -0
  1180. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/__init__.py +0 -0
  1181. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_base.py +0 -0
  1182. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_clip.py +0 -0
  1183. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_mistakes.py +0 -0
  1184. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_notifications.py +0 -0
  1185. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_redirect.py +0 -0
  1186. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_search.py +0 -0
  1187. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/_tab.py +0 -0
  1188. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/README.md +0 -0
  1189. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/__init__.py +0 -0
  1190. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/__init__.py +0 -0
  1191. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/bun.py +0 -0
  1192. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/deno.py +0 -0
  1193. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/node.py +0 -0
  1194. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/quickjs.py +0 -0
  1195. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/__init__.py +0 -0
  1196. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.bun.lib.js +0 -0
  1197. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.core.js +0 -0
  1198. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.deno.lib.js +0 -0
  1199. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_director.py +0 -0
  1200. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/_registry.py +0 -0
  1201. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/jsc/provider.py +0 -0
  1202. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/README.md +0 -0
  1203. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/__init__.py +0 -0
  1204. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_builtin/__init__.py +0 -0
  1205. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py +0 -0
  1206. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_builtin/webpo_cachespec.py +0 -0
  1207. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_director.py +0 -0
  1208. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_provider.py +0 -0
  1209. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/_registry.py +0 -0
  1210. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/cache.py +0 -0
  1211. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/provider.py +0 -0
  1212. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/youtube/pot/utils.py +0 -0
  1213. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zaiko.py +0 -0
  1214. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zapiks.py +0 -0
  1215. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zattoo.py +0 -0
  1216. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zdf.py +0 -0
  1217. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zee5.py +0 -0
  1218. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zeenews.py +0 -0
  1219. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zenporn.py +0 -0
  1220. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zetland.py +0 -0
  1221. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zhihu.py +0 -0
  1222. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zingmp3.py +0 -0
  1223. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zoom.py +0 -0
  1224. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/extractor/zype.py +0 -0
  1225. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/globals.py +0 -0
  1226. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/jsinterp.py +0 -0
  1227. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/minicurses.py +0 -0
  1228. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/__init__.py +0 -0
  1229. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/_curlcffi.py +0 -0
  1230. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/_helper.py +0 -0
  1231. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/_requests.py +0 -0
  1232. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/_urllib.py +0 -0
  1233. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/_websockets.py +0 -0
  1234. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/common.py +0 -0
  1235. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/exceptions.py +0 -0
  1236. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/impersonate.py +0 -0
  1237. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/networking/websocket.py +0 -0
  1238. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/plugins.py +0 -0
  1239. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/__init__.py +0 -0
  1240. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/common.py +0 -0
  1241. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/embedthumbnail.py +0 -0
  1242. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/exec.py +0 -0
  1243. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/metadataparser.py +0 -0
  1244. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/modify_chapters.py +0 -0
  1245. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/movefilesafterdownload.py +0 -0
  1246. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/sponsorblock.py +0 -0
  1247. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/postprocessor/xattrpp.py +0 -0
  1248. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/socks.py +0 -0
  1249. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/update.py +0 -0
  1250. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/__init__.py +0 -0
  1251. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/_deprecated.py +0 -0
  1252. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/_legacy.py +0 -0
  1253. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/jslib/__init__.py +0 -0
  1254. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/jslib/devalue.py +0 -0
  1255. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/networking.py +0 -0
  1256. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/progress.py +0 -0
  1257. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/utils/traversal.py +0 -0
  1258. {yt_dlp-2025.12.5.232956.dev0 → yt_dlp-2025.12.8}/yt_dlp/webvtt.py +0 -0
@@ -1,5 +1,6 @@
1
1
  04-pasha-04
2
2
  0x9fff00
3
+ 0x∅
3
4
  1-Byte
4
5
  114514ns
5
6
  2ShedsJackson
@@ -4,13 +4,15 @@
4
4
  # To create a release, dispatch the https://github.com/yt-dlp/yt-dlp/actions/workflows/release.yml workflow on master
5
5
  -->
6
6
 
7
- ### 2025.12.05.232956
7
+ ### 2025.12.08
8
8
 
9
9
  #### Core changes
10
10
  - [Respect `PATHEXT` when locating JS runtime on Windows](https://github.com/yt-dlp/yt-dlp/commit/e564b4a8080cff48fa0c28f20272c05085ee6130) ([#15117](https://github.com/yt-dlp/yt-dlp/issues/15117)) by [Grub4K](https://github.com/Grub4K)
11
+ - **cookies**: [Fix `--cookies-from-browser` for new installs of Firefox 147+](https://github.com/yt-dlp/yt-dlp/commit/fa16dc5241ac1552074feee48e1c2605dc36d352) ([#15215](https://github.com/yt-dlp/yt-dlp/issues/15215)) by [bashonly](https://github.com/bashonly), [mbway](https://github.com/mbway)
11
12
 
12
13
  #### Extractor changes
13
14
  - **agalega**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/3cb5e4db54d44fe82d4eee94ae2f37cbce2e7dfc) ([#15105](https://github.com/yt-dlp/yt-dlp/issues/15105)) by [putridambassador121](https://github.com/putridambassador121)
15
+ - **alibaba**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/c70b57c03e0c25767a5166620798297a2a4878fb) ([#15253](https://github.com/yt-dlp/yt-dlp/issues/15253)) by [seproDev](https://github.com/seproDev)
14
16
  - **bitmovin**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/45a3b42bb917e99b0b5c155c272ebf4a82a5bf66) ([#15064](https://github.com/yt-dlp/yt-dlp/issues/15064)) by [seproDev](https://github.com/seproDev)
15
17
  - **digiteka**: [Rework extractor](https://github.com/yt-dlp/yt-dlp/commit/6842620d56e4c4e6affb90c2f8dff8a36dee852c) ([#14903](https://github.com/yt-dlp/yt-dlp/issues/14903)) by [beliote](https://github.com/beliote)
16
18
  - **fc2**: live: [Raise appropriate error when stream is offline](https://github.com/yt-dlp/yt-dlp/commit/4433b3a217c9f430dc057643bfd7b6769eff4a45) ([#15180](https://github.com/yt-dlp/yt-dlp/issues/15180)) by [Zer0spectrum](https://github.com/Zer0spectrum)
@@ -26,6 +28,7 @@
26
28
  - **rinsefm**: [Fix extractors](https://github.com/yt-dlp/yt-dlp/commit/d6aa8c235d2e7d9374f79ec73af23a3859c76bea) ([#15020](https://github.com/yt-dlp/yt-dlp/issues/15020)) by [1bnBattuta](https://github.com/1bnBattuta), [seproDev](https://github.com/seproDev)
27
29
  - **s4c**: [Fix geo-restricted content](https://github.com/yt-dlp/yt-dlp/commit/26c2545b87e2b22f134d1f567ed4d4b0b91c3253) ([#15196](https://github.com/yt-dlp/yt-dlp/issues/15196)) by [seproDev](https://github.com/seproDev)
28
30
  - **soundcloudplaylist**: [Support new API URLs](https://github.com/yt-dlp/yt-dlp/commit/1dd84b9d1c33e50de49866b0d93c2596897ce506) ([#15071](https://github.com/yt-dlp/yt-dlp/issues/15071)) by [seproDev](https://github.com/seproDev)
31
+ - **sporteurope**: [Support new domain](https://github.com/yt-dlp/yt-dlp/commit/025191fea655ac879ca6dc68df358c26456a6e46) ([#15251](https://github.com/yt-dlp/yt-dlp/issues/15251)) by [bashonly](https://github.com/bashonly)
29
32
  - **sproutvideo**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/2c9f0c3456057aff0631d9ea6d3eda70ffd8aabe) ([#15113](https://github.com/yt-dlp/yt-dlp/issues/15113)) by [bashonly](https://github.com/bashonly)
30
33
  - **thechosen**: [Add extractors](https://github.com/yt-dlp/yt-dlp/commit/854fded114f3b7b33693c2d3418575d04014aa4b) ([#14183](https://github.com/yt-dlp/yt-dlp/issues/14183)) by [mrFlamel](https://github.com/mrFlamel)
31
34
  - **thisoldhouse**: [Fix login support](https://github.com/yt-dlp/yt-dlp/commit/9daba4f442139ee2537746398afc5ac30b51c28c) ([#15097](https://github.com/yt-dlp/yt-dlp/issues/15097)) by [bashonly](https://github.com/bashonly)
@@ -33,24 +36,31 @@
33
36
  - **urplay**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/c2e7e9cdb2261adde01048d161914b156a3bad51) ([#15120](https://github.com/yt-dlp/yt-dlp/issues/15120)) by [seproDev](https://github.com/seproDev)
34
37
  - **web.archive**: youtube: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/7ec6b9bc40ee8a21b11cce83a09a07a37014062e) ([#15234](https://github.com/yt-dlp/yt-dlp/issues/15234)) by [seproDev](https://github.com/seproDev)
35
38
  - **wistiachannel**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/0c696239ef418776ac6ba20284bd2f3976a011b4) ([#14218](https://github.com/yt-dlp/yt-dlp/issues/14218)) by [Sojiroh](https://github.com/Sojiroh)
39
+ - **xhamster**: [Fix extractor](https://github.com/yt-dlp/yt-dlp/commit/29e257037862f3b2ad65e6e8d2972f9ed89389e3) ([#15252](https://github.com/yt-dlp/yt-dlp/issues/15252)) by [0xvd](https://github.com/0xvd)
36
40
  - **yfanefa**: [Add extractor](https://github.com/yt-dlp/yt-dlp/commit/af285016d2b14c4445109283e7c590b31542de88) ([#15032](https://github.com/yt-dlp/yt-dlp/issues/15032)) by [Haytam001](https://github.com/Haytam001)
37
41
  - **youtube**
38
42
  - [Add `use_ad_playback_context` extractor-arg](https://github.com/yt-dlp/yt-dlp/commit/f7acf3c1f42cc474927ecc452205d7877af36731) ([#15220](https://github.com/yt-dlp/yt-dlp/issues/15220)) by [WhatAmISupposedToPutHere](https://github.com/WhatAmISupposedToPutHere)
43
+ - [Allow `ejs` patch version to differ](https://github.com/yt-dlp/yt-dlp/commit/7bd79d92965fe9f84d7e1720eb6bb10fa9a10c77) ([#15263](https://github.com/yt-dlp/yt-dlp/issues/15263)) by [Grub4K](https://github.com/Grub4K)
39
44
  - [Detect "super resolution" AI-upscaled formats](https://github.com/yt-dlp/yt-dlp/commit/4cb5e191efeebc3679f89c3c8ac819bcd511bb1f) ([#15050](https://github.com/yt-dlp/yt-dlp/issues/15050)) by [bashonly](https://github.com/bashonly)
40
45
  - [Determine wait time from player response](https://github.com/yt-dlp/yt-dlp/commit/715af0c636b2b33fb3df1eb2ee37eac8262d43ac) ([#14646](https://github.com/yt-dlp/yt-dlp/issues/14646)) by [bashonly](https://github.com/bashonly), [WhatAmISupposedToPutHere](https://github.com/WhatAmISupposedToPutHere)
41
46
  - [Extract all automatic caption languages](https://github.com/yt-dlp/yt-dlp/commit/419776ecf57269efb13095386a19ddc75c1f11b2) ([#15156](https://github.com/yt-dlp/yt-dlp/issues/15156)) by [bashonly](https://github.com/bashonly)
47
+ - [Improve message when no JS runtime is found](https://github.com/yt-dlp/yt-dlp/commit/1d43fa5af883f96af902a29544fc766f5e97fce6) ([#15266](https://github.com/yt-dlp/yt-dlp/issues/15266)) by [bashonly](https://github.com/bashonly)
48
+ - [Update ejs to 0.3.2](https://github.com/yt-dlp/yt-dlp/commit/0c7e4cfcaed95909d7c1c0a11b5a12881bcfdfd6) ([#15267](https://github.com/yt-dlp/yt-dlp/issues/15267)) by [bashonly](https://github.com/bashonly)
42
49
 
43
50
  #### Downloader changes
44
51
  - [Fix playback wait time for ffmpeg downloads](https://github.com/yt-dlp/yt-dlp/commit/23f1ab346927ab73ad510fd7ba105a69e5291c66) ([#15066](https://github.com/yt-dlp/yt-dlp/issues/15066)) by [bashonly](https://github.com/bashonly)
45
52
 
46
53
  #### Postprocessor changes
47
54
  - **ffmpeg**: [Fix uncaught error if bad --ffmpeg-location is given](https://github.com/yt-dlp/yt-dlp/commit/0eed3fe530d6ff4b668494c5b1d4d6fc1ade96f7) ([#15104](https://github.com/yt-dlp/yt-dlp/issues/15104)) by [bashonly](https://github.com/bashonly)
55
+ - **ffmpegmetadata**: [Add more tag mappings](https://github.com/yt-dlp/yt-dlp/commit/04050be583aae21f99932a674d1d2992ff016d5c) ([#14654](https://github.com/yt-dlp/yt-dlp/issues/14654)) by [garret1317](https://github.com/garret1317)
48
56
 
49
57
  #### Networking changes
50
58
  - **Request Handler**: urllib: [Do not read after close](https://github.com/yt-dlp/yt-dlp/commit/6ee6a6fc58d6254ef944bd311e6890e208a75e98) ([#15049](https://github.com/yt-dlp/yt-dlp/issues/15049)) by [bashonly](https://github.com/bashonly)
51
59
 
52
60
  #### Misc. changes
53
61
  - **build**: [Bump PyInstaller minimum version requirement to 6.17.0](https://github.com/yt-dlp/yt-dlp/commit/280165026886a1f1614ab527c34c66d71faa5d69) ([#15199](https://github.com/yt-dlp/yt-dlp/issues/15199)) by [bashonly](https://github.com/bashonly)
62
+ - **cleanup**: Miscellaneous: [7a52ff2](https://github.com/yt-dlp/yt-dlp/commit/7a52ff29d86efc8f3adeba977b2009ce40b8e52e) by [bashonly](https://github.com/bashonly), [oxyzenQ](https://github.com/oxyzenQ), [RezSat](https://github.com/RezSat), [seproDev](https://github.com/seproDev)
63
+ - **devscripts**: `install_deps`: [Align options/terms with PEP 735](https://github.com/yt-dlp/yt-dlp/commit/29fe515d8d3386b3406ff02bdabb967d6821bc02) ([#15200](https://github.com/yt-dlp/yt-dlp/issues/15200)) by [bashonly](https://github.com/bashonly)
54
64
 
55
65
  ### 2025.11.12
56
66
 
@@ -112,7 +122,7 @@ yt-dlp now requires users to have an external JavaScript runtime (e.g. Deno) ins
112
122
  - **build**: [Bump musllinux Python version to 3.14](https://github.com/yt-dlp/yt-dlp/commit/646904cd3a79429ec5fdc43f904b3f57ae213f34) ([#14623](https://github.com/yt-dlp/yt-dlp/issues/14623)) by [bashonly](https://github.com/bashonly)
113
123
  - **cleanup**
114
124
  - Miscellaneous
115
- - [c63b4e2](https://github.com/yt-dlp/yt-dlp/commit/c63b4e2a2b81cc78397c8709ef53ffd29bada213) by [bashonly](https://github.com/bashonly), [matyb08](https://github.com/matyb08), [sepro](https://github.com/sepro)
125
+ - [c63b4e2](https://github.com/yt-dlp/yt-dlp/commit/c63b4e2a2b81cc78397c8709ef53ffd29bada213) by [bashonly](https://github.com/bashonly), [matyb08](https://github.com/matyb08), [seproDev](https://github.com/seproDev)
116
126
  - [335653b](https://github.com/yt-dlp/yt-dlp/commit/335653be82d5ef999cfc2879d005397402eebec1) by [bashonly](https://github.com/bashonly), [seproDev](https://github.com/seproDev)
117
127
  - **devscripts**: [Improve `install_deps` script](https://github.com/yt-dlp/yt-dlp/commit/73922e66e437fb4bb618bdc119a96375081bf508) ([#14766](https://github.com/yt-dlp/yt-dlp/issues/14766)) by [bashonly](https://github.com/bashonly)
118
128
  - **test**: [Skip flaky tests if source unchanged](https://github.com/yt-dlp/yt-dlp/commit/ade8c2b36ff300edef87d48fd1ba835ac35c5b63) ([#14970](https://github.com/yt-dlp/yt-dlp/issues/14970)) by [bashonly](https://github.com/bashonly), [Grub4K](https://github.com/Grub4K)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yt-dlp
3
- Version: 2025.12.5.232956.dev0
3
+ Version: 2025.12.8
4
4
  Summary: A feature-rich command-line audio/video downloader
5
5
  Project-URL: Documentation, https://github.com/yt-dlp/yt-dlp#readme
6
6
  Project-URL: Repository, https://github.com/yt-dlp/yt-dlp
@@ -43,7 +43,7 @@ Requires-Dist: pycryptodomex; extra == 'default'
43
43
  Requires-Dist: requests<3,>=2.32.2; extra == 'default'
44
44
  Requires-Dist: urllib3<3,>=2.0.2; extra == 'default'
45
45
  Requires-Dist: websockets>=13.0; extra == 'default'
46
- Requires-Dist: yt-dlp-ejs==0.3.1; extra == 'default'
46
+ Requires-Dist: yt-dlp-ejs==0.3.2; extra == 'default'
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: autopep8~=2.0; extra == 'dev'
49
49
  Requires-Dist: pre-commit; extra == 'dev'
@@ -272,7 +272,7 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other versions a
272
272
  On Windows, [Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)](https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it manually.
273
273
  -->
274
274
 
275
- While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a JavaScript runtime are highly recommended
275
+ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a supported JavaScript runtime/engine are highly recommended
276
276
 
277
277
  ### Strongly recommended
278
278
 
@@ -284,7 +284,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
284
284
 
285
285
  * [**yt-dlp-ejs**](https://github.com/yt-dlp/ejs) - Required for deciphering YouTube n/sig values. Licensed under [Unlicense](https://github.com/yt-dlp/ejs/blob/main/LICENSE), bundles [MIT](https://github.com/davidbonnet/astring/blob/main/LICENSE) and [ISC](https://github.com/meriyah/meriyah/blob/main/LICENSE.md) components.
286
286
 
287
- A JavaScript runtime like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
287
+ A JavaScript runtime/engine like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
288
288
 
289
289
  ### Networking
290
290
  * [**certifi**](https://github.com/certifi/python-certifi)\* - Provides Mozilla's root certificate bundle. Licensed under [MPLv2](https://github.com/certifi/python-certifi/blob/master/LICENSE)
@@ -297,7 +297,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
297
297
  The following provide support for impersonating browser requests. This may be required for some sites that employ TLS fingerprinting.
298
298
 
299
299
  * [**curl_cffi**](https://github.com/lexiforest/curl_cffi) (recommended) - Python binding for [curl-impersonate](https://github.com/lexiforest/curl-impersonate). Provides impersonation targets for Chrome, Edge and Safari. Licensed under [MIT](https://github.com/lexiforest/curl_cffi/blob/main/LICENSE)
300
- * Can be installed with the `curl-cffi` group, e.g. `pip install "yt-dlp[default,curl-cffi]"`
300
+ * Can be installed with the `curl-cffi` extra, e.g. `pip install "yt-dlp[default,curl-cffi]"`
301
301
  * Currently included in most builds *except* `yt-dlp` (Unix zipimport binary), `yt-dlp_x86` (Windows 32-bit) and `yt-dlp_musllinux_aarch64`
302
302
 
303
303
 
@@ -334,7 +334,7 @@ To build the standalone executable, you must have Python and `pyinstaller` (plus
334
334
  You can run the following commands:
335
335
 
336
336
  ```
337
- python devscripts/install_deps.py --include-group pyinstaller
337
+ python devscripts/install_deps.py --include-extra pyinstaller
338
338
  python devscripts/make_lazy_extractors.py
339
339
  python -m bundle.pyinstaller
340
340
  ```
@@ -383,7 +383,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
383
383
  --no-update Do not check for updates (default)
384
384
  --update-to [CHANNEL]@[TAG] Upgrade/downgrade to a specific version.
385
385
  CHANNEL can be a repository as well. CHANNEL
386
- and TAG default to "nightly" and "latest"
386
+ and TAG default to "stable" and "latest"
387
387
  respectively if omitted; See "UPDATE" for
388
388
  details. Supported channels: stable,
389
389
  nightly, master
@@ -552,7 +552,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
552
552
  two-letter ISO 3166-2 country code
553
553
 
554
554
  ## Video Selection:
555
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
555
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
556
556
  to download. You can specify a range using
557
557
  "[START]:[STOP][:STEP]". For backward
558
558
  compatibility, START-STOP is also supported.
@@ -1368,7 +1368,7 @@ The field names themselves (the part inside the parenthesis) can also have some
1368
1368
 
1369
1369
  1. **Default**: A literal default value can be specified for when the field is empty using a `|` separator. This overrides `--output-na-placeholder`. E.g. `%(uploader|Unknown)s`
1370
1370
 
1371
- 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1371
+ 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma-separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1372
1372
 
1373
1373
  1. **Unicode normalization**: The format type `U` can be used for NFC [Unicode normalization](https://docs.python.org/3/library/unicodedata.html#unicodedata.normalize). The alternate form flag (`#`) changes the normalization to NFD and the conversion flag `+` can be used for NFKC/NFKD compatibility equivalence normalization. E.g. `%(title)+.100U` is NFKC
1374
1374
 
@@ -1867,8 +1867,8 @@ Metadata fields | From
1867
1867
  `track` | `track_number`
1868
1868
  `artist` | `artist`, `artists`, `creator`, `creators`, `uploader` or `uploader_id`
1869
1869
  `composer` | `composer` or `composers`
1870
- `genre` | `genre` or `genres`
1871
- `album` | `album`
1870
+ `genre` | `genre`, `genres`, `categories` or `tags`
1871
+ `album` | `album` or `series`
1872
1872
  `album_artist` | `album_artist` or `album_artists`
1873
1873
  `disc` | `disc_number`
1874
1874
  `show` | `series`
@@ -1921,7 +1921,7 @@ The following extractors use this feature:
1921
1921
  #### youtube
1922
1922
  * `lang`: Prefer translated metadata (`title`, `description` etc) of this language code (case-sensitive). By default, the video primary language metadata is preferred, with a fallback to `en` translated. See [youtube/_base.py](https://github.com/yt-dlp/yt-dlp/blob/415b4c9f955b1a0391204bd24a7132590e7b3bdb/yt_dlp/extractor/youtube/_base.py#L402-L409) for the list of supported content language codes
1923
1923
  * `skip`: One or more of `hls`, `dash` or `translated_subs` to skip extraction of the m3u8 manifests, dash manifests and [auto-translated subtitles](https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032) respectively
1924
- * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1924
+ * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime/engine is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1925
1925
  * `player_skip`: Skip some network requests that are generally needed for robust extraction. One or more of `configs` (skip client configs), `webpage` (skip initial webpage), `js` (skip js player), `initial_data` (skip initial data/next ep request). While these options can help reduce the number of requests needed or avoid some rate-limiting, they could cause issues such as missing formats or metadata. See [#860](https://github.com/yt-dlp/yt-dlp/pull/860) and [#12826](https://github.com/yt-dlp/yt-dlp/issues/12826) for more details
1926
1926
  * `webpage_skip`: Skip extraction of embedded webpage data. One or both of `player_response`, `initial_data`. These options are for testing purposes and don't skip any network requests
1927
1927
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -1936,14 +1936,14 @@ The following extractors use this feature:
1936
1936
  * `raise_incomplete_data`: `Incomplete Data Received` raises an error instead of reporting a warning
1937
1937
  * `data_sync_id`: Overrides the account Data Sync ID used in Innertube API requests. This may be needed if you are using an account with `youtube:player_skip=webpage,configs` or `youtubetab:skip=webpage`
1938
1938
  * `visitor_data`: Overrides the Visitor Data used in Innertube API requests. This should be used with `player_skip=webpage,configs` and without cookies. Note: this may have adverse effects if used improperly. If a session from a browser is wanted, you should pass cookies instead (which contain the Visitor ID)
1939
- * `po_token`: Proof of Origin (PO) Token(s) to use. Comma seperated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1939
+ * `po_token`: Proof of Origin (PO) Token(s) to use. Comma-separated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1940
1940
  * `pot_trace`: Enable debug logging for PO Token fetching. Either `true` or `false` (default)
1941
1941
  * `fetch_pot`: Policy to use for fetching a PO Token from providers. One of `always` (always try fetch a PO Token regardless if the client requires one for the given context), `never` (never fetch a PO Token), or `auto` (default; only fetch a PO Token if the client requires one for the given context)
1942
1942
  * `jsc_trace`: Enable debug logging for JS Challenge fetching. Either `true` or `false` (default)
1943
1943
  * `use_ad_playback_context`: Skip preroll ads to eliminate the mandatory wait period before download. Do NOT use this when passing premium account cookies to yt-dlp, as it will result in a loss of premium formats. Only effective with the `web`, `web_safari`, `web_music` and `mweb` player clients. Either `true` or `false` (default)
1944
1944
 
1945
1945
  #### youtube-ejs
1946
- * `jitless`: Run suported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered unsecure. Either `true` or `false` (default)
1946
+ * `jitless`: Run supported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered insecure. Either `true` or `false` (default)
1947
1947
 
1948
1948
  #### youtubepot-webpo
1949
1949
  * `bind_to_visitor_id`: Whether to use the Visitor ID instead of Visitor Data for caching WebPO tokens. Either `true` (default) or `false`
@@ -207,7 +207,7 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other versions a
207
207
  On Windows, [Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)](https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it manually.
208
208
  -->
209
209
 
210
- While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a JavaScript runtime are highly recommended
210
+ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs` and a supported JavaScript runtime/engine are highly recommended
211
211
 
212
212
  ### Strongly recommended
213
213
 
@@ -219,7 +219,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
219
219
 
220
220
  * [**yt-dlp-ejs**](https://github.com/yt-dlp/ejs) - Required for deciphering YouTube n/sig values. Licensed under [Unlicense](https://github.com/yt-dlp/ejs/blob/main/LICENSE), bundles [MIT](https://github.com/davidbonnet/astring/blob/main/LICENSE) and [ISC](https://github.com/meriyah/meriyah/blob/main/LICENSE.md) components.
221
221
 
222
- A JavaScript runtime like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
222
+ A JavaScript runtime/engine like [**deno**](https://deno.land) (recommended), [**node.js**](https://nodejs.org), [**bun**](https://bun.sh), or [**QuickJS**](https://bellard.org/quickjs/) is also required to run yt-dlp-ejs. See [the wiki](https://github.com/yt-dlp/yt-dlp/wiki/EJS).
223
223
 
224
224
  ### Networking
225
225
  * [**certifi**](https://github.com/certifi/python-certifi)\* - Provides Mozilla's root certificate bundle. Licensed under [MPLv2](https://github.com/certifi/python-certifi/blob/master/LICENSE)
@@ -232,7 +232,7 @@ While all the other dependencies are optional, `ffmpeg`, `ffprobe`, `yt-dlp-ejs`
232
232
  The following provide support for impersonating browser requests. This may be required for some sites that employ TLS fingerprinting.
233
233
 
234
234
  * [**curl_cffi**](https://github.com/lexiforest/curl_cffi) (recommended) - Python binding for [curl-impersonate](https://github.com/lexiforest/curl-impersonate). Provides impersonation targets for Chrome, Edge and Safari. Licensed under [MIT](https://github.com/lexiforest/curl_cffi/blob/main/LICENSE)
235
- * Can be installed with the `curl-cffi` group, e.g. `pip install "yt-dlp[default,curl-cffi]"`
235
+ * Can be installed with the `curl-cffi` extra, e.g. `pip install "yt-dlp[default,curl-cffi]"`
236
236
  * Currently included in most builds *except* `yt-dlp` (Unix zipimport binary), `yt-dlp_x86` (Windows 32-bit) and `yt-dlp_musllinux_aarch64`
237
237
 
238
238
 
@@ -269,7 +269,7 @@ To build the standalone executable, you must have Python and `pyinstaller` (plus
269
269
  You can run the following commands:
270
270
 
271
271
  ```
272
- python devscripts/install_deps.py --include-group pyinstaller
272
+ python devscripts/install_deps.py --include-extra pyinstaller
273
273
  python devscripts/make_lazy_extractors.py
274
274
  python -m bundle.pyinstaller
275
275
  ```
@@ -318,7 +318,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
318
318
  --no-update Do not check for updates (default)
319
319
  --update-to [CHANNEL]@[TAG] Upgrade/downgrade to a specific version.
320
320
  CHANNEL can be a repository as well. CHANNEL
321
- and TAG default to "nightly" and "latest"
321
+ and TAG default to "stable" and "latest"
322
322
  respectively if omitted; See "UPDATE" for
323
323
  details. Supported channels: stable,
324
324
  nightly, master
@@ -487,7 +487,7 @@ Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
487
487
  two-letter ISO 3166-2 country code
488
488
 
489
489
  ## Video Selection:
490
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
490
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
491
491
  to download. You can specify a range using
492
492
  "[START]:[STOP][:STEP]". For backward
493
493
  compatibility, START-STOP is also supported.
@@ -1303,7 +1303,7 @@ The field names themselves (the part inside the parenthesis) can also have some
1303
1303
 
1304
1304
  1. **Default**: A literal default value can be specified for when the field is empty using a `|` separator. This overrides `--output-na-placeholder`. E.g. `%(uploader|Unknown)s`
1305
1305
 
1306
- 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1306
+ 1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing, `+` for Unicode), `h` = HTML escaping, `l` = a comma-separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (e.g. 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted)
1307
1307
 
1308
1308
  1. **Unicode normalization**: The format type `U` can be used for NFC [Unicode normalization](https://docs.python.org/3/library/unicodedata.html#unicodedata.normalize). The alternate form flag (`#`) changes the normalization to NFD and the conversion flag `+` can be used for NFKC/NFKD compatibility equivalence normalization. E.g. `%(title)+.100U` is NFKC
1309
1309
 
@@ -1802,8 +1802,8 @@ Metadata fields | From
1802
1802
  `track` | `track_number`
1803
1803
  `artist` | `artist`, `artists`, `creator`, `creators`, `uploader` or `uploader_id`
1804
1804
  `composer` | `composer` or `composers`
1805
- `genre` | `genre` or `genres`
1806
- `album` | `album`
1805
+ `genre` | `genre`, `genres`, `categories` or `tags`
1806
+ `album` | `album` or `series`
1807
1807
  `album_artist` | `album_artist` or `album_artists`
1808
1808
  `disc` | `disc_number`
1809
1809
  `show` | `series`
@@ -1856,7 +1856,7 @@ The following extractors use this feature:
1856
1856
  #### youtube
1857
1857
  * `lang`: Prefer translated metadata (`title`, `description` etc) of this language code (case-sensitive). By default, the video primary language metadata is preferred, with a fallback to `en` translated. See [youtube/_base.py](https://github.com/yt-dlp/yt-dlp/blob/415b4c9f955b1a0391204bd24a7132590e7b3bdb/yt_dlp/extractor/youtube/_base.py#L402-L409) for the list of supported content language codes
1858
1858
  * `skip`: One or more of `hls`, `dash` or `translated_subs` to skip extraction of the m3u8 manifests, dash manifests and [auto-translated subtitles](https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032) respectively
1859
- * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1859
+ * `player_client`: Clients to extract video data from. The currently available clients are `web`, `web_safari`, `web_embedded`, `web_music`, `web_creator`, `mweb`, `ios`, `android`, `android_sdkless`, `android_vr`, `tv`, `tv_simply`, `tv_downgraded`, and `tv_embedded`. By default, `tv,android_sdkless,web` is used. If no JavaScript runtime/engine is available, then `android_sdkless,web_safari,web` is used. If logged-in cookies are passed to yt-dlp, then `tv_downgraded,web_safari,web` is used for free accounts and `tv_downgraded,web_creator,web` is used for premium accounts. The `web_music` client is added for `music.youtube.com` URLs when logged-in cookies are used. The `web_embedded` client is added for age-restricted videos but only works if the video is embeddable. The `tv_embedded` and `web_creator` clients are added for age-restricted videos if account age-verification is required. Some clients, such as `web` and `web_music`, require a `po_token` for their formats to be downloadable. Some clients, such as `web_creator`, will only work with authentication. Not all clients support authentication via cookies. You can use `default` for the default clients, or you can use `all` for all clients (not recommended). You can prefix a client with `-` to exclude it, e.g. `youtube:player_client=default,-ios`
1860
1860
  * `player_skip`: Skip some network requests that are generally needed for robust extraction. One or more of `configs` (skip client configs), `webpage` (skip initial webpage), `js` (skip js player), `initial_data` (skip initial data/next ep request). While these options can help reduce the number of requests needed or avoid some rate-limiting, they could cause issues such as missing formats or metadata. See [#860](https://github.com/yt-dlp/yt-dlp/pull/860) and [#12826](https://github.com/yt-dlp/yt-dlp/issues/12826) for more details
1861
1861
  * `webpage_skip`: Skip extraction of embedded webpage data. One or both of `player_response`, `initial_data`. These options are for testing purposes and don't skip any network requests
1862
1862
  * `player_params`: YouTube player parameters to use for player requests. Will overwrite any default ones set by yt-dlp.
@@ -1871,14 +1871,14 @@ The following extractors use this feature:
1871
1871
  * `raise_incomplete_data`: `Incomplete Data Received` raises an error instead of reporting a warning
1872
1872
  * `data_sync_id`: Overrides the account Data Sync ID used in Innertube API requests. This may be needed if you are using an account with `youtube:player_skip=webpage,configs` or `youtubetab:skip=webpage`
1873
1873
  * `visitor_data`: Overrides the Visitor Data used in Innertube API requests. This should be used with `player_skip=webpage,configs` and without cookies. Note: this may have adverse effects if used improperly. If a session from a browser is wanted, you should pass cookies instead (which contain the Visitor ID)
1874
- * `po_token`: Proof of Origin (PO) Token(s) to use. Comma seperated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1874
+ * `po_token`: Proof of Origin (PO) Token(s) to use. Comma-separated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
1875
1875
  * `pot_trace`: Enable debug logging for PO Token fetching. Either `true` or `false` (default)
1876
1876
  * `fetch_pot`: Policy to use for fetching a PO Token from providers. One of `always` (always try fetch a PO Token regardless if the client requires one for the given context), `never` (never fetch a PO Token), or `auto` (default; only fetch a PO Token if the client requires one for the given context)
1877
1877
  * `jsc_trace`: Enable debug logging for JS Challenge fetching. Either `true` or `false` (default)
1878
1878
  * `use_ad_playback_context`: Skip preroll ads to eliminate the mandatory wait period before download. Do NOT use this when passing premium account cookies to yt-dlp, as it will result in a loss of premium formats. Only effective with the `web`, `web_safari`, `web_music` and `mweb` player clients. Either `true` or `false` (default)
1879
1879
 
1880
1880
  #### youtube-ejs
1881
- * `jitless`: Run suported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered unsecure. Either `true` or `false` (default)
1881
+ * `jitless`: Run supported Javascript engines in JIT-less mode. Supported runtimes are `deno`, `node` and `bun`. Provides better security at the cost of performance/speed. Do note that `node` and `bun` are still considered insecure. Either `true` or `false` (default)
1882
1882
 
1883
1883
  #### youtubepot-webpo
1884
1884
  * `bind_to_visitor_id`: Whether to use the Visitor ID instead of Visitor Data for caching WebPO tokens. Either `true` (default) or `false`
@@ -247,7 +247,8 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other
247
247
  versions and implementations may or may not work correctly.
248
248
 
249
249
  While all the other dependencies are optional, ffmpeg, ffprobe,
250
- yt-dlp-ejs and a JavaScript runtime are highly recommended
250
+ yt-dlp-ejs and a supported JavaScript runtime/engine are highly
251
+ recommended
251
252
 
252
253
  Strongly recommended
253
254
 
@@ -267,8 +268,8 @@ Strongly recommended
267
268
  - yt-dlp-ejs - Required for deciphering YouTube n/sig values. Licensed
268
269
  under Unlicense, bundles MIT and ISC components.
269
270
 
270
- A JavaScript runtime like deno (recommended), node.js, bun, or
271
- QuickJS is also required to run yt-dlp-ejs. See the wiki.
271
+ A JavaScript runtime/engine like deno (recommended), node.js, bun,
272
+ or QuickJS is also required to run yt-dlp-ejs. See the wiki.
272
273
 
273
274
  Networking
274
275
 
@@ -289,7 +290,7 @@ may be required for some sites that employ TLS fingerprinting.
289
290
  - curl_cffi (recommended) - Python binding for curl-impersonate.
290
291
  Provides impersonation targets for Chrome, Edge and Safari. Licensed
291
292
  under MIT
292
- - Can be installed with the curl-cffi group, e.g.
293
+ - Can be installed with the curl-cffi extra, e.g.
293
294
  pip install "yt-dlp[default,curl-cffi]"
294
295
  - Currently included in most builds except yt-dlp (Unix zipimport
295
296
  binary), yt-dlp_x86 (Windows 32-bit) and
@@ -343,7 +344,7 @@ will be built for the same CPU architecture as the Python used.
343
344
 
344
345
  You can run the following commands:
345
346
 
346
- python devscripts/install_deps.py --include-group pyinstaller
347
+ python devscripts/install_deps.py --include-extra pyinstaller
347
348
  python devscripts/make_lazy_extractors.py
348
349
  python -m bundle.pyinstaller
349
350
 
@@ -408,7 +409,7 @@ General Options:
408
409
  --no-update Do not check for updates (default)
409
410
  --update-to [CHANNEL]@[TAG] Upgrade/downgrade to a specific version.
410
411
  CHANNEL can be a repository as well. CHANNEL
411
- and TAG default to "nightly" and "latest"
412
+ and TAG default to "stable" and "latest"
412
413
  respectively if omitted; See "UPDATE" for
413
414
  details. Supported channels: stable,
414
415
  nightly, master
@@ -580,7 +581,7 @@ Geo-restriction:
580
581
 
581
582
  Video Selection:
582
583
 
583
- -I, --playlist-items ITEM_SPEC Comma separated playlist_index of the items
584
+ -I, --playlist-items ITEM_SPEC Comma-separated playlist_index of the items
584
585
  to download. You can specify a range using
585
586
  "[START]:[STOP][:STEP]". For backward
586
587
  compatibility, START-STOP is also supported.
@@ -1481,7 +1482,7 @@ have some special formatting:
1481
1482
  7. More Conversions: In addition to the normal format types
1482
1483
  diouxXeEfFgGcrs, yt-dlp additionally supports converting to B =
1483
1484
  Bytes, j = json (flag # for pretty-printing, + for Unicode), h =
1484
- HTML escaping, l = a comma separated list (flag # for \n
1485
+ HTML escaping, l = a comma-separated list (flag # for \n
1485
1486
  newline-separated), q = a string quoted for the terminal (flag # to
1486
1487
  split a list into different arguments), D = add Decimal suffixes
1487
1488
  (e.g. 10M) (flag # to use 1024 as factor), and S = Sanitize as
@@ -2223,9 +2224,9 @@ metadata:
2223
2224
 
2224
2225
  composer composer or composers
2225
2226
 
2226
- genre genre or genres
2227
+ genre genre, genres, categories or tags
2227
2228
 
2228
- album album
2229
+ album album or series
2229
2230
 
2230
2231
  album_artist album_artist or album_artists
2231
2232
 
@@ -2297,7 +2298,7 @@ youtube
2297
2298
  available clients are web, web_safari, web_embedded, web_music,
2298
2299
  web_creator, mweb, ios, android, android_sdkless, android_vr, tv,
2299
2300
  tv_simply, tv_downgraded, and tv_embedded. By default,
2300
- tv,android_sdkless,web is used. If no JavaScript runtime is
2301
+ tv,android_sdkless,web is used. If no JavaScript runtime/engine is
2301
2302
  available, then android_sdkless,web_safari,web is used. If logged-in
2302
2303
  cookies are passed to yt-dlp, then tv_downgraded,web_safari,web is
2303
2304
  used for free accounts and tv_downgraded,web_creator,web is used for
@@ -2363,7 +2364,7 @@ youtube
2363
2364
  without cookies. Note: this may have adverse effects if used
2364
2365
  improperly. If a session from a browser is wanted, you should pass
2365
2366
  cookies instead (which contain the Visitor ID)
2366
- - po_token: Proof of Origin (PO) Token(s) to use. Comma seperated list
2367
+ - po_token: Proof of Origin (PO) Token(s) to use. Comma-separated list
2367
2368
  of PO Tokens in the format CLIENT.CONTEXT+PO_TOKEN, e.g.
2368
2369
  youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY.
2369
2370
  Context can be any of gvs (Google Video Server URLs), player
@@ -2385,10 +2386,10 @@ youtube
2385
2386
 
2386
2387
  youtube-ejs
2387
2388
 
2388
- - jitless: Run suported Javascript engines in JIT-less mode. Supported
2389
- runtimes are deno, node and bun. Provides better security at the
2390
- cost of performance/speed. Do note that node and bun are still
2391
- considered unsecure. Either true or false (default)
2389
+ - jitless: Run supported Javascript engines in JIT-less mode.
2390
+ Supported runtimes are deno, node and bun. Provides better security
2391
+ at the cost of performance/speed. Do note that node and bun are
2392
+ still considered insecure. Either true or false (default)
2392
2393
 
2393
2394
  youtubepot-webpo
2394
2395
 
@@ -3,7 +3,7 @@ complete --command yt-dlp --long-option help --short-option h --description 'Pri
3
3
  complete --command yt-dlp --long-option version --description 'Print program version and exit'
4
4
  complete --command yt-dlp --long-option update --short-option U --description 'Check if updates are available. You installed yt-dlp from a manual build or with a package manager; Use that to update'
5
5
  complete --command yt-dlp --long-option no-update --description 'Do not check for updates (default)'
6
- complete --command yt-dlp --long-option update-to --description 'Upgrade/downgrade to a specific version. CHANNEL can be a repository as well. CHANNEL and TAG default to "nightly" and "latest" respectively if omitted; See "UPDATE" for details. Supported channels: stable, nightly, master'
6
+ complete --command yt-dlp --long-option update-to --description 'Upgrade/downgrade to a specific version. CHANNEL can be a repository as well. CHANNEL and TAG default to "stable" and "latest" respectively if omitted; See "UPDATE" for details. Supported channels: stable, nightly, master'
7
7
  complete --command yt-dlp --long-option ignore-errors --short-option i --description 'Ignore download and postprocessing errors. The download will be considered successful even if the postprocessing fails'
8
8
  complete --command yt-dlp --long-option no-abort-on-error --description 'Continue with next video on download errors; e.g. to skip unavailable videos in a playlist (default)'
9
9
  complete --command yt-dlp --long-option abort-on-error --description 'Abort downloading of further videos if an error occurs (Alias: --no-ignore-errors)'
@@ -50,7 +50,7 @@ complete --command yt-dlp --long-option geo-bypass-country
50
50
  complete --command yt-dlp --long-option geo-bypass-ip-block
51
51
  complete --command yt-dlp --long-option playlist-start
52
52
  complete --command yt-dlp --long-option playlist-end
53
- complete --command yt-dlp --long-option playlist-items --short-option I --description 'Comma separated playlist_index of the items to download. You can specify a range using "[START]:[STOP][:STEP]". For backward compatibility, START-STOP is also supported. Use negative indices to count from the right and negative STEP to download in reverse order. E.g. "-I 1:3,7,-5::2" used on a playlist of size 15 will download the items at index 1,2,3,7,11,13,15'
53
+ complete --command yt-dlp --long-option playlist-items --short-option I --description 'Comma-separated playlist_index of the items to download. You can specify a range using "[START]:[STOP][:STEP]". For backward compatibility, START-STOP is also supported. Use negative indices to count from the right and negative STEP to download in reverse order. E.g. "-I 1:3,7,-5::2" used on a playlist of size 15 will download the items at index 1,2,3,7,11,13,15'
54
54
  complete --command yt-dlp --long-option match-title
55
55
  complete --command yt-dlp --long-option reject-title
56
56
  complete --command yt-dlp --long-option min-filesize --description 'Abort download if filesize is smaller than SIZE, e.g. 50k or 44.6M'
@@ -319,5 +319,11 @@
319
319
  "action": "add",
320
320
  "when": "6224a3898821965a7d6a2cb9cc2de40a0fd6e6bc",
321
321
  "short": "[priority] **An external JavaScript runtime is now required for full YouTube support**\nyt-dlp now requires users to have an external JavaScript runtime (e.g. Deno) installed in order to solve the JavaScript challenges presented by YouTube. [Read more](https://github.com/yt-dlp/yt-dlp/issues/15012)"
322
+ },
323
+ {
324
+ "action": "change",
325
+ "when": "c63b4e2a2b81cc78397c8709ef53ffd29bada213",
326
+ "short": "[cleanup] Misc (#14767)",
327
+ "authors": ["bashonly", "seproDev", "matyb08"]
322
328
  }
323
329
  ]
@@ -25,16 +25,16 @@ def parse_args():
25
25
  '-e', '--exclude-dependency', metavar='DEPENDENCY', action='append',
26
26
  help='exclude a dependency (can be used multiple times)')
27
27
  parser.add_argument(
28
- '-i', '--include-group', metavar='GROUP', action='append',
29
- help='include an optional dependency group (can be used multiple times)')
28
+ '-i', '--include-extra', metavar='EXTRA', action='append',
29
+ help='include an extra/optional-dependencies list (can be used multiple times)')
30
30
  parser.add_argument(
31
31
  '-c', '--cherry-pick', metavar='DEPENDENCY', action='append',
32
32
  help=(
33
33
  'only include a specific dependency from the resulting dependency list '
34
34
  '(can be used multiple times)'))
35
35
  parser.add_argument(
36
- '-o', '--only-optional-groups', action='store_true',
37
- help='omit default dependencies unless the "default" group is specified with --include-group')
36
+ '-o', '--omit-default', action='store_true',
37
+ help='omit the "default" extra unless it is explicitly included (it is included by default)')
38
38
  parser.add_argument(
39
39
  '-p', '--print', action='store_true',
40
40
  help='only print requirements to stdout')
@@ -51,27 +51,27 @@ def uniq(arg) -> dict[str, None]:
51
51
  def main():
52
52
  args = parse_args()
53
53
  project_table = parse_toml(read_file(args.input))['project']
54
- recursive_pattern = re.compile(rf'{project_table["name"]}\[(?P<group_name>[\w-]+)\]')
55
- optional_groups = project_table['optional-dependencies']
54
+ recursive_pattern = re.compile(rf'{project_table["name"]}\[(?P<extra_name>[\w-]+)\]')
55
+ extras = project_table['optional-dependencies']
56
56
 
57
57
  excludes = uniq(args.exclude_dependency)
58
58
  only_includes = uniq(args.cherry_pick)
59
- include_groups = uniq(args.include_group)
59
+ include_extras = uniq(args.include_extra)
60
60
 
61
- def yield_deps(group):
62
- for dep in group:
61
+ def yield_deps(extra):
62
+ for dep in extra:
63
63
  if mobj := recursive_pattern.fullmatch(dep):
64
- yield from optional_groups.get(mobj.group('group_name'), ())
64
+ yield from extras.get(mobj.group('extra_name'), ())
65
65
  else:
66
66
  yield dep
67
67
 
68
68
  targets = {}
69
- if not args.only_optional_groups:
69
+ if not args.omit_default:
70
70
  # legacy: 'dependencies' is empty now
71
71
  targets.update(dict.fromkeys(project_table['dependencies']))
72
- targets.update(dict.fromkeys(yield_deps(optional_groups['default'])))
72
+ targets.update(dict.fromkeys(yield_deps(extras['default'])))
73
73
 
74
- for include in filter(None, map(optional_groups.get, include_groups)):
74
+ for include in filter(None, map(extras.get, include_extras)):
75
75
  targets.update(dict.fromkeys(yield_deps(include)))
76
76
 
77
77
  def target_filter(target):
@@ -251,7 +251,13 @@ class CommitRange:
251
251
  ''', re.VERBOSE | re.DOTALL)
252
252
  EXTRACTOR_INDICATOR_RE = re.compile(r'(?:Fix|Add)\s+Extractors?', re.IGNORECASE)
253
253
  REVERT_RE = re.compile(r'(?:\[[^\]]+\]\s+)?(?i:Revert)\s+([\da-f]{40})')
254
- FIXES_RE = re.compile(r'(?i:(?:bug\s*)?fix(?:es)?(?:\s+bugs?)?(?:\s+in|\s+for)?|Improve)\s+([\da-f]{40})')
254
+ FIXES_RE = re.compile(r'''
255
+ (?i:
256
+ (?:bug\s*)?fix(?:es)?(?:
257
+ \s+(?:bugs?|regression(?:\s+introduced)?)
258
+ )?(?:\s+(?:in|for|from|by))?
259
+ |Improve
260
+ )\s+([\da-f]{40})''', re.VERBOSE)
255
261
  UPSTREAM_MERGE_RE = re.compile(r'Update to ytdl-commit-([\da-f]+)')
256
262
 
257
263
  def __init__(self, start, end, default_author=None):
@@ -56,7 +56,7 @@ default = [
56
56
  "requests>=2.32.2,<3",
57
57
  "urllib3>=2.0.2,<3",
58
58
  "websockets>=13.0",
59
- "yt-dlp-ejs==0.3.1",
59
+ "yt-dlp-ejs==0.3.2",
60
60
  ]
61
61
  curl-cffi = [
62
62
  "curl-cffi>=0.5.10,!=0.6.*,!=0.7.*,!=0.8.*,!=0.9.*,<0.14; implementation_name=='cpython'",
@@ -53,6 +53,7 @@ The only reliable way to check if a site is supported is to try it.
53
53
  - **agalega:videos**
54
54
  - **AirTV**
55
55
  - **AitubeKZVideo**
56
+ - **Alibaba**
56
57
  - **AliExpressLive**
57
58
  - **AlJazeera**
58
59
  - **Allocine**
@@ -1380,7 +1381,7 @@ The only reliable way to check if a site is supported is to try it.
1380
1381
  - **Spiegel**
1381
1382
  - **Sport5**
1382
1383
  - **SportBox**: (**Currently broken**)
1383
- - **SportDeutschland**
1384
+ - **sporteurope**
1384
1385
  - **Spreaker**
1385
1386
  - **SpreakerShow**
1386
1387
  - **SpringboardPlatform**
@@ -1403,6 +1403,9 @@ class TestUtil(unittest.TestCase):
1403
1403
  self.assertEqual(version_tuple('1'), (1,))
1404
1404
  self.assertEqual(version_tuple('10.23.344'), (10, 23, 344))
1405
1405
  self.assertEqual(version_tuple('10.1-6'), (10, 1, 6)) # avconv style
1406
+ self.assertEqual(version_tuple('invalid', lenient=True), (-1,))
1407
+ self.assertEqual(version_tuple('1.2.3', lenient=True), (1, 2, 3))
1408
+ self.assertEqual(version_tuple('12.34-something', lenient=True), (12, 34, -1))
1406
1409
 
1407
1410
  def test_detect_exe_version(self):
1408
1411
  self.assertEqual(detect_exe_version('''ffmpeg version 1.2.1