prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  rename /etc/letsencrypt/configs to /etc/letsencrypt/renewal
  Since it doesn't contain anything except renewal configuration files, people will probably find the current name confusing.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `letsencrypt/constants.py`
  Content:
  ```
  1 """Let's Encrypt constants."""
  2 import os
  3 import logging
  4 
  5 from acme import challenges
  6 
  7 
  8 SETUPTOOLS_PLUGINS_ENTRY_POINT = "letsencrypt.plugins"
  9 """Setuptools entry point group name for plugins."""
  10 
  11 CLI_DEFAULTS = dict(
  12     config_files=[
  13         "/etc/letsencrypt/cli.ini",
  14         # http://freedesktop.org/wiki/Software/xdg-user-dirs/
  15         os.path.join(os.environ.get("XDG_CONFIG_HOME", "~/.config"),
  16                      "letsencrypt", "cli.ini"),
  17     ],
  18     verbose_count=-(logging.WARNING / 10),
  19     server="https://acme-staging.api.letsencrypt.org/directory",
  20     rsa_key_size=2048,
  21     rollback_checkpoints=1,
  22     config_dir="/etc/letsencrypt",
  23     work_dir="/var/lib/letsencrypt",
  24     logs_dir="/var/log/letsencrypt",
  25     no_verify_ssl=False,
  26     dvsni_port=challenges.DVSNI.PORT,
  27 
  28     auth_cert_path="./cert.pem",
  29     auth_chain_path="./chain.pem",
  30 )
  31 """Defaults for CLI flags and `.IConfig` attributes."""
  32 
  33 
  34 RENEWER_DEFAULTS = dict(
  35     renewer_enabled="yes",
  36     renew_before_expiry="30 days",
  37     deploy_before_expiry="20 days",
  38 )
  39 """Defaults for renewer script."""
  40 
  41 
  42 EXCLUSIVE_CHALLENGES = frozenset([frozenset([
  43     challenges.DVSNI, challenges.SimpleHTTP])])
  44 """Mutually exclusive challenges."""
  45 
  46 
  47 ENHANCEMENTS = ["redirect", "http-header", "ocsp-stapling", "spdy"]
  48 """List of possible :class:`letsencrypt.interfaces.IInstaller`
  49 enhancements.
  50 
  51 List of expected options parameters:
  52 - redirect: None
  53 - http-header: TODO
  54 - ocsp-stapling: TODO
  55 - spdy: TODO
  56 
  57 """
  58 
  59 ARCHIVE_DIR = "archive"
  60 """Archive directory, relative to `IConfig.config_dir`."""
  61 
  62 CONFIG_DIRS_MODE = 0o755
  63 """Directory mode for ``.IConfig.config_dir`` et al."""
  64 
  65 ACCOUNTS_DIR = "accounts"
  66 """Directory where all accounts are saved."""
  67 
  68 BACKUP_DIR = "backups"
  69 """Directory (relative to `IConfig.work_dir`) where backups are kept."""
  70 
  71 CERT_DIR = "certs"
  72 """See `.IConfig.cert_dir`."""
  73 
  74 CERT_KEY_BACKUP_DIR = "keys-certs"
  75 """Directory where all certificates and keys are stored (relative to
  76 `IConfig.work_dir`). Used for easy revocation."""
  77 
  78 IN_PROGRESS_DIR = "IN_PROGRESS"
  79 """Directory used before a permanent checkpoint is finalized (relative to
  80 `IConfig.work_dir`)."""
  81 
  82 KEY_DIR = "keys"
  83 """Directory (relative to `IConfig.config_dir`) where keys are saved."""
  84 
  85 LIVE_DIR = "live"
  86 """Live directory, relative to `IConfig.config_dir`."""
  87 
  88 TEMP_CHECKPOINT_DIR = "temp_checkpoint"
  89 """Temporary checkpoint directory (relative to `IConfig.work_dir`)."""
  90 
  91 RENEWAL_CONFIGS_DIR = "configs"
  92 """Renewal configs directory, relative to `IConfig.config_dir`."""
  93 
  94 RENEWER_CONFIG_FILENAME = "renewer.conf"
  95 """Renewer config file name (relative to `IConfig.config_dir`)."""
  96
  ```
  --- 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/letsencrypt/constants.py b/letsencrypt/constants.py
  --- a/letsencrypt/constants.py
  +++ b/letsencrypt/constants.py
  @@ -88,7 +88,7 @@
   TEMP_CHECKPOINT_DIR = "temp_checkpoint"
   """Temporary checkpoint directory (relative to `IConfig.work_dir`)."""
   
  -RENEWAL_CONFIGS_DIR = "configs"
  +RENEWAL_CONFIGS_DIR = "renewal"
   """Renewal configs directory, relative to `IConfig.config_dir`."""
   
   RENEWER_CONFIG_FILENAME = "renewer.conf"
  
verification_info: {"golden_diff": "diff --git a/letsencrypt/constants.py b/letsencrypt/constants.py\n--- a/letsencrypt/constants.py\n+++ b/letsencrypt/constants.py\n@@ -88,7 +88,7 @@\n TEMP_CHECKPOINT_DIR = \"temp_checkpoint\"\n \"\"\"Temporary checkpoint directory (relative to `IConfig.work_dir`).\"\"\"\n \n-RENEWAL_CONFIGS_DIR = \"configs\"\n+RENEWAL_CONFIGS_DIR = \"renewal\"\n \"\"\"Renewal configs directory, relative to `IConfig.config_dir`.\"\"\"\n \n RENEWER_CONFIG_FILENAME = \"renewer.conf\"\n", "issue": "rename /etc/letsencrypt/configs to /etc/letsencrypt/renewal\nSince it doesn't contain anything except renewal configuration files, people will probably find the current name confusing.\n\n", "before_files": [{"content": "\"\"\"Let's Encrypt constants.\"\"\"\nimport os\nimport logging\n\nfrom acme import challenges\n\n\nSETUPTOOLS_PLUGINS_ENTRY_POINT = \"letsencrypt.plugins\"\n\"\"\"Setuptools entry point group name for plugins.\"\"\"\n\nCLI_DEFAULTS = dict(\n    config_files=[\n        \"/etc/letsencrypt/cli.ini\",\n        # http://freedesktop.org/wiki/Software/xdg-user-dirs/\n        os.path.join(os.environ.get(\"XDG_CONFIG_HOME\", \"~/.config\"),\n                     \"letsencrypt\", \"cli.ini\"),\n    ],\n    verbose_count=-(logging.WARNING / 10),\n    server=\"https://acme-staging.api.letsencrypt.org/directory\",\n    rsa_key_size=2048,\n    rollback_checkpoints=1,\n    config_dir=\"/etc/letsencrypt\",\n    work_dir=\"/var/lib/letsencrypt\",\n    logs_dir=\"/var/log/letsencrypt\",\n    no_verify_ssl=False,\n    dvsni_port=challenges.DVSNI.PORT,\n\n    auth_cert_path=\"./cert.pem\",\n    auth_chain_path=\"./chain.pem\",\n)\n\"\"\"Defaults for CLI flags and `.IConfig` attributes.\"\"\"\n\n\nRENEWER_DEFAULTS = dict(\n    renewer_enabled=\"yes\",\n    renew_before_expiry=\"30 days\",\n    deploy_before_expiry=\"20 days\",\n)\n\"\"\"Defaults for renewer script.\"\"\"\n\n\nEXCLUSIVE_CHALLENGES = frozenset([frozenset([\n    challenges.DVSNI, challenges.SimpleHTTP])])\n\"\"\"Mutually exclusive challenges.\"\"\"\n\n\nENHANCEMENTS = [\"redirect\", \"http-header\", \"ocsp-stapling\", \"spdy\"]\n\"\"\"List of possible :class:`letsencrypt.interfaces.IInstaller`\nenhancements.\n\nList of expected options parameters:\n- redirect: None\n- http-header: TODO\n- ocsp-stapling: TODO\n- spdy: TODO\n\n\"\"\"\n\nARCHIVE_DIR = \"archive\"\n\"\"\"Archive directory, relative to `IConfig.config_dir`.\"\"\"\n\nCONFIG_DIRS_MODE = 0o755\n\"\"\"Directory mode for ``.IConfig.config_dir`` et al.\"\"\"\n\nACCOUNTS_DIR = \"accounts\"\n\"\"\"Directory where all accounts are saved.\"\"\"\n\nBACKUP_DIR = \"backups\"\n\"\"\"Directory (relative to `IConfig.work_dir`) where backups are kept.\"\"\"\n\nCERT_DIR = \"certs\"\n\"\"\"See `.IConfig.cert_dir`.\"\"\"\n\nCERT_KEY_BACKUP_DIR = \"keys-certs\"\n\"\"\"Directory where all certificates and keys are stored (relative to\n`IConfig.work_dir`). Used for easy revocation.\"\"\"\n\nIN_PROGRESS_DIR = \"IN_PROGRESS\"\n\"\"\"Directory used before a permanent checkpoint is finalized (relative to\n`IConfig.work_dir`).\"\"\"\n\nKEY_DIR = \"keys\"\n\"\"\"Directory (relative to `IConfig.config_dir`) where keys are saved.\"\"\"\n\nLIVE_DIR = \"live\"\n\"\"\"Live directory, relative to `IConfig.config_dir`.\"\"\"\n\nTEMP_CHECKPOINT_DIR = \"temp_checkpoint\"\n\"\"\"Temporary checkpoint directory (relative to `IConfig.work_dir`).\"\"\"\n\nRENEWAL_CONFIGS_DIR = \"configs\"\n\"\"\"Renewal configs directory, relative to `IConfig.config_dir`.\"\"\"\n\nRENEWER_CONFIG_FILENAME = \"renewer.conf\"\n\"\"\"Renewer config file name (relative to `IConfig.config_dir`).\"\"\"\n", "path": "letsencrypt/constants.py"}], "after_files": [{"content": "\"\"\"Let's Encrypt constants.\"\"\"\nimport os\nimport logging\n\nfrom acme import challenges\n\n\nSETUPTOOLS_PLUGINS_ENTRY_POINT = \"letsencrypt.plugins\"\n\"\"\"Setuptools entry point group name for plugins.\"\"\"\n\nCLI_DEFAULTS = dict(\n    config_files=[\n        \"/etc/letsencrypt/cli.ini\",\n        # http://freedesktop.org/wiki/Software/xdg-user-dirs/\n        os.path.join(os.environ.get(\"XDG_CONFIG_HOME\", \"~/.config\"),\n                     \"letsencrypt\", \"cli.ini\"),\n    ],\n    verbose_count=-(logging.WARNING / 10),\n    server=\"https://acme-staging.api.letsencrypt.org/directory\",\n    rsa_key_size=2048,\n    rollback_checkpoints=1,\n    config_dir=\"/etc/letsencrypt\",\n    work_dir=\"/var/lib/letsencrypt\",\n    logs_dir=\"/var/log/letsencrypt\",\n    no_verify_ssl=False,\n    dvsni_port=challenges.DVSNI.PORT,\n\n    auth_cert_path=\"./cert.pem\",\n    auth_chain_path=\"./chain.pem\",\n)\n\"\"\"Defaults for CLI flags and `.IConfig` attributes.\"\"\"\n\n\nRENEWER_DEFAULTS = dict(\n    renewer_enabled=\"yes\",\n    renew_before_expiry=\"30 days\",\n    deploy_before_expiry=\"20 days\",\n)\n\"\"\"Defaults for renewer script.\"\"\"\n\n\nEXCLUSIVE_CHALLENGES = frozenset([frozenset([\n    challenges.DVSNI, challenges.SimpleHTTP])])\n\"\"\"Mutually exclusive challenges.\"\"\"\n\n\nENHANCEMENTS = [\"redirect\", \"http-header\", \"ocsp-stapling\", \"spdy\"]\n\"\"\"List of possible :class:`letsencrypt.interfaces.IInstaller`\nenhancements.\n\nList of expected options parameters:\n- redirect: None\n- http-header: TODO\n- ocsp-stapling: TODO\n- spdy: TODO\n\n\"\"\"\n\nARCHIVE_DIR = \"archive\"\n\"\"\"Archive directory, relative to `IConfig.config_dir`.\"\"\"\n\nCONFIG_DIRS_MODE = 0o755\n\"\"\"Directory mode for ``.IConfig.config_dir`` et al.\"\"\"\n\nACCOUNTS_DIR = \"accounts\"\n\"\"\"Directory where all accounts are saved.\"\"\"\n\nBACKUP_DIR = \"backups\"\n\"\"\"Directory (relative to `IConfig.work_dir`) where backups are kept.\"\"\"\n\nCERT_DIR = \"certs\"\n\"\"\"See `.IConfig.cert_dir`.\"\"\"\n\nCERT_KEY_BACKUP_DIR = \"keys-certs\"\n\"\"\"Directory where all certificates and keys are stored (relative to\n`IConfig.work_dir`). Used for easy revocation.\"\"\"\n\nIN_PROGRESS_DIR = \"IN_PROGRESS\"\n\"\"\"Directory used before a permanent checkpoint is finalized (relative to\n`IConfig.work_dir`).\"\"\"\n\nKEY_DIR = \"keys\"\n\"\"\"Directory (relative to `IConfig.config_dir`) where keys are saved.\"\"\"\n\nLIVE_DIR = \"live\"\n\"\"\"Live directory, relative to `IConfig.config_dir`.\"\"\"\n\nTEMP_CHECKPOINT_DIR = \"temp_checkpoint\"\n\"\"\"Temporary checkpoint directory (relative to `IConfig.work_dir`).\"\"\"\n\nRENEWAL_CONFIGS_DIR = \"renewal\"\n\"\"\"Renewal configs directory, relative to `IConfig.config_dir`.\"\"\"\n\nRENEWER_CONFIG_FILENAME = \"renewer.conf\"\n\"\"\"Renewer config file name (relative to `IConfig.config_dir`).\"\"\"\n", "path": "letsencrypt/constants.py"}]}