prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Change `author_email` in setup.py
  https://github.com/streamlink/streamlink/blob/08e582580f3411b2de2c368f8b0cc7108264f990/setup.py#L83
  
  @gravyboat 
  you've registered `streamlink@protonmail.com` a couple of years ago, right? Can this be used instead?
  
  What's the email address of the `streamlink` account on pypi?
  https://pypi.org/user/streamlink/
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 #!/usr/bin/env python
  2 import codecs
  3 from os import environ, path
  4 from sys import argv, path as sys_path
  5 
  6 from setuptools import find_packages, setup
  7 
  8 import versioneer
  9 
  10 
  11 deps = [
  12     "requests>=2.21.0,<3.0",
  13     "isodate",
  14     "websocket-client",
  15     # Support for SOCKS proxies
  16     "PySocks!=1.5.7,>=1.5.6",
  17 ]
  18 
  19 # for encrypted streams
  20 if environ.get("STREAMLINK_USE_PYCRYPTO"):
  21     deps.append("pycrypto")
  22 else:
  23     # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6
  24     deps.append("pycryptodome>=3.4.3,<4")
  25 
  26 # for localization
  27 if environ.get("STREAMLINK_USE_PYCOUNTRY"):
  28     deps.append("pycountry")
  29 else:
  30     deps.append("iso-639")
  31     deps.append("iso3166")
  32 
  33 # When we build an egg for the Win32 bootstrap we don"t want dependency
  34 # information built into it.
  35 if environ.get("NO_DEPS"):
  36     deps = []
  37 
  38 this_directory = path.abspath(path.dirname(__file__))
  39 srcdir = path.join(this_directory, "src/")
  40 sys_path.insert(0, srcdir)
  41 
  42 with codecs.open(path.join(this_directory, "README.md"), 'r', "utf8") as f:
  43     long_description = f.read()
  44 
  45 
  46 def is_wheel_for_windows():
  47     if "bdist_wheel" in argv:
  48         names = ["win32", "win-amd64", "cygwin"]
  49         length = len(argv)
  50         for pos in range(argv.index("bdist_wheel") + 1, length):
  51             if argv[pos] == "--plat-name" and pos + 1 < length:
  52                 return argv[pos + 1] in names
  53             elif argv[pos][:12] == "--plat-name=":
  54                 return argv[pos][12:] in names
  55     return False
  56 
  57 
  58 entry_points = {
  59     "console_scripts": ["streamlink=streamlink_cli.main:main"]
  60 }
  61 
  62 if is_wheel_for_windows():
  63     entry_points["gui_scripts"] = ["streamlinkw=streamlink_cli.main:main"]
  64 
  65 
  66 setup(name="streamlink",
  67       version=versioneer.get_version(),
  68       cmdclass=versioneer.get_cmdclass(),
  69       description="Streamlink is a command-line utility that extracts streams "
  70                   "from various services and pipes them into a video player of "
  71                   "choice.",
  72       long_description=long_description,
  73       long_description_content_type="text/markdown",
  74       url="https://github.com/streamlink/streamlink",
  75       project_urls={
  76           "Documentation": "https://streamlink.github.io/",
  77           "Tracker": "https://github.com/streamlink/streamlink/issues",
  78           "Source": "https://github.com/streamlink/streamlink",
  79           "Funding": "https://opencollective.com/streamlink"
  80       },
  81       author="Streamlink",
  82       # temp until we have a mailing list / global email
  83       author_email="charlie@charliedrage.com",
  84       license="Simplified BSD",
  85       packages=find_packages("src"),
  86       package_dir={"": "src"},
  87       entry_points=entry_points,
  88       install_requires=deps,
  89       test_suite="tests",
  90       python_requires=">=3.6, <4",
  91       classifiers=["Development Status :: 5 - Production/Stable",
  92                    "License :: OSI Approved :: BSD License",
  93                    "Environment :: Console",
  94                    "Intended Audience :: End Users/Desktop",
  95                    "Operating System :: POSIX",
  96                    "Operating System :: Microsoft :: Windows",
  97                    "Operating System :: MacOS",
  98                    "Programming Language :: Python :: 3",
  99                    "Programming Language :: Python :: 3 :: Only",
  100                    "Programming Language :: Python :: 3.6",
  101                    "Programming Language :: Python :: 3.7",
  102                    "Programming Language :: Python :: 3.8",
  103                    "Programming Language :: Python :: 3.9",
  104                    "Topic :: Internet :: WWW/HTTP",
  105                    "Topic :: Multimedia :: Sound/Audio",
  106                    "Topic :: Multimedia :: Video",
  107                    "Topic :: Utilities"])
  108
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -80,7 +80,7 @@
         },
         author="Streamlink",
         # temp until we have a mailing list / global email
  -      author_email="charlie@charliedrage.com",
  +      author_email="streamlink@protonmail.com",
         license="Simplified BSD",
         packages=find_packages("src"),
         package_dir={"": "src"},
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -80,7 +80,7 @@\n       },\n       author=\"Streamlink\",\n       # temp until we have a mailing list / global email\n-      author_email=\"charlie@charliedrage.com\",\n+      author_email=\"streamlink@protonmail.com\",\n       license=\"Simplified BSD\",\n       packages=find_packages(\"src\"),\n       package_dir={\"\": \"src\"},\n", "issue": "Change `author_email` in setup.py\nhttps://github.com/streamlink/streamlink/blob/08e582580f3411b2de2c368f8b0cc7108264f990/setup.py#L83\r\n\r\n@gravyboat \r\nyou've registered `streamlink@protonmail.com` a couple of years ago, right? Can this be used instead?\r\n\r\nWhat's the email address of the `streamlink` account on pypi?\r\nhttps://pypi.org/user/streamlink/\n", "before_files": [{"content": "#!/usr/bin/env python\nimport codecs\nfrom os import environ, path\nfrom sys import argv, path as sys_path\n\nfrom setuptools import find_packages, setup\n\nimport versioneer\n\n\ndeps = [\n    \"requests>=2.21.0,<3.0\",\n    \"isodate\",\n    \"websocket-client\",\n    # Support for SOCKS proxies\n    \"PySocks!=1.5.7,>=1.5.6\",\n]\n\n# for encrypted streams\nif environ.get(\"STREAMLINK_USE_PYCRYPTO\"):\n    deps.append(\"pycrypto\")\nelse:\n    # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6\n    deps.append(\"pycryptodome>=3.4.3,<4\")\n\n# for localization\nif environ.get(\"STREAMLINK_USE_PYCOUNTRY\"):\n    deps.append(\"pycountry\")\nelse:\n    deps.append(\"iso-639\")\n    deps.append(\"iso3166\")\n\n# When we build an egg for the Win32 bootstrap we don\"t want dependency\n# information built into it.\nif environ.get(\"NO_DEPS\"):\n    deps = []\n\nthis_directory = path.abspath(path.dirname(__file__))\nsrcdir = path.join(this_directory, \"src/\")\nsys_path.insert(0, srcdir)\n\nwith codecs.open(path.join(this_directory, \"README.md\"), 'r', \"utf8\") as f:\n    long_description = f.read()\n\n\ndef is_wheel_for_windows():\n    if \"bdist_wheel\" in argv:\n        names = [\"win32\", \"win-amd64\", \"cygwin\"]\n        length = len(argv)\n        for pos in range(argv.index(\"bdist_wheel\") + 1, length):\n            if argv[pos] == \"--plat-name\" and pos + 1 < length:\n                return argv[pos + 1] in names\n            elif argv[pos][:12] == \"--plat-name=\":\n                return argv[pos][12:] in names\n    return False\n\n\nentry_points = {\n    \"console_scripts\": [\"streamlink=streamlink_cli.main:main\"]\n}\n\nif is_wheel_for_windows():\n    entry_points[\"gui_scripts\"] = [\"streamlinkw=streamlink_cli.main:main\"]\n\n\nsetup(name=\"streamlink\",\n      version=versioneer.get_version(),\n      cmdclass=versioneer.get_cmdclass(),\n      description=\"Streamlink is a command-line utility that extracts streams \"\n                  \"from various services and pipes them into a video player of \"\n                  \"choice.\",\n      long_description=long_description,\n      long_description_content_type=\"text/markdown\",\n      url=\"https://github.com/streamlink/streamlink\",\n      project_urls={\n          \"Documentation\": \"https://streamlink.github.io/\",\n          \"Tracker\": \"https://github.com/streamlink/streamlink/issues\",\n          \"Source\": \"https://github.com/streamlink/streamlink\",\n          \"Funding\": \"https://opencollective.com/streamlink\"\n      },\n      author=\"Streamlink\",\n      # temp until we have a mailing list / global email\n      author_email=\"charlie@charliedrage.com\",\n      license=\"Simplified BSD\",\n      packages=find_packages(\"src\"),\n      package_dir={\"\": \"src\"},\n      entry_points=entry_points,\n      install_requires=deps,\n      test_suite=\"tests\",\n      python_requires=\">=3.6, <4\",\n      classifiers=[\"Development Status :: 5 - Production/Stable\",\n                   \"License :: OSI Approved :: BSD License\",\n                   \"Environment :: Console\",\n                   \"Intended Audience :: End Users/Desktop\",\n                   \"Operating System :: POSIX\",\n                   \"Operating System :: Microsoft :: Windows\",\n                   \"Operating System :: MacOS\",\n                   \"Programming Language :: Python :: 3\",\n                   \"Programming Language :: Python :: 3 :: Only\",\n                   \"Programming Language :: Python :: 3.6\",\n                   \"Programming Language :: Python :: 3.7\",\n                   \"Programming Language :: Python :: 3.8\",\n                   \"Programming Language :: Python :: 3.9\",\n                   \"Topic :: Internet :: WWW/HTTP\",\n                   \"Topic :: Multimedia :: Sound/Audio\",\n                   \"Topic :: Multimedia :: Video\",\n                   \"Topic :: Utilities\"])\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\nimport codecs\nfrom os import environ, path\nfrom sys import argv, path as sys_path\n\nfrom setuptools import find_packages, setup\n\nimport versioneer\n\n\ndeps = [\n    \"requests>=2.21.0,<3.0\",\n    \"isodate\",\n    \"websocket-client\",\n    # Support for SOCKS proxies\n    \"PySocks!=1.5.7,>=1.5.6\",\n]\n\n# for encrypted streams\nif environ.get(\"STREAMLINK_USE_PYCRYPTO\"):\n    deps.append(\"pycrypto\")\nelse:\n    # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6\n    deps.append(\"pycryptodome>=3.4.3,<4\")\n\n# for localization\nif environ.get(\"STREAMLINK_USE_PYCOUNTRY\"):\n    deps.append(\"pycountry\")\nelse:\n    deps.append(\"iso-639\")\n    deps.append(\"iso3166\")\n\n# When we build an egg for the Win32 bootstrap we don\"t want dependency\n# information built into it.\nif environ.get(\"NO_DEPS\"):\n    deps = []\n\nthis_directory = path.abspath(path.dirname(__file__))\nsrcdir = path.join(this_directory, \"src/\")\nsys_path.insert(0, srcdir)\n\nwith codecs.open(path.join(this_directory, \"README.md\"), 'r', \"utf8\") as f:\n    long_description = f.read()\n\n\ndef is_wheel_for_windows():\n    if \"bdist_wheel\" in argv:\n        names = [\"win32\", \"win-amd64\", \"cygwin\"]\n        length = len(argv)\n        for pos in range(argv.index(\"bdist_wheel\") + 1, length):\n            if argv[pos] == \"--plat-name\" and pos + 1 < length:\n                return argv[pos + 1] in names\n            elif argv[pos][:12] == \"--plat-name=\":\n                return argv[pos][12:] in names\n    return False\n\n\nentry_points = {\n    \"console_scripts\": [\"streamlink=streamlink_cli.main:main\"]\n}\n\nif is_wheel_for_windows():\n    entry_points[\"gui_scripts\"] = [\"streamlinkw=streamlink_cli.main:main\"]\n\n\nsetup(name=\"streamlink\",\n      version=versioneer.get_version(),\n      cmdclass=versioneer.get_cmdclass(),\n      description=\"Streamlink is a command-line utility that extracts streams \"\n                  \"from various services and pipes them into a video player of \"\n                  \"choice.\",\n      long_description=long_description,\n      long_description_content_type=\"text/markdown\",\n      url=\"https://github.com/streamlink/streamlink\",\n      project_urls={\n          \"Documentation\": \"https://streamlink.github.io/\",\n          \"Tracker\": \"https://github.com/streamlink/streamlink/issues\",\n          \"Source\": \"https://github.com/streamlink/streamlink\",\n          \"Funding\": \"https://opencollective.com/streamlink\"\n      },\n      author=\"Streamlink\",\n      # temp until we have a mailing list / global email\n      author_email=\"streamlink@protonmail.com\",\n      license=\"Simplified BSD\",\n      packages=find_packages(\"src\"),\n      package_dir={\"\": \"src\"},\n      entry_points=entry_points,\n      install_requires=deps,\n      test_suite=\"tests\",\n      python_requires=\">=3.6, <4\",\n      classifiers=[\"Development Status :: 5 - Production/Stable\",\n                   \"License :: OSI Approved :: BSD License\",\n                   \"Environment :: Console\",\n                   \"Intended Audience :: End Users/Desktop\",\n                   \"Operating System :: POSIX\",\n                   \"Operating System :: Microsoft :: Windows\",\n                   \"Operating System :: MacOS\",\n                   \"Programming Language :: Python :: 3\",\n                   \"Programming Language :: Python :: 3 :: Only\",\n                   \"Programming Language :: Python :: 3.6\",\n                   \"Programming Language :: Python :: 3.7\",\n                   \"Programming Language :: Python :: 3.8\",\n                   \"Programming Language :: Python :: 3.9\",\n                   \"Topic :: Internet :: WWW/HTTP\",\n                   \"Topic :: Multimedia :: Sound/Audio\",\n                   \"Topic :: Multimedia :: Video\",\n                   \"Topic :: Utilities\"])\n", "path": "setup.py"}]}