yt-dlp 2025.12.6.232939.dev0__tar.gz → 2025.12.8.550.dev0__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 (1257) hide show
  1. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/Changelog.md +9 -2
  2. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/PKG-INFO +13 -13
  3. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/README.md +11 -11
  4. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/README.txt +16 -15
  5. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/completions/fish/yt-dlp.fish +1 -1
  6. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/changelog_override.json +6 -0
  7. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/install_deps.py +13 -13
  8. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_changelog.py +7 -1
  9. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/pyproject.toml +1 -1
  10. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_utils.py +3 -0
  11. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt-dlp.1 +14 -13
  12. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/cookies.py +8 -1
  13. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_video.py +4 -4
  14. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/ejs.py +3 -1
  15. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/_info.py +1 -1
  16. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/options.py +1 -1
  17. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/ffmpeg.py +2 -2
  18. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/_jsruntime.py +5 -10
  19. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/_utils.py +3 -2
  20. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/version.py +3 -3
  21. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/.gitignore +0 -0
  22. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/AUTHORS +0 -0
  23. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/LICENSE +0 -0
  24. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/completions/bash/yt-dlp +0 -0
  25. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/completions/zsh/_yt-dlp +0 -0
  26. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/__init__.py +0 -0
  27. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/bash-completion.in +0 -0
  28. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/bash-completion.py +0 -0
  29. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/changelog_override.schema.json +0 -0
  30. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/check-porn.py +0 -0
  31. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/cli_to_api.py +0 -0
  32. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/fish-completion.in +0 -0
  33. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/fish-completion.py +0 -0
  34. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/generate_aes_testdata.py +0 -0
  35. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/generate_third_party_licenses.py +0 -0
  36. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/lazy_load_template.py +0 -0
  37. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/logo.ico +0 -0
  38. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_contributing.py +0 -0
  39. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_issue_template.py +0 -0
  40. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_lazy_extractors.py +0 -0
  41. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_readme.py +0 -0
  42. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/make_supportedsites.py +0 -0
  43. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/prepare_manpage.py +0 -0
  44. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/run_tests.py +0 -0
  45. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/set-variant.py +0 -0
  46. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/setup_variables.py +0 -0
  47. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/setup_variables_tests.py +0 -0
  48. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/tomlparse.py +0 -0
  49. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/update-version.py +0 -0
  50. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/update_changelog.py +0 -0
  51. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/update_ejs.py +0 -0
  52. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/utils.py +0 -0
  53. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/zsh-completion.in +0 -0
  54. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/devscripts/zsh-completion.py +0 -0
  55. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/supportedsites.md +0 -0
  56. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/__init__.py +0 -0
  57. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/conftest.py +0 -0
  58. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/helper.py +0 -0
  59. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/parameters.json +0 -0
  60. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_InfoExtractor.py +0 -0
  61. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_YoutubeDL.py +0 -0
  62. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_YoutubeDLCookieJar.py +0 -0
  63. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_aes.py +0 -0
  64. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_age_restriction.py +0 -0
  65. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_all_urls.py +0 -0
  66. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_cache.py +0 -0
  67. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_compat.py +0 -0
  68. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_config.py +0 -0
  69. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_cookies.py +0 -0
  70. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_devalue.py +0 -0
  71. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_download.py +0 -0
  72. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_downloader_external.py +0 -0
  73. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_downloader_http.py +0 -0
  74. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_execution.py +0 -0
  75. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_http_proxy.py +0 -0
  76. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_iqiyi_sdk_interpreter.py +0 -0
  77. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_jsc/conftest.py +0 -0
  78. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_jsc/test_ejs_integration.py +0 -0
  79. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_jsc/test_provider.py +0 -0
  80. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_jsinterp.py +0 -0
  81. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_netrc.py +0 -0
  82. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_networking.py +0 -0
  83. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_networking_utils.py +0 -0
  84. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_overwrites.py +0 -0
  85. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_plugins.py +0 -0
  86. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_post_hooks.py +0 -0
  87. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_postprocessors.py +0 -0
  88. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/conftest.py +0 -0
  89. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/test_pot_builtin_memorycache.py +0 -0
  90. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/test_pot_builtin_utils.py +0 -0
  91. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/test_pot_builtin_webpospec.py +0 -0
  92. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/test_pot_director.py +0 -0
  93. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_pot/test_pot_framework.py +0 -0
  94. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_socks.py +0 -0
  95. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_subtitles.py +0 -0
  96. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_traversal.py +0 -0
  97. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_update.py +0 -0
  98. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_verbose_output.py +0 -0
  99. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_websockets.py +0 -0
  100. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_youtube_lists.py +0 -0
  101. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/test_youtube_misc.py +0 -0
  102. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testcert.pem +0 -0
  103. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/ca.crt +0 -0
  104. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/ca.key +0 -0
  105. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/ca.srl +0 -0
  106. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/client.crt +0 -0
  107. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/client.csr +0 -0
  108. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/client.key +0 -0
  109. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/clientencrypted.key +0 -0
  110. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/clientwithencryptedkey.crt +0 -0
  111. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/clientwithkey.crt +0 -0
  112. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/certificate/instructions.md +0 -0
  113. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/cookies/httponly_cookies.txt +0 -0
  114. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/cookies/malformed_cookies.txt +0 -0
  115. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/cookies/session_cookies.txt +0 -0
  116. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/f4m/custom_base_url.f4m +0 -0
  117. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/ism/ec-3_test.Manifest +0 -0
  118. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/ism/sintel.Manifest +0 -0
  119. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/m3u8/bipbop_16x9.m3u8 +0 -0
  120. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/m3u8/img_bipbop_adv_example_fmp4.m3u8 +0 -0
  121. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/mpd/float_duration.mpd +0 -0
  122. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/mpd/subtitles.mpd +0 -0
  123. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/mpd/unfragmented.mpd +0 -0
  124. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/mpd/urls_only.mpd +0 -0
  125. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/netrc/netrc +0 -0
  126. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/netrc/print_netrc.py +0 -0
  127. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/plugin_packages/testpackage/yt_dlp_plugins/extractor/package.py +0 -0
  128. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/reload_plugins/yt_dlp_plugins/extractor/normal.py +0 -0
  129. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/reload_plugins/yt_dlp_plugins/postprocessor/normal.py +0 -0
  130. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/thumbnails/foo %d bar/placeholder +0 -0
  131. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/xspf/foo_xspf.xspf +0 -0
  132. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/extractor/_ignore.py +0 -0
  133. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/extractor/ignore.py +0 -0
  134. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/extractor/normal.py +0 -0
  135. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/extractor/override.py +0 -0
  136. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/extractor/overridetwo.py +0 -0
  137. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/yt_dlp_plugins/postprocessor/normal.py +0 -0
  138. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/zipped_plugins/yt_dlp_plugins/extractor/zipped.py +0 -0
  139. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/test/testdata/zipped_plugins/yt_dlp_plugins/postprocessor/zipped.py +0 -0
  140. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/YoutubeDL.py +0 -0
  141. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/__init__.py +0 -0
  142. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/__main__.py +0 -0
  143. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/__pyinstaller/__init__.py +0 -0
  144. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/__pyinstaller/hook-yt_dlp.py +0 -0
  145. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/aes.py +0 -0
  146. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/cache.py +0 -0
  147. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/__init__.py +0 -0
  148. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/_deprecated.py +0 -0
  149. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/_legacy.py +0 -0
  150. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/compat_utils.py +0 -0
  151. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/imghdr.py +0 -0
  152. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/shutil.py +0 -0
  153. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/urllib/__init__.py +0 -0
  154. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/compat/urllib/request.py +0 -0
  155. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/dependencies/Cryptodome.py +0 -0
  156. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/dependencies/__init__.py +0 -0
  157. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/__init__.py +0 -0
  158. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/bunnycdn.py +0 -0
  159. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/common.py +0 -0
  160. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/dash.py +0 -0
  161. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/external.py +0 -0
  162. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/f4m.py +0 -0
  163. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/fc2.py +0 -0
  164. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/fragment.py +0 -0
  165. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/hls.py +0 -0
  166. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/http.py +0 -0
  167. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/ism.py +0 -0
  168. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/mhtml.py +0 -0
  169. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/niconico.py +0 -0
  170. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/rtmp.py +0 -0
  171. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/rtsp.py +0 -0
  172. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/websocket.py +0 -0
  173. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/downloader/youtube_live_chat.py +0 -0
  174. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/__init__.py +0 -0
  175. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/_extractors.py +0 -0
  176. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/abc.py +0 -0
  177. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/abcnews.py +0 -0
  178. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/abcotvs.py +0 -0
  179. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/abematv.py +0 -0
  180. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/academicearth.py +0 -0
  181. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/acast.py +0 -0
  182. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/acfun.py +0 -0
  183. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/adn.py +0 -0
  184. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/adobeconnect.py +0 -0
  185. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/adobepass.py +0 -0
  186. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/adobetv.py +0 -0
  187. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/adultswim.py +0 -0
  188. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aenetworks.py +0 -0
  189. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aeonco.py +0 -0
  190. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/afreecatv.py +0 -0
  191. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/agalega.py +0 -0
  192. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/agora.py +0 -0
  193. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/airtv.py +0 -0
  194. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aitube.py +0 -0
  195. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/alibaba.py +0 -0
  196. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aliexpress.py +0 -0
  197. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aljazeera.py +0 -0
  198. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/allocine.py +0 -0
  199. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/allstar.py +0 -0
  200. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/alphaporno.py +0 -0
  201. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/alsace20tv.py +0 -0
  202. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/altcensored.py +0 -0
  203. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/alura.py +0 -0
  204. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amadeustv.py +0 -0
  205. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amara.py +0 -0
  206. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amazon.py +0 -0
  207. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amazonminitv.py +0 -0
  208. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amcnetworks.py +0 -0
  209. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/americastestkitchen.py +0 -0
  210. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/amp.py +0 -0
  211. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/anchorfm.py +0 -0
  212. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/angel.py +0 -0
  213. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/antenna.py +0 -0
  214. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/anvato.py +0 -0
  215. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aol.py +0 -0
  216. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/apa.py +0 -0
  217. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aparat.py +0 -0
  218. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/appleconnect.py +0 -0
  219. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/applepodcasts.py +0 -0
  220. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/appletrailers.py +0 -0
  221. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/archiveorg.py +0 -0
  222. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/arcpublishing.py +0 -0
  223. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ard.py +0 -0
  224. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/arnes.py +0 -0
  225. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/art19.py +0 -0
  226. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/arte.py +0 -0
  227. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/asobichannel.py +0 -0
  228. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/asobistage.py +0 -0
  229. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/atresplayer.py +0 -0
  230. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/atscaleconf.py +0 -0
  231. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/atvat.py +0 -0
  232. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/audimedia.py +0 -0
  233. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/audioboom.py +0 -0
  234. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/audiodraft.py +0 -0
  235. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/audiomack.py +0 -0
  236. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/audius.py +0 -0
  237. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/awaan.py +0 -0
  238. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/aws.py +0 -0
  239. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/axs.py +0 -0
  240. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/azmedien.py +0 -0
  241. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/baidu.py +0 -0
  242. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/banbye.py +0 -0
  243. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bandcamp.py +0 -0
  244. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bandlab.py +0 -0
  245. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bannedvideo.py +0 -0
  246. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bbc.py +0 -0
  247. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/beacon.py +0 -0
  248. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/beatbump.py +0 -0
  249. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/beatport.py +0 -0
  250. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/beeg.py +0 -0
  251. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/behindkink.py +0 -0
  252. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/berufetv.py +0 -0
  253. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bet.py +0 -0
  254. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bfi.py +0 -0
  255. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bfmtv.py +0 -0
  256. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bibeltv.py +0 -0
  257. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bigflix.py +0 -0
  258. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bigo.py +0 -0
  259. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bild.py +0 -0
  260. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bilibili.py +0 -0
  261. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/biobiochiletv.py +0 -0
  262. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bitchute.py +0 -0
  263. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bitmovin.py +0 -0
  264. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/blackboardcollaborate.py +0 -0
  265. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bleacherreport.py +0 -0
  266. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/blerp.py +0 -0
  267. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/blogger.py +0 -0
  268. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bloomberg.py +0 -0
  269. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bluesky.py +0 -0
  270. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bokecc.py +0 -0
  271. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bongacams.py +0 -0
  272. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/boosty.py +0 -0
  273. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bostonglobe.py +0 -0
  274. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/box.py +0 -0
  275. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/boxcast.py +0 -0
  276. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bpb.py +0 -0
  277. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/br.py +0 -0
  278. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/brainpop.py +0 -0
  279. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/breitbart.py +0 -0
  280. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/brightcove.py +0 -0
  281. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/brilliantpala.py +0 -0
  282. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/btvplus.py +0 -0
  283. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bundesliga.py +0 -0
  284. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bundestag.py +0 -0
  285. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/bunnycdn.py +0 -0
  286. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/businessinsider.py +0 -0
  287. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/buzzfeed.py +0 -0
  288. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/byutv.py +0 -0
  289. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/c56.py +0 -0
  290. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/caffeinetv.py +0 -0
  291. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/callin.py +0 -0
  292. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/caltrans.py +0 -0
  293. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cam4.py +0 -0
  294. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/camdemy.py +0 -0
  295. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/camfm.py +0 -0
  296. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cammodels.py +0 -0
  297. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/camsoda.py +0 -0
  298. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/camtasia.py +0 -0
  299. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/canal1.py +0 -0
  300. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/canalalpha.py +0 -0
  301. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/canalc2.py +0 -0
  302. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/canalplus.py +0 -0
  303. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/canalsurmas.py +0 -0
  304. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/caracoltv.py +0 -0
  305. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cbc.py +0 -0
  306. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cbs.py +0 -0
  307. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cbsnews.py +0 -0
  308. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cbssports.py +0 -0
  309. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ccc.py +0 -0
  310. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ccma.py +0 -0
  311. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cctv.py +0 -0
  312. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cda.py +0 -0
  313. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cellebrite.py +0 -0
  314. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ceskatelevize.py +0 -0
  315. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cgtn.py +0 -0
  316. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/charlierose.py +0 -0
  317. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/chaturbate.py +0 -0
  318. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/chilloutzone.py +0 -0
  319. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/chzzk.py +0 -0
  320. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cinemax.py +0 -0
  321. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cinetecamilano.py +0 -0
  322. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cineverse.py +0 -0
  323. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ciscolive.py +0 -0
  324. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ciscowebex.py +0 -0
  325. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cjsw.py +0 -0
  326. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/clipchamp.py +0 -0
  327. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/clippit.py +0 -0
  328. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cliprs.py +0 -0
  329. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/closertotruth.py +0 -0
  330. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cloudflarestream.py +0 -0
  331. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cloudycdn.py +0 -0
  332. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/clubic.py +0 -0
  333. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/clyp.py +0 -0
  334. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cnbc.py +0 -0
  335. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cnn.py +0 -0
  336. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/comedycentral.py +0 -0
  337. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/common.py +0 -0
  338. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/commonmistakes.py +0 -0
  339. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/commonprotocols.py +0 -0
  340. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/condenast.py +0 -0
  341. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/contv.py +0 -0
  342. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/corus.py +0 -0
  343. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/coub.py +0 -0
  344. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cozytv.py +0 -0
  345. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cpac.py +0 -0
  346. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cracked.py +0 -0
  347. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/craftsy.py +0 -0
  348. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/crooksandliars.py +0 -0
  349. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/crowdbunker.py +0 -0
  350. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/crtvg.py +0 -0
  351. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cspan.py +0 -0
  352. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ctsnews.py +0 -0
  353. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ctvnews.py +0 -0
  354. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cultureunplugged.py +0 -0
  355. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/curiositystream.py +0 -0
  356. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/cybrary.py +0 -0
  357. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dacast.py +0 -0
  358. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dailymail.py +0 -0
  359. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dailymotion.py +0 -0
  360. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dailywire.py +0 -0
  361. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/damtomo.py +0 -0
  362. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dangalplay.py +0 -0
  363. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/daum.py +0 -0
  364. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/daystar.py +0 -0
  365. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dbtv.py +0 -0
  366. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dctp.py +0 -0
  367. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/democracynow.py +0 -0
  368. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/detik.py +0 -0
  369. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/deuxm.py +0 -0
  370. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dfb.py +0 -0
  371. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dhm.py +0 -0
  372. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/digitalconcerthall.py +0 -0
  373. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/digiteka.py +0 -0
  374. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/digiview.py +0 -0
  375. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/discogs.py +0 -0
  376. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/disney.py +0 -0
  377. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dispeak.py +0 -0
  378. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dlf.py +0 -0
  379. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dlive.py +0 -0
  380. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/douyutv.py +0 -0
  381. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dplay.py +0 -0
  382. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/drbonanza.py +0 -0
  383. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dreisat.py +0 -0
  384. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/drooble.py +0 -0
  385. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dropbox.py +0 -0
  386. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dropout.py +0 -0
  387. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/drtalks.py +0 -0
  388. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/drtuber.py +0 -0
  389. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/drtv.py +0 -0
  390. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dtube.py +0 -0
  391. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/duboku.py +0 -0
  392. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dumpert.py +0 -0
  393. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/duoplay.py +0 -0
  394. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dvtv.py +0 -0
  395. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/dw.py +0 -0
  396. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ebaumsworld.py +0 -0
  397. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ebay.py +0 -0
  398. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/egghead.py +0 -0
  399. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eggs.py +0 -0
  400. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eighttracks.py +0 -0
  401. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eitb.py +0 -0
  402. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/elementorembed.py +0 -0
  403. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/elonet.py +0 -0
  404. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/elpais.py +0 -0
  405. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eltrecetv.py +0 -0
  406. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/embedly.py +0 -0
  407. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/epicon.py +0 -0
  408. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/epidemicsound.py +0 -0
  409. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eplus.py +0 -0
  410. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/epoch.py +0 -0
  411. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eporner.py +0 -0
  412. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/erocast.py +0 -0
  413. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eroprofile.py +0 -0
  414. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/err.py +0 -0
  415. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ertgr.py +0 -0
  416. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/espn.py +0 -0
  417. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ettutv.py +0 -0
  418. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/europa.py +0 -0
  419. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/europeantour.py +0 -0
  420. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eurosport.py +0 -0
  421. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/euscreen.py +0 -0
  422. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/expressen.py +0 -0
  423. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/extractors.py +0 -0
  424. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/eyedotv.py +0 -0
  425. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/facebook.py +0 -0
  426. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fancode.py +0 -0
  427. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fathom.py +0 -0
  428. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/faulio.py +0 -0
  429. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/faz.py +0 -0
  430. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fc2.py +0 -0
  431. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fczenit.py +0 -0
  432. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fifa.py +0 -0
  433. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/filmon.py +0 -0
  434. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/filmweb.py +0 -0
  435. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/firsttv.py +0 -0
  436. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fivetv.py +0 -0
  437. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/flextv.py +0 -0
  438. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/flickr.py +0 -0
  439. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/floatplane.py +0 -0
  440. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/folketinget.py +0 -0
  441. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/footyroom.py +0 -0
  442. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/formula1.py +0 -0
  443. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fourtube.py +0 -0
  444. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fox.py +0 -0
  445. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fox9.py +0 -0
  446. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/foxnews.py +0 -0
  447. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/foxsports.py +0 -0
  448. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fptplay.py +0 -0
  449. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/francaisfacile.py +0 -0
  450. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/franceinter.py +0 -0
  451. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/francetv.py +0 -0
  452. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/freesound.py +0 -0
  453. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/freespeech.py +0 -0
  454. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/freetv.py +0 -0
  455. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/frontendmasters.py +0 -0
  456. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/frontro.py +0 -0
  457. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fujitv.py +0 -0
  458. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/funk.py +0 -0
  459. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/funker530.py +0 -0
  460. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/fuyintv.py +0 -0
  461. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gab.py +0 -0
  462. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gaia.py +0 -0
  463. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gamedevtv.py +0 -0
  464. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gamejolt.py +0 -0
  465. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gamespot.py +0 -0
  466. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gamestar.py +0 -0
  467. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gaskrank.py +0 -0
  468. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gazeta.py +0 -0
  469. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gbnews.py +0 -0
  470. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gdcvault.py +0 -0
  471. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gedidigital.py +0 -0
  472. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/generic.py +0 -0
  473. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/genericembeds.py +0 -0
  474. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/genius.py +0 -0
  475. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/germanupa.py +0 -0
  476. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/getcourseru.py +0 -0
  477. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gettr.py +0 -0
  478. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/giantbomb.py +0 -0
  479. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/glide.py +0 -0
  480. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/globalplayer.py +0 -0
  481. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/globo.py +0 -0
  482. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/glomex.py +0 -0
  483. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gmanetwork.py +0 -0
  484. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/go.py +0 -0
  485. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/godresource.py +0 -0
  486. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/godtube.py +0 -0
  487. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gofile.py +0 -0
  488. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/golem.py +0 -0
  489. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/goodgame.py +0 -0
  490. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/googledrive.py +0 -0
  491. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/googlepodcasts.py +0 -0
  492. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/googlesearch.py +0 -0
  493. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/goplay.py +0 -0
  494. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gopro.py +0 -0
  495. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/goshgay.py +0 -0
  496. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gotostage.py +0 -0
  497. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gputechconf.py +0 -0
  498. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/graspop.py +0 -0
  499. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/gronkh.py +0 -0
  500. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/groupon.py +0 -0
  501. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/harpodeon.py +0 -0
  502. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hbo.py +0 -0
  503. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hearthisat.py +0 -0
  504. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/heise.py +0 -0
  505. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hellporno.py +0 -0
  506. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hgtv.py +0 -0
  507. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hidive.py +0 -0
  508. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/historicfilms.py +0 -0
  509. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hitrecord.py +0 -0
  510. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hketv.py +0 -0
  511. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hollywoodreporter.py +0 -0
  512. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/holodex.py +0 -0
  513. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hotnewhiphop.py +0 -0
  514. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hotstar.py +0 -0
  515. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hrefli.py +0 -0
  516. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hrfensehen.py +0 -0
  517. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hrti.py +0 -0
  518. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hse.py +0 -0
  519. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/huajiao.py +0 -0
  520. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/huffpost.py +0 -0
  521. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hungama.py +0 -0
  522. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/huya.py +0 -0
  523. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hypem.py +0 -0
  524. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hypergryph.py +0 -0
  525. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/hytale.py +0 -0
  526. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/icareus.py +0 -0
  527. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ichinanalive.py +0 -0
  528. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/idagio.py +0 -0
  529. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/idolplus.py +0 -0
  530. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ign.py +0 -0
  531. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/iheart.py +0 -0
  532. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ilpost.py +0 -0
  533. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/iltalehti.py +0 -0
  534. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/imdb.py +0 -0
  535. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/imggaming.py +0 -0
  536. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/imgur.py +0 -0
  537. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ina.py +0 -0
  538. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/inc.py +0 -0
  539. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/indavideo.py +0 -0
  540. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/infoq.py +0 -0
  541. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/instagram.py +0 -0
  542. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/internazionale.py +0 -0
  543. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/internetvideoarchive.py +0 -0
  544. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/iprima.py +0 -0
  545. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/iqiyi.py +0 -0
  546. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/islamchannel.py +0 -0
  547. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/israelnationalnews.py +0 -0
  548. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/itprotv.py +0 -0
  549. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/itv.py +0 -0
  550. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ivi.py +0 -0
  551. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ivideon.py +0 -0
  552. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ivoox.py +0 -0
  553. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/iwara.py +0 -0
  554. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ixigua.py +0 -0
  555. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/izlesene.py +0 -0
  556. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jamendo.py +0 -0
  557. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/japandiet.py +0 -0
  558. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jeuxvideo.py +0 -0
  559. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jiosaavn.py +0 -0
  560. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jixie.py +0 -0
  561. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/joj.py +0 -0
  562. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jove.py +0 -0
  563. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jstream.py +0 -0
  564. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jtbc.py +0 -0
  565. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/jwplatform.py +0 -0
  566. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kakao.py +0 -0
  567. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kaltura.py +0 -0
  568. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kankanews.py +0 -0
  569. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/karaoketv.py +0 -0
  570. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kelbyone.py +0 -0
  571. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kenh14.py +0 -0
  572. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/khanacademy.py +0 -0
  573. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kick.py +0 -0
  574. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kicker.py +0 -0
  575. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kickstarter.py +0 -0
  576. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kika.py +0 -0
  577. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kinja.py +0 -0
  578. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kinopoisk.py +0 -0
  579. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kommunetv.py +0 -0
  580. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kompas.py +0 -0
  581. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/koo.py +0 -0
  582. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/krasview.py +0 -0
  583. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kth.py +0 -0
  584. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ku6.py +0 -0
  585. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kukululive.py +0 -0
  586. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/kuwo.py +0 -0
  587. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/la7.py +0 -0
  588. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/laracasts.py +0 -0
  589. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lastfm.py +0 -0
  590. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/laxarxames.py +0 -0
  591. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lazy_extractors.py +0 -0
  592. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lbry.py +0 -0
  593. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lci.py +0 -0
  594. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lcp.py +0 -0
  595. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/learningonscreen.py +0 -0
  596. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lecture2go.py +0 -0
  597. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lecturio.py +0 -0
  598. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/leeco.py +0 -0
  599. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lefigaro.py +0 -0
  600. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lego.py +0 -0
  601. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lemonde.py +0 -0
  602. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lenta.py +0 -0
  603. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/libraryofcongress.py +0 -0
  604. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/libsyn.py +0 -0
  605. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lifenews.py +0 -0
  606. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/likee.py +0 -0
  607. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/linkedin.py +0 -0
  608. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/liputan6.py +0 -0
  609. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/listennotes.py +0 -0
  610. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/litv.py +0 -0
  611. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/livejournal.py +0 -0
  612. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/livestream.py +0 -0
  613. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/livestreamfails.py +0 -0
  614. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lnk.py +0 -0
  615. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/loco.py +0 -0
  616. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/loom.py +0 -0
  617. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lovehomeporn.py +0 -0
  618. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lrt.py +0 -0
  619. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lsm.py +0 -0
  620. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lumni.py +0 -0
  621. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/lynda.py +0 -0
  622. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/maariv.py +0 -0
  623. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/magellantv.py +0 -0
  624. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/magentamusik.py +0 -0
  625. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mailru.py +0 -0
  626. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mainstreaming.py +0 -0
  627. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mangomolo.py +0 -0
  628. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/manoto.py +0 -0
  629. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/manyvids.py +0 -0
  630. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/maoritv.py +0 -0
  631. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/markiza.py +0 -0
  632. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/massengeschmacktv.py +0 -0
  633. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/masters.py +0 -0
  634. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/matchtv.py +0 -0
  635. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mave.py +0 -0
  636. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mbn.py +0 -0
  637. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mdr.py +0 -0
  638. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/medaltv.py +0 -0
  639. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediaite.py +0 -0
  640. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediaklikk.py +0 -0
  641. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/medialaan.py +0 -0
  642. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediaset.py +0 -0
  643. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediasite.py +0 -0
  644. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediastream.py +0 -0
  645. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mediaworksnz.py +0 -0
  646. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/medici.py +0 -0
  647. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/megaphone.py +0 -0
  648. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/megatvcom.py +0 -0
  649. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/meipai.py +0 -0
  650. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/melonvod.py +0 -0
  651. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/metacritic.py +0 -0
  652. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mgtv.py +0 -0
  653. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/microsoftembed.py +0 -0
  654. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/microsoftstream.py +0 -0
  655. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/minds.py +0 -0
  656. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/minoto.py +0 -0
  657. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mir24tv.py +0 -0
  658. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mirrativ.py +0 -0
  659. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mirrorcouk.py +0 -0
  660. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mit.py +0 -0
  661. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mixch.py +0 -0
  662. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mixcloud.py +0 -0
  663. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mixlr.py +0 -0
  664. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mlb.py +0 -0
  665. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mlssoccer.py +0 -0
  666. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mocha.py +0 -0
  667. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mojevideo.py +0 -0
  668. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mojvideo.py +0 -0
  669. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/monstercat.py +0 -0
  670. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/motherless.py +0 -0
  671. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/motorsport.py +0 -0
  672. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/moviepilot.py +0 -0
  673. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/moview.py +0 -0
  674. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/moviezine.py +0 -0
  675. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/movingimage.py +0 -0
  676. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/msn.py +0 -0
  677. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mtv.py +0 -0
  678. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/muenchentv.py +0 -0
  679. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/murrtube.py +0 -0
  680. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/museai.py +0 -0
  681. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/musescore.py +0 -0
  682. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/musicdex.py +0 -0
  683. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mux.py +0 -0
  684. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mx3.py +0 -0
  685. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mxplayer.py +0 -0
  686. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/myspace.py +0 -0
  687. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/myspass.py +0 -0
  688. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/myvideoge.py +0 -0
  689. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/myvidster.py +0 -0
  690. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/mzaalo.py +0 -0
  691. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/n1.py +0 -0
  692. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nascar.py +0 -0
  693. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nate.py +0 -0
  694. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nationalgeographic.py +0 -0
  695. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/naver.py +0 -0
  696. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nba.py +0 -0
  697. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nbc.py +0 -0
  698. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ndr.py +0 -0
  699. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ndtv.py +0 -0
  700. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nebula.py +0 -0
  701. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nekohacker.py +0 -0
  702. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nerdcubed.py +0 -0
  703. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nest.py +0 -0
  704. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/netapp.py +0 -0
  705. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/neteasemusic.py +0 -0
  706. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/netverse.py +0 -0
  707. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/netzkino.py +0 -0
  708. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/newgrounds.py +0 -0
  709. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/newspicks.py +0 -0
  710. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/newsy.py +0 -0
  711. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nextmedia.py +0 -0
  712. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nexx.py +0 -0
  713. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nfb.py +0 -0
  714. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nfhsnetwork.py +0 -0
  715. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nfl.py +0 -0
  716. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nhk.py +0 -0
  717. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nhl.py +0 -0
  718. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nick.py +0 -0
  719. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/niconico.py +0 -0
  720. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/niconicochannelplus.py +0 -0
  721. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ninaprotocol.py +0 -0
  722. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ninecninemedia.py +0 -0
  723. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ninegag.py +0 -0
  724. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ninenews.py +0 -0
  725. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ninenow.py +0 -0
  726. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nintendo.py +0 -0
  727. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nitter.py +0 -0
  728. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nobelprize.py +0 -0
  729. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/noice.py +0 -0
  730. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nonktube.py +0 -0
  731. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/noodlemagazine.py +0 -0
  732. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nosnl.py +0 -0
  733. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nova.py +0 -0
  734. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/novaplay.py +0 -0
  735. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nowcanal.py +0 -0
  736. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nowness.py +0 -0
  737. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/noz.py +0 -0
  738. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/npo.py +0 -0
  739. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/npr.py +0 -0
  740. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nrk.py +0 -0
  741. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nrl.py +0 -0
  742. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nts.py +0 -0
  743. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ntvcojp.py +0 -0
  744. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ntvde.py +0 -0
  745. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ntvru.py +0 -0
  746. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nubilesporn.py +0 -0
  747. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nuevo.py +0 -0
  748. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nuum.py +0 -0
  749. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nuvid.py +0 -0
  750. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nytimes.py +0 -0
  751. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nzherald.py +0 -0
  752. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nzonscreen.py +0 -0
  753. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/nzz.py +0 -0
  754. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/odkmedia.py +0 -0
  755. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/odnoklassniki.py +0 -0
  756. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/oftv.py +0 -0
  757. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/oktoberfesttv.py +0 -0
  758. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/olympics.py +0 -0
  759. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/on24.py +0 -0
  760. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ondemandkorea.py +0 -0
  761. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/onefootball.py +0 -0
  762. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/onenewsnz.py +0 -0
  763. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/oneplace.py +0 -0
  764. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/onet.py +0 -0
  765. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/onionstudios.py +0 -0
  766. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/onsen.py +0 -0
  767. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/opencast.py +0 -0
  768. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/openload.py +0 -0
  769. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/openrec.py +0 -0
  770. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ora.py +0 -0
  771. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/orf.py +0 -0
  772. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/outsidetv.py +0 -0
  773. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/owncloud.py +0 -0
  774. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/packtpub.py +0 -0
  775. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/palcomp3.py +0 -0
  776. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/panopto.py +0 -0
  777. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/parler.py +0 -0
  778. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/parlview.py +0 -0
  779. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/parti.py +0 -0
  780. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/patreon.py +0 -0
  781. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pbs.py +0 -0
  782. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pearvideo.py +0 -0
  783. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/peekvids.py +0 -0
  784. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/peertube.py +0 -0
  785. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/peertv.py +0 -0
  786. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/peloton.py +0 -0
  787. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/performgroup.py +0 -0
  788. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/periscope.py +0 -0
  789. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pgatour.py +0 -0
  790. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/philharmoniedeparis.py +0 -0
  791. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/phoenix.py +0 -0
  792. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/photobucket.py +0 -0
  793. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pialive.py +0 -0
  794. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/piapro.py +0 -0
  795. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/picarto.py +0 -0
  796. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/piksel.py +0 -0
  797. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pinkbike.py +0 -0
  798. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pinterest.py +0 -0
  799. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/piramidetv.py +0 -0
  800. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/planetmarathi.py +0 -0
  801. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/platzi.py +0 -0
  802. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/playerfm.py +0 -0
  803. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/playplustv.py +0 -0
  804. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/playsuisse.py +0 -0
  805. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/playtvak.py +0 -0
  806. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/playwire.py +0 -0
  807. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pluralsight.py +0 -0
  808. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/plutotv.py +0 -0
  809. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/plvideo.py +0 -0
  810. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/plyr.py +0 -0
  811. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/podbayfm.py +0 -0
  812. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/podchaser.py +0 -0
  813. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/podomatic.py +0 -0
  814. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pokergo.py +0 -0
  815. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/polsatgo.py +0 -0
  816. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/polskieradio.py +0 -0
  817. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/popcorntimes.py +0 -0
  818. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/popcorntv.py +0 -0
  819. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornbox.py +0 -0
  820. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornflip.py +0 -0
  821. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornhub.py +0 -0
  822. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornotube.py +0 -0
  823. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornovoisines.py +0 -0
  824. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pornoxo.py +0 -0
  825. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pr0gramm.py +0 -0
  826. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/prankcast.py +0 -0
  827. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/premiershiprugby.py +0 -0
  828. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/presstv.py +0 -0
  829. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/projectveritas.py +0 -0
  830. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/prosiebensat1.py +0 -0
  831. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/prx.py +0 -0
  832. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/puhutv.py +0 -0
  833. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/puls4.py +0 -0
  834. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/pyvideo.py +0 -0
  835. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/qdance.py +0 -0
  836. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/qingting.py +0 -0
  837. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/qqmusic.py +0 -0
  838. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/r7.py +0 -0
  839. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiko.py +0 -0
  840. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiocanada.py +0 -0
  841. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiocomercial.py +0 -0
  842. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiode.py +0 -0
  843. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiofrance.py +0 -0
  844. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiojavan.py +0 -0
  845. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiokapital.py +0 -0
  846. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radioradicale.py +0 -0
  847. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radiozet.py +0 -0
  848. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/radlive.py +0 -0
  849. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rai.py +0 -0
  850. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/raywenderlich.py +0 -0
  851. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rbgtum.py +0 -0
  852. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rcs.py +0 -0
  853. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rcti.py +0 -0
  854. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rds.py +0 -0
  855. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/redbee.py +0 -0
  856. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/redbulltv.py +0 -0
  857. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/reddit.py +0 -0
  858. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/redge.py +0 -0
  859. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/redgifs.py +0 -0
  860. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/redtube.py +0 -0
  861. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rentv.py +0 -0
  862. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/restudy.py +0 -0
  863. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/reuters.py +0 -0
  864. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/reverbnation.py +0 -0
  865. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rheinmaintv.py +0 -0
  866. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ridehome.py +0 -0
  867. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rinsefm.py +0 -0
  868. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rmcdecouverte.py +0 -0
  869. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rockstargames.py +0 -0
  870. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rokfin.py +0 -0
  871. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/roosterteeth.py +0 -0
  872. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rottentomatoes.py +0 -0
  873. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/roya.py +0 -0
  874. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rozhlas.py +0 -0
  875. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rte.py +0 -0
  876. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtl2.py +0 -0
  877. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtlnl.py +0 -0
  878. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtnews.py +0 -0
  879. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtp.py +0 -0
  880. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtrfm.py +0 -0
  881. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rts.py +0 -0
  882. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtvcplay.py +0 -0
  883. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtve.py +0 -0
  884. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtvs.py +0 -0
  885. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rtvslo.py +0 -0
  886. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rudovideo.py +0 -0
  887. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rule34video.py +0 -0
  888. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rumble.py +0 -0
  889. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/rutube.py +0 -0
  890. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ruutu.py +0 -0
  891. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ruv.py +0 -0
  892. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/s4c.py +0 -0
  893. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/safari.py +0 -0
  894. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/saitosan.py +0 -0
  895. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/samplefocus.py +0 -0
  896. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sapo.py +0 -0
  897. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sauceplus.py +0 -0
  898. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sbs.py +0 -0
  899. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sbscokr.py +0 -0
  900. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/screen9.py +0 -0
  901. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/screencast.py +0 -0
  902. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/screencastify.py +0 -0
  903. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/screencastomatic.py +0 -0
  904. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/screenrec.py +0 -0
  905. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/scrippsnetworks.py +0 -0
  906. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/scrolller.py +0 -0
  907. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/scte.py +0 -0
  908. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sejmpl.py +0 -0
  909. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sen.py +0 -0
  910. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/senalcolombia.py +0 -0
  911. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/senategov.py +0 -0
  912. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sendtonews.py +0 -0
  913. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/servus.py +0 -0
  914. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sevenplus.py +0 -0
  915. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sexu.py +0 -0
  916. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/seznamzpravy.py +0 -0
  917. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/shahid.py +0 -0
  918. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sharepoint.py +0 -0
  919. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sharevideos.py +0 -0
  920. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/shemaroome.py +0 -0
  921. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/shiey.py +0 -0
  922. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/showroomlive.py +0 -0
  923. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sibnet.py +0 -0
  924. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/simplecast.py +0 -0
  925. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sina.py +0 -0
  926. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/skeb.py +0 -0
  927. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sky.py +0 -0
  928. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/skyit.py +0 -0
  929. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/skylinewebcams.py +0 -0
  930. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/skynewsarabia.py +0 -0
  931. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/skynewsau.py +0 -0
  932. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/slideshare.py +0 -0
  933. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/slideslive.py +0 -0
  934. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/slutload.py +0 -0
  935. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/smotrim.py +0 -0
  936. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/snapchat.py +0 -0
  937. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/snotr.py +0 -0
  938. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/softwhiteunderbelly.py +0 -0
  939. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sohu.py +0 -0
  940. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sonyliv.py +0 -0
  941. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/soundcloud.py +0 -0
  942. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/soundgasm.py +0 -0
  943. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/southpark.py +0 -0
  944. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sovietscloset.py +0 -0
  945. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/spankbang.py +0 -0
  946. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/spiegel.py +0 -0
  947. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sport5.py +0 -0
  948. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sportbox.py +0 -0
  949. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sportdeutschland.py +0 -0
  950. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/spreaker.py +0 -0
  951. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/springboardplatform.py +0 -0
  952. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sproutvideo.py +0 -0
  953. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/srgssr.py +0 -0
  954. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/srmediathek.py +0 -0
  955. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stacommu.py +0 -0
  956. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stageplus.py +0 -0
  957. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stanfordoc.py +0 -0
  958. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/startrek.py +0 -0
  959. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/startv.py +0 -0
  960. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/steam.py +0 -0
  961. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stitcher.py +0 -0
  962. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/storyfire.py +0 -0
  963. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/streaks.py +0 -0
  964. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/streamable.py +0 -0
  965. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/streamcz.py +0 -0
  966. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/streetvoice.py +0 -0
  967. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stretchinternet.py +0 -0
  968. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stripchat.py +0 -0
  969. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/stv.py +0 -0
  970. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/subsplash.py +0 -0
  971. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/substack.py +0 -0
  972. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sunporno.py +0 -0
  973. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sverigesradio.py +0 -0
  974. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/svt.py +0 -0
  975. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/swearnet.py +0 -0
  976. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/syvdk.py +0 -0
  977. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/sztvhu.py +0 -0
  978. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tagesschau.py +0 -0
  979. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/taptap.py +0 -0
  980. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tass.py +0 -0
  981. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tbs.py +0 -0
  982. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tbsjp.py +0 -0
  983. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teachable.py +0 -0
  984. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teachertube.py +0 -0
  985. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teachingchannel.py +0 -0
  986. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teamcoco.py +0 -0
  987. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teamtreehouse.py +0 -0
  988. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ted.py +0 -0
  989. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tele13.py +0 -0
  990. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tele5.py +0 -0
  991. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telebruxelles.py +0 -0
  992. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telecaribe.py +0 -0
  993. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telecinco.py +0 -0
  994. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telegraaf.py +0 -0
  995. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telegram.py +0 -0
  996. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telemb.py +0 -0
  997. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telemundo.py +0 -0
  998. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telequebec.py +0 -0
  999. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/teletask.py +0 -0
  1000. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/telewebion.py +0 -0
  1001. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tempo.py +0 -0
  1002. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tencent.py +0 -0
  1003. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tennistv.py +0 -0
  1004. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tenplay.py +0 -0
  1005. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/testurl.py +0 -0
  1006. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tf1.py +0 -0
  1007. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tfo.py +0 -0
  1008. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/theguardian.py +0 -0
  1009. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thehighwire.py +0 -0
  1010. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/theholetv.py +0 -0
  1011. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/theintercept.py +0 -0
  1012. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/theplatform.py +0 -0
  1013. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thestar.py +0 -0
  1014. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thesun.py +0 -0
  1015. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/theweatherchannel.py +0 -0
  1016. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thisamericanlife.py +0 -0
  1017. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thisoldhouse.py +0 -0
  1018. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/thisvid.py +0 -0
  1019. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/threeqsdn.py +0 -0
  1020. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/threespeak.py +0 -0
  1021. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tiktok.py +0 -0
  1022. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tmz.py +0 -0
  1023. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tnaflix.py +0 -0
  1024. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toggle.py +0 -0
  1025. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toggo.py +0 -0
  1026. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tonline.py +0 -0
  1027. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toongoggles.py +0 -0
  1028. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toutiao.py +0 -0
  1029. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toutv.py +0 -0
  1030. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/toypics.py +0 -0
  1031. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/traileraddict.py +0 -0
  1032. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/triller.py +0 -0
  1033. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/trovo.py +0 -0
  1034. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/trtcocuk.py +0 -0
  1035. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/trtworld.py +0 -0
  1036. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/trueid.py +0 -0
  1037. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/trunews.py +0 -0
  1038. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/truth.py +0 -0
  1039. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tube8.py +0 -0
  1040. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tubetugraz.py +0 -0
  1041. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tubitv.py +0 -0
  1042. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tumblr.py +0 -0
  1043. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tunein.py +0 -0
  1044. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/turner.py +0 -0
  1045. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv2.py +0 -0
  1046. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv24ua.py +0 -0
  1047. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv2dk.py +0 -0
  1048. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv2hu.py +0 -0
  1049. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv4.py +0 -0
  1050. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv5mondeplus.py +0 -0
  1051. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tv5unis.py +0 -0
  1052. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tva.py +0 -0
  1053. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvanouvelles.py +0 -0
  1054. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvc.py +0 -0
  1055. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tver.py +0 -0
  1056. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvigle.py +0 -0
  1057. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tviplayer.py +0 -0
  1058. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvn24.py +0 -0
  1059. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvnoe.py +0 -0
  1060. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvopengr.py +0 -0
  1061. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvp.py +0 -0
  1062. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvplay.py +0 -0
  1063. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvplayer.py +0 -0
  1064. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tvw.py +0 -0
  1065. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/tweakers.py +0 -0
  1066. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/twentymin.py +0 -0
  1067. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/twentythreevideo.py +0 -0
  1068. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/twitcasting.py +0 -0
  1069. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/twitch.py +0 -0
  1070. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/twitter.py +0 -0
  1071. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/txxx.py +0 -0
  1072. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/udemy.py +0 -0
  1073. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/udn.py +0 -0
  1074. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ufctv.py +0 -0
  1075. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ukcolumn.py +0 -0
  1076. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/uktvplay.py +0 -0
  1077. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/uliza.py +0 -0
  1078. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/umg.py +0 -0
  1079. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/unistra.py +0 -0
  1080. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/unitednations.py +0 -0
  1081. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/unity.py +0 -0
  1082. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/unsupported.py +0 -0
  1083. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/uol.py +0 -0
  1084. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/uplynk.py +0 -0
  1085. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/urort.py +0 -0
  1086. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/urplay.py +0 -0
  1087. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/usanetwork.py +0 -0
  1088. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/usatoday.py +0 -0
  1089. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ustream.py +0 -0
  1090. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ustudio.py +0 -0
  1091. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/utreon.py +0 -0
  1092. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/varzesh3.py +0 -0
  1093. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vbox7.py +0 -0
  1094. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/veo.py +0 -0
  1095. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vevo.py +0 -0
  1096. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vgtv.py +0 -0
  1097. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vh1.py +0 -0
  1098. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vice.py +0 -0
  1099. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viddler.py +0 -0
  1100. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videa.py +0 -0
  1101. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videocampus_sachsen.py +0 -0
  1102. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videodetective.py +0 -0
  1103. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videofyme.py +0 -0
  1104. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videoken.py +0 -0
  1105. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videomore.py +0 -0
  1106. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/videopress.py +0 -0
  1107. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vidflex.py +0 -0
  1108. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vidio.py +0 -0
  1109. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vidlii.py +0 -0
  1110. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vidly.py +0 -0
  1111. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vidyard.py +0 -0
  1112. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viewlift.py +0 -0
  1113. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viidea.py +0 -0
  1114. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vimeo.py +0 -0
  1115. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vimm.py +0 -0
  1116. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viously.py +0 -0
  1117. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viqeo.py +0 -0
  1118. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/viu.py +0 -0
  1119. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vk.py +0 -0
  1120. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vocaroo.py +0 -0
  1121. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vodpl.py +0 -0
  1122. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vodplatform.py +0 -0
  1123. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/voicy.py +0 -0
  1124. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/volejtv.py +0 -0
  1125. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/voxmedia.py +0 -0
  1126. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vrsquare.py +0 -0
  1127. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vrt.py +0 -0
  1128. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vtm.py +0 -0
  1129. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vtv.py +0 -0
  1130. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vuclip.py +0 -0
  1131. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/vvvvid.py +0 -0
  1132. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/walla.py +0 -0
  1133. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/washingtonpost.py +0 -0
  1134. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wat.py +0 -0
  1135. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wdr.py +0 -0
  1136. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/webcamerapl.py +0 -0
  1137. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/webcaster.py +0 -0
  1138. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/webofstories.py +0 -0
  1139. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/weibo.py +0 -0
  1140. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/weiqitv.py +0 -0
  1141. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/weverse.py +0 -0
  1142. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wevidi.py +0 -0
  1143. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/weyyak.py +0 -0
  1144. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/whowatch.py +0 -0
  1145. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/whyp.py +0 -0
  1146. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wikimedia.py +0 -0
  1147. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wimbledon.py +0 -0
  1148. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wimtv.py +0 -0
  1149. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wistia.py +0 -0
  1150. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wordpress.py +0 -0
  1151. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/worldstarhiphop.py +0 -0
  1152. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wppilot.py +0 -0
  1153. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wrestleuniverse.py +0 -0
  1154. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wsj.py +0 -0
  1155. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wwe.py +0 -0
  1156. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/wykop.py +0 -0
  1157. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xboxclips.py +0 -0
  1158. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xhamster.py +0 -0
  1159. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xiaohongshu.py +0 -0
  1160. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/ximalaya.py +0 -0
  1161. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xinpianchang.py +0 -0
  1162. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xminus.py +0 -0
  1163. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xnxx.py +0 -0
  1164. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xstream.py +0 -0
  1165. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xvideos.py +0 -0
  1166. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/xxxymovies.py +0 -0
  1167. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yahoo.py +0 -0
  1168. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yandexdisk.py +0 -0
  1169. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yandexmusic.py +0 -0
  1170. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yandexvideo.py +0 -0
  1171. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yapfiles.py +0 -0
  1172. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yappy.py +0 -0
  1173. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yfanefa.py +0 -0
  1174. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/yle_areena.py +0 -0
  1175. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youjizz.py +0 -0
  1176. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youku.py +0 -0
  1177. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/younow.py +0 -0
  1178. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youporn.py +0 -0
  1179. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/__init__.py +0 -0
  1180. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_base.py +0 -0
  1181. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_clip.py +0 -0
  1182. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_mistakes.py +0 -0
  1183. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_notifications.py +0 -0
  1184. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_redirect.py +0 -0
  1185. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_search.py +0 -0
  1186. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/_tab.py +0 -0
  1187. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/README.md +0 -0
  1188. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/__init__.py +0 -0
  1189. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/__init__.py +0 -0
  1190. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/bun.py +0 -0
  1191. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/deno.py +0 -0
  1192. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/node.py +0 -0
  1193. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/quickjs.py +0 -0
  1194. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/__init__.py +0 -0
  1195. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.bun.lib.js +0 -0
  1196. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.core.js +0 -0
  1197. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.deno.lib.js +0 -0
  1198. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_director.py +0 -0
  1199. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/_registry.py +0 -0
  1200. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/jsc/provider.py +0 -0
  1201. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/README.md +0 -0
  1202. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/__init__.py +0 -0
  1203. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_builtin/__init__.py +0 -0
  1204. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_builtin/memory_cache.py +0 -0
  1205. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_builtin/webpo_cachespec.py +0 -0
  1206. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_director.py +0 -0
  1207. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_provider.py +0 -0
  1208. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/_registry.py +0 -0
  1209. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/cache.py +0 -0
  1210. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/provider.py +0 -0
  1211. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/youtube/pot/utils.py +0 -0
  1212. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zaiko.py +0 -0
  1213. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zapiks.py +0 -0
  1214. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zattoo.py +0 -0
  1215. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zdf.py +0 -0
  1216. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zee5.py +0 -0
  1217. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zeenews.py +0 -0
  1218. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zenporn.py +0 -0
  1219. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zetland.py +0 -0
  1220. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zhihu.py +0 -0
  1221. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zingmp3.py +0 -0
  1222. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zoom.py +0 -0
  1223. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/extractor/zype.py +0 -0
  1224. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/globals.py +0 -0
  1225. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/jsinterp.py +0 -0
  1226. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/minicurses.py +0 -0
  1227. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/__init__.py +0 -0
  1228. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/_curlcffi.py +0 -0
  1229. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/_helper.py +0 -0
  1230. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/_requests.py +0 -0
  1231. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/_urllib.py +0 -0
  1232. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/_websockets.py +0 -0
  1233. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/common.py +0 -0
  1234. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/exceptions.py +0 -0
  1235. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/impersonate.py +0 -0
  1236. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/networking/websocket.py +0 -0
  1237. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/plugins.py +0 -0
  1238. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/__init__.py +0 -0
  1239. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/common.py +0 -0
  1240. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/embedthumbnail.py +0 -0
  1241. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/exec.py +0 -0
  1242. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/metadataparser.py +0 -0
  1243. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/modify_chapters.py +0 -0
  1244. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/movefilesafterdownload.py +0 -0
  1245. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/sponsorblock.py +0 -0
  1246. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/postprocessor/xattrpp.py +0 -0
  1247. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/socks.py +0 -0
  1248. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/update.py +0 -0
  1249. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/__init__.py +0 -0
  1250. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/_deprecated.py +0 -0
  1251. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/_legacy.py +0 -0
  1252. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/jslib/__init__.py +0 -0
  1253. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/jslib/devalue.py +0 -0
  1254. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/networking.py +0 -0
  1255. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/progress.py +0 -0
  1256. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/utils/traversal.py +0 -0
  1257. {yt_dlp-2025.12.6.232939.dev0 → yt_dlp-2025.12.8.550.dev0}/yt_dlp/webvtt.py +0 -0
@@ -4,10 +4,11 @@
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.06.232939
7
+ ### 2025.12.08.000550
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)
@@ -39,21 +40,27 @@
39
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)
40
41
  - **youtube**
41
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)
42
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)
43
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)
44
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)
45
49
 
46
50
  #### Downloader changes
47
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)
48
52
 
49
53
  #### Postprocessor changes
50
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)
51
56
 
52
57
  #### Networking changes
53
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)
54
59
 
55
60
  #### Misc. changes
56
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)
57
64
 
58
65
  ### 2025.11.12
59
66
 
@@ -115,7 +122,7 @@ yt-dlp now requires users to have an external JavaScript runtime (e.g. Deno) ins
115
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)
116
123
  - **cleanup**
117
124
  - Miscellaneous
118
- - [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)
119
126
  - [335653b](https://github.com/yt-dlp/yt-dlp/commit/335653be82d5ef999cfc2879d005397402eebec1) by [bashonly](https://github.com/bashonly), [seproDev](https://github.com/seproDev)
120
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)
121
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.6.232939.dev0
3
+ Version: 2025.12.8.550.dev0
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
  ```
@@ -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
  ```
@@ -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
 
@@ -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
 
@@ -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'",
@@ -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
@@ -265,7 +265,7 @@ One of \[dq]default\[dq] (only when known to be useful),
265
265
  .SS Video Selection:
266
266
  .TP
267
267
  -I, --playlist-items \f[I]ITEM_SPEC\f[R]
268
- Comma separated playlist_index of the items to download.
268
+ Comma-separated playlist_index of the items to download.
269
269
  You can specify a range using \[dq][START]:[STOP][:STEP]\[dq].
270
270
  For backward compatibility, START-STOP is also supported.
271
271
  Use negative indices to count from the right and negative STEP to
@@ -1513,7 +1513,7 @@ E.g.
1513
1513
  \f[V]diouxXeEfFgGcrs\f[R], yt-dlp additionally supports converting to
1514
1514
  \f[V]B\f[R] = \f[B]B\f[R]ytes, \f[V]j\f[R] = \f[B]j\f[R]son (flag
1515
1515
  \f[V]#\f[R] for pretty-printing, \f[V]+\f[R] for Unicode), \f[V]h\f[R] =
1516
- HTML escaping, \f[V]l\f[R] = a comma separated \f[B]l\f[R]ist (flag
1516
+ HTML escaping, \f[V]l\f[R] = a comma-separated \f[B]l\f[R]ist (flag
1517
1517
  \f[V]#\f[R] for \f[V]\[rs]n\f[R] newline-separated), \f[V]q\f[R] = a
1518
1518
  string \f[B]q\f[R]uoted for the terminal (flag \f[V]#\f[R] to split a
1519
1519
  list into different arguments), \f[V]D\f[R] = add \f[B]D\f[R]ecimal
@@ -2582,12 +2582,13 @@ T}
2582
2582
  T{
2583
2583
  \f[V]genre\f[R]
2584
2584
  T}@T{
2585
- \f[V]genre\f[R] or \f[V]genres\f[R]
2585
+ \f[V]genre\f[R], \f[V]genres\f[R], \f[V]categories\f[R] or
2586
+ \f[V]tags\f[R]
2586
2587
  T}
2587
2588
  T{
2588
2589
  \f[V]album\f[R]
2589
2590
  T}@T{
2590
- \f[V]album\f[R]
2591
+ \f[V]album\f[R] or \f[V]series\f[R]
2591
2592
  T}
2592
2593
  T{
2593
2594
  \f[V]album_artist\f[R]
@@ -2695,7 +2696,7 @@ The currently available clients are \f[V]web\f[R], \f[V]web_safari\f[R],
2695
2696
  \f[V]android_sdkless\f[R], \f[V]android_vr\f[R], \f[V]tv\f[R],
2696
2697
  \f[V]tv_simply\f[R], \f[V]tv_downgraded\f[R], and \f[V]tv_embedded\f[R].
2697
2698
  By default, \f[V]tv,android_sdkless,web\f[R] is used.
2698
- If no JavaScript runtime is available, then
2699
+ If no JavaScript runtime/engine is available, then
2699
2700
  \f[V]android_sdkless,web_safari,web\f[R] is used.
2700
2701
  If logged-in cookies are passed to yt-dlp, then
2701
2702
  \f[V]tv_downgraded,web_safari,web\f[R] is used for free accounts and
@@ -2801,7 +2802,7 @@ If a session from a browser is wanted, you should pass cookies instead
2801
2802
  (which contain the Visitor ID)
2802
2803
  .IP \[bu] 2
2803
2804
  \f[V]po_token\f[R]: Proof of Origin (PO) Token(s) to use.
2804
- Comma seperated list of PO Tokens in the format
2805
+ Comma-separated list of PO Tokens in the format
2805
2806
  \f[V]CLIENT.CONTEXT+PO_TOKEN\f[R], e.g.
2806
2807
  \f[V]youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY\f[R].
2807
2808
  Context can be any of \f[V]gvs\f[R] (Google Video Server URLs),
@@ -2830,11 +2831,11 @@ Only effective with the \f[V]web\f[R], \f[V]web_safari\f[R],
2830
2831
  Either \f[V]true\f[R] or \f[V]false\f[R] (default)
2831
2832
  .SS youtube-ejs
2832
2833
  .IP \[bu] 2
2833
- \f[V]jitless\f[R]: Run suported Javascript engines in JIT-less mode.
2834
+ \f[V]jitless\f[R]: Run supported Javascript engines in JIT-less mode.
2834
2835
  Supported runtimes are \f[V]deno\f[R], \f[V]node\f[R] and \f[V]bun\f[R].
2835
2836
  Provides better security at the cost of performance/speed.
2836
2837
  Do note that \f[V]node\f[R] and \f[V]bun\f[R] are still considered
2837
- unsecure.
2838
+ insecure.
2838
2839
  Either \f[V]true\f[R] or \f[V]false\f[R] (default)
2839
2840
  .SS youtubepot-webpo
2840
2841
  .IP \[bu] 2
@@ -3164,8 +3165,8 @@ Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported.
3164
3165
  Other versions and implementations may or may not work correctly.
3165
3166
  .PP
3166
3167
  While all the other dependencies are optional, \f[V]ffmpeg\f[R],
3167
- \f[V]ffprobe\f[R], \f[V]yt-dlp-ejs\f[R] and a JavaScript runtime are
3168
- highly recommended
3168
+ \f[V]ffprobe\f[R], \f[V]yt-dlp-ejs\f[R] and a supported JavaScript
3169
+ runtime/engine are highly recommended
3169
3170
  .SS Strongly recommended
3170
3171
  .IP \[bu] 2
3171
3172
  \f[B]ffmpeg\f[R] and \f[B]ffprobe\f[R] (https://www.ffmpeg.org) -
@@ -3197,7 +3198,7 @@ ISC (https://github.com/meriyah/meriyah/blob/main/LICENSE.md)
3197
3198
  components.
3198
3199
  .RS 2
3199
3200
  .PP
3200
- A JavaScript runtime like \f[B]deno\f[R] (https://deno.land)
3201
+ A JavaScript runtime/engine like \f[B]deno\f[R] (https://deno.land)
3201
3202
  (recommended), \f[B]node.js\f[R] (https://nodejs.org),
3202
3203
  \f[B]bun\f[R] (https://bun.sh), or
3203
3204
  \f[B]QuickJS\f[R] (https://bellard.org/quickjs/) is also required to run
@@ -3240,7 +3241,7 @@ Licensed under
3240
3241
  MIT (https://github.com/lexiforest/curl_cffi/blob/main/LICENSE)
3241
3242
  .RS 2
3242
3243
  .IP \[bu] 2
3243
- Can be installed with the \f[V]curl-cffi\f[R] group, e.g.
3244
+ Can be installed with the \f[V]curl-cffi\f[R] extra, e.g.
3244
3245
  \f[V]pip install \[dq]yt-dlp[default,curl-cffi]\[dq]\f[R]
3245
3246
  .IP \[bu] 2
3246
3247
  Currently included in most builds \f[I]except\f[R] \f[V]yt-dlp\f[R]
@@ -3329,7 +3330,7 @@ You can run the following commands:
3329
3330
  .IP
3330
3331
  .nf
3331
3332
  \f[C]
3332
- python devscripts/install_deps.py --include-group pyinstaller
3333
+ python devscripts/install_deps.py --include-extra pyinstaller
3333
3334
  python devscripts/make_lazy_extractors.py
3334
3335
  python -m bundle.pyinstaller
3335
3336
  \f[R]
@@ -212,9 +212,16 @@ def _firefox_browser_dirs():
212
212
 
213
213
  else:
214
214
  yield from map(os.path.expanduser, (
215
+ # New installations of FF147+ respect the XDG base directory specification
216
+ # Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=259356
217
+ os.path.join(_config_home(), 'mozilla/firefox'),
218
+ # Existing FF version<=146 installations
215
219
  '~/.mozilla/firefox',
216
- '~/snap/firefox/common/.mozilla/firefox',
220
+ # Flatpak XDG: https://docs.flatpak.org/en/latest/conventions.html#xdg-base-directories
221
+ '~/.var/app/org.mozilla.firefox/config/mozilla/firefox',
217
222
  '~/.var/app/org.mozilla.firefox/.mozilla/firefox',
223
+ # Snap installations do not respect the XDG base directory specification
224
+ '~/snap/firefox/common/.mozilla/firefox',
218
225
  ))
219
226
 
220
227