We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Google maps API requests should use an API key
`For development purposes only` watermark is being shown on our maps as Google has made it mandatory to use an API key to talk to the maps API. 

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `akvo/rsr/context_processors.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 """
3 Akvo RSR is covered by the GNU Affero General Public License.
4 
5 See more details in the license.txt file located at the root folder of the
6 Akvo RSR module. For additional details on the GNU license please see
7 < http://www.gnu.org/licenses/agpl.html >.
8 """
9 
10 import re
11 import django
12 
13 from django.conf import settings
14 from django.core.exceptions import DisallowedHost
15 from django.contrib.sites.models import get_current_site
16 
17 
18 def extra_context(request, protocol="http"):
19     """Add information to the request context."""
20     try:
21         current_site = get_current_site(request)
22     except DisallowedHost:
23         current_site = None
24 
25     django_version = django.get_version()
26     debug = getattr(settings, 'DEBUG', False)
27     deploy_tag = getattr(settings, 'DEPLOY_TAG', 'Unknown')
28     deploy_branch = getattr(settings, 'DEPLOY_BRANCH', 'Unknown')
29     deploy_commit_id = getattr(settings, 'DEPLOY_COMMIT_ID', 'Unknown')
30     deploy_commit_full_id = getattr(settings, 'DEPLOY_COMMIT_FULL_ID', 'Unknown')
31     sentry_dsn = get_sentry_dsn(settings)
32 
33     return dict(
34         current_site=current_site,
35         django_version=django_version,
36         debug=debug,
37         deploy_tag=deploy_tag,
38         deploy_branch=deploy_branch,
39         deploy_commit_id=deploy_commit_id,
40         deploy_commit_full_id=deploy_commit_full_id,
41         sentry_dsn=sentry_dsn,
42     )
43 
44 
45 def get_sentry_dsn(settings):
46     sentry_dsn = getattr(settings, 'RAVEN_CONFIG', {}).get('dsn', '')
47     sentry_dsn = re.sub('(:\w*?)@', '@', sentry_dsn)
48     # Always use https!
49     sentry_dsn = sentry_dsn.replace('http://', 'https://')
50     return sentry_dsn
51 
52 
53 def get_current_path_without_lang(request):
54     """Return current path without lang."""
55     path = request.get_full_path()
56     path_bits = path.split('/')
57     path = '/'.join(path_bits[2:])
58     return {'current_path_without_lang': path}
59 
60 
61 def extra_pages_context(request):
62     """Add context information of an RSR Page."""
63     if request.rsr_page:
64         page = request.rsr_page
65         return {
66             'rsr_page': page,
67             'favicon': page.favicon,
68             'logo': page.logo,
69             'organisation': page.organisation,
70             'return_url': page.return_url,
71             'return_url_text': page.custom_return_url_text,
72             'page_stylesheet': page.stylesheet,
73             'akvoapp_root_url': '//{}'.format(settings.AKVOAPP_DOMAIN),
74             'domain_url': '//{}'.format(settings.RSR_DOMAIN),
75             'no_facebook': not page.facebook_button,
76             'facebook_app_id': page.facebook_app_id,
77             'no_twitter': not page.twitter_button,
78         }
79 
80     return {}
81
```
--- 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()

```

diff --git a/akvo/rsr/context_processors.py b/akvo/rsr/context_processors.py
--- a/akvo/rsr/context_processors.py
+++ b/akvo/rsr/context_processors.py
@@ -29,6 +29,7 @@
     deploy_commit_id = getattr(settings, 'DEPLOY_COMMIT_ID', 'Unknown')
     deploy_commit_full_id = getattr(settings, 'DEPLOY_COMMIT_FULL_ID', 'Unknown')
     sentry_dsn = get_sentry_dsn(settings)
+    gmaps_api_key = getattr(settings, 'GOOGLE_MAPS_API_KEY', 'NO_API_KEY')
 
     return dict(
         current_site=current_site,
@@ -39,6 +40,7 @@
         deploy_commit_id=deploy_commit_id,
         deploy_commit_full_id=deploy_commit_full_id,
         sentry_dsn=sentry_dsn,
+        gmaps_api_key=gmaps_api_key,
     )

{"golden_diff": "diff --git a/akvo/rsr/context_processors.py b/akvo/rsr/context_processors.py\n--- a/akvo/rsr/context_processors.py\n+++ b/akvo/rsr/context_processors.py\n@@ -29,6 +29,7 @@\n     deploy_commit_id = getattr(settings, 'DEPLOY_COMMIT_ID', 'Unknown')\n     deploy_commit_full_id = getattr(settings, 'DEPLOY_COMMIT_FULL_ID', 'Unknown')\n     sentry_dsn = get_sentry_dsn(settings)\n+    gmaps_api_key = getattr(settings, 'GOOGLE_MAPS_API_KEY', 'NO_API_KEY')\n \n     return dict(\n         current_site=current_site,\n@@ -39,6 +40,7 @@\n         deploy_commit_id=deploy_commit_id,\n         deploy_commit_full_id=deploy_commit_full_id,\n         sentry_dsn=sentry_dsn,\n+        gmaps_api_key=gmaps_api_key,\n     )\n", "issue": "Google maps API requests should use an API key\n`For development purposes only` watermark is being shown on our maps as Google has made it mandatory to use an API key to talk to the maps API. \n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n\"\"\"\nAkvo RSR is covered by the GNU Affero General Public License.\n\nSee more details in the license.txt file located at the root folder of the\nAkvo RSR module. For additional details on the GNU license please see\n< http://www.gnu.org/licenses/agpl.html >.\n\"\"\"\n\nimport re\nimport django\n\nfrom django.conf import settings\nfrom django.core.exceptions import DisallowedHost\nfrom django.contrib.sites.models import get_current_site\n\n\ndef extra_context(request, protocol=\"http\"):\n    \"\"\"Add information to the request context.\"\"\"\n    try:\n        current_site = get_current_site(request)\n    except DisallowedHost:\n        current_site = None\n\n    django_version = django.get_version()\n    debug = getattr(settings, 'DEBUG', False)\n    deploy_tag = getattr(settings, 'DEPLOY_TAG', 'Unknown')\n    deploy_branch = getattr(settings, 'DEPLOY_BRANCH', 'Unknown')\n    deploy_commit_id = getattr(settings, 'DEPLOY_COMMIT_ID', 'Unknown')\n    deploy_commit_full_id = getattr(settings, 'DEPLOY_COMMIT_FULL_ID', 'Unknown')\n    sentry_dsn = get_sentry_dsn(settings)\n\n    return dict(\n        current_site=current_site,\n        django_version=django_version,\n        debug=debug,\n        deploy_tag=deploy_tag,\n        deploy_branch=deploy_branch,\n        deploy_commit_id=deploy_commit_id,\n        deploy_commit_full_id=deploy_commit_full_id,\n        sentry_dsn=sentry_dsn,\n    )\n\n\ndef get_sentry_dsn(settings):\n    sentry_dsn = getattr(settings, 'RAVEN_CONFIG', {}).get('dsn', '')\n    sentry_dsn = re.sub('(:\\w*?)@', '@', sentry_dsn)\n    # Always use https!\n    sentry_dsn = sentry_dsn.replace('http://', 'https://')\n    return sentry_dsn\n\n\ndef get_current_path_without_lang(request):\n    \"\"\"Return current path without lang.\"\"\"\n    path = request.get_full_path()\n    path_bits = path.split('/')\n    path = '/'.join(path_bits[2:])\n    return {'current_path_without_lang': path}\n\n\ndef extra_pages_context(request):\n    \"\"\"Add context information of an RSR Page.\"\"\"\n    if request.rsr_page:\n        page = request.rsr_page\n        return {\n            'rsr_page': page,\n            'favicon': page.favicon,\n            'logo': page.logo,\n            'organisation': page.organisation,\n            'return_url': page.return_url,\n            'return_url_text': page.custom_return_url_text,\n            'page_stylesheet': page.stylesheet,\n            'akvoapp_root_url': '//{}'.format(settings.AKVOAPP_DOMAIN),\n            'domain_url': '//{}'.format(settings.RSR_DOMAIN),\n            'no_facebook': not page.facebook_button,\n            'facebook_app_id': page.facebook_app_id,\n            'no_twitter': not page.twitter_button,\n        }\n\n    return {}\n", "path": "akvo/rsr/context_processors.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n\"\"\"\nAkvo RSR is covered by the GNU Affero General Public License.\n\nSee more details in the license.txt file located at the root folder of the\nAkvo RSR module. For additional details on the GNU license please see\n< http://www.gnu.org/licenses/agpl.html >.\n\"\"\"\n\nimport re\nimport django\n\nfrom django.conf import settings\nfrom django.core.exceptions import DisallowedHost\nfrom django.contrib.sites.models import get_current_site\n\n\ndef extra_context(request, protocol=\"http\"):\n    \"\"\"Add information to the request context.\"\"\"\n    try:\n        current_site = get_current_site(request)\n    except DisallowedHost:\n        current_site = None\n\n    django_version = django.get_version()\n    debug = getattr(settings, 'DEBUG', False)\n    deploy_tag = getattr(settings, 'DEPLOY_TAG', 'Unknown')\n    deploy_branch = getattr(settings, 'DEPLOY_BRANCH', 'Unknown')\n    deploy_commit_id = getattr(settings, 'DEPLOY_COMMIT_ID', 'Unknown')\n    deploy_commit_full_id = getattr(settings, 'DEPLOY_COMMIT_FULL_ID', 'Unknown')\n    sentry_dsn = get_sentry_dsn(settings)\n    gmaps_api_key = getattr(settings, 'GOOGLE_MAPS_API_KEY', 'NO_API_KEY')\n\n    return dict(\n        current_site=current_site,\n        django_version=django_version,\n        debug=debug,\n        deploy_tag=deploy_tag,\n        deploy_branch=deploy_branch,\n        deploy_commit_id=deploy_commit_id,\n        deploy_commit_full_id=deploy_commit_full_id,\n        sentry_dsn=sentry_dsn,\n        gmaps_api_key=gmaps_api_key,\n    )\n\n\ndef get_sentry_dsn(settings):\n    sentry_dsn = getattr(settings, 'RAVEN_CONFIG', {}).get('dsn', '')\n    sentry_dsn = re.sub('(:\\w*?)@', '@', sentry_dsn)\n    # Always use https!\n    sentry_dsn = sentry_dsn.replace('http://', 'https://')\n    return sentry_dsn\n\n\ndef get_current_path_without_lang(request):\n    \"\"\"Return current path without lang.\"\"\"\n    path = request.get_full_path()\n    path_bits = path.split('/')\n    path = '/'.join(path_bits[2:])\n    return {'current_path_without_lang': path}\n\n\ndef extra_pages_context(request):\n    \"\"\"Add context information of an RSR Page.\"\"\"\n    if request.rsr_page:\n        page = request.rsr_page\n        return {\n            'rsr_page': page,\n            'favicon': page.favicon,\n            'logo': page.logo,\n            'organisation': page.organisation,\n            'return_url': page.return_url,\n            'return_url_text': page.custom_return_url_text,\n            'page_stylesheet': page.stylesheet,\n            'akvoapp_root_url': '//{}'.format(settings.AKVOAPP_DOMAIN),\n            'domain_url': '//{}'.format(settings.RSR_DOMAIN),\n            'no_facebook': not page.facebook_button,\n            'facebook_app_id': page.facebook_app_id,\n            'no_twitter': not page.twitter_button,\n        }\n\n    return {}\n", "path": "akvo/rsr/context_processors.py"}]}