We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Spider holiday_stationstores is broken
During the global build at 2021-08-18-14-42-26, spider **holiday_stationstores** failed with **552 features** and **10 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/logs/holiday_stationstores.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/output/holiday_stationstores.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/output/holiday_stationstores.geojson))

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `locations/spiders/holiday_stationstores.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 import scrapy
3 import json
4 import re
5 
6 from locations.items import GeojsonPointItem
7 
8 
9 class HolidayStationstoreSpider(scrapy.Spider):
10     name = "holiday_stationstores"
11     item_attributes = {'brand': 'Holiday Stationstores',
12                        'brand_wikidata': 'Q5880490'}
13     allowed_domains = ["www.holidaystationstores.com"]
14     download_delay = 0.2
15 
16     def start_requests(self):
17         yield scrapy.Request('https://www.holidaystationstores.com/Locations/GetAllStores',
18                              method='POST',
19                              callback=self.parse_all_stores)
20 
21     def parse_all_stores(self, response):
22         all_stores = json.loads(response.body_as_unicode())
23 
24         for store_id, store in all_stores.items():
25             # GET requests get blocked by their CDN, but POST works fine
26             yield scrapy.Request(f"https://www.holidaystationstores.com/Locations/Detail?storeNumber={store_id}",
27                                  method='POST',
28                                  meta={'store': store})
29 
30     def parse(self, response):
31         store = response.meta['store']
32 
33         address = response.css(
34             '.row.HolidayBackgroundColorBlue div::text').extract_first().strip()
35         phone = response.css(
36             '.body-content .col-lg-4 .HolidayFontColorRed::text').extract_first().strip()
37         services = '|'.join(response.css(
38             '.body-content .col-lg-4 ul li::text').extract()).lower()
39         open_24_hours = '24 hours' in response.css(
40             '.body-content .col-lg-4').get().lower()
41 
42         properties = {
43             'name': f"Holiday #{store['Name']}",
44             'lon': store['Lng'],
45             'lat': store['Lat'],
46             'addr_full': address,
47             'phone': phone,
48             'ref': store['ID'],
49             'opening_hours': '24/7' if open_24_hours else self.opening_hours(response),
50             'extras': {
51                 'amenity:fuel': True,
52                 'fuel:diesel': 'diesel' in services or None,
53                 'atm': 'atm' in services or None,
54                 'fuel:e85': 'e85' in services or None,
55                 'hgv': 'truck' in services or None,
56                 'fuel:propane': 'propane' in services or None,
57                 'car_wash': 'car wash' in services or None,
58                 'fuel:cng': 'cng' in services or None
59             }
60         }
61 
62         yield GeojsonPointItem(**properties)
63 
64     def opening_hours(self, response):
65         hour_part_elems = response.css(
66             '.body-content .col-lg-4 .row div::text').extract()
67         day_groups = []
68         this_day_group = None
69 
70         if hour_part_elems:
71             def slice(source, step):
72                 return [source[i:i+step] for i in range(0, len(source), step)]
73 
74             for day, hours in slice(hour_part_elems, 2):
75                 day = day[:2]
76                 match = re.search(
77                     r'^(\d{1,2}):(\d{2})\s*(a|p)m - (\d{1,2}):(\d{2})\s*(a|p)m?$', hours.lower())
78                 (f_hr, f_min, f_ampm, t_hr, t_min, t_ampm) = match.groups()
79 
80                 f_hr = int(f_hr)
81                 if f_ampm == 'p':
82                     f_hr += 12
83                 elif f_ampm == 'a' and f_hr == 12:
84                     f_hr = 0
85                 t_hr = int(t_hr)
86                 if t_ampm == 'p':
87                     t_hr += 12
88                 elif t_ampm == 'a' and t_hr == 12:
89                     t_hr = 0
90 
91                 hours = '{:02d}:{}-{:02d}:{}'.format(
92                     f_hr,
93                     f_min,
94                     t_hr,
95                     t_min,
96                 )
97 
98                 if not this_day_group:
99                     this_day_group = {
100                         'from_day': day,
101                         'to_day': day,
102                         'hours': hours
103                     }
104                 elif this_day_group['hours'] != hours:
105                     day_groups.append(this_day_group)
106                     this_day_group = {
107                         'from_day': day,
108                         'to_day': day,
109                         'hours': hours
110                     }
111                 elif this_day_group['hours'] == hours:
112                     this_day_group['to_day'] = day
113 
114             day_groups.append(this_day_group)
115 
116         hour_part_elems = response.xpath(
117             '//span[@style="font-size:90%"]/text()').extract()
118         if hour_part_elems:
119             day_groups.append(
120                 {'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})
121 
122         opening_hours = ""
123         if len(day_groups) == 1 and day_groups[0]['hours'] in ('00:00-23:59', '00:00-00:00'):
124             opening_hours = '24/7'
125         else:
126             for day_group in day_groups:
127                 if day_group['from_day'] == day_group['to_day']:
128                     opening_hours += '{from_day} {hours}; '.format(**day_group)
129                 elif day_group['from_day'] == 'Su' and day_group['to_day'] == 'Sa':
130                     opening_hours += '{hours}; '.format(**day_group)
131                 else:
132                     opening_hours += '{from_day}-{to_day} {hours}; '.format(
133                         **day_group)
134             opening_hours = opening_hours[:-2]
135 
136         return opening_hours
137
```
--- 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/locations/spiders/holiday_stationstores.py b/locations/spiders/holiday_stationstores.py
--- a/locations/spiders/holiday_stationstores.py
+++ b/locations/spiders/holiday_stationstores.py
@@ -19,10 +19,10 @@
                              callback=self.parse_all_stores)
 
     def parse_all_stores(self, response):
-        all_stores = json.loads(response.body_as_unicode())
+        all_stores = json.loads(response.text)
 
         for store_id, store in all_stores.items():
-            # GET requests get blocked by their CDN, but POST works fine
+            # GET requests get blocked by their Incapsula bot protection, but POST works fine
             yield scrapy.Request(f"https://www.holidaystationstores.com/Locations/Detail?storeNumber={store_id}",
                                  method='POST',
                                  meta={'store': store})
@@ -30,12 +30,9 @@
     def parse(self, response):
         store = response.meta['store']
 
-        address = response.css(
-            '.row.HolidayBackgroundColorBlue div::text').extract_first().strip()
-        phone = response.css(
-            '.body-content .col-lg-4 .HolidayFontColorRed::text').extract_first().strip()
-        services = '|'.join(response.css(
-            '.body-content .col-lg-4 ul li::text').extract()).lower()
+        address = response.xpath('//div[@class="col-lg-4 col-sm-12"]/text()')[1].extract().strip()
+        phone = response.xpath('//div[@class="HolidayFontColorRed"]/text()').extract_first().strip()
+        services = '|'.join(response.xpath('//ul[@style="list-style-type: none; padding-left: 1.0em; font-size: 12px;"]/li/text()').extract()).lower()
         open_24_hours = '24 hours' in response.css(
             '.body-content .col-lg-4').get().lower()
 
@@ -62,16 +59,18 @@
         yield GeojsonPointItem(**properties)
 
     def opening_hours(self, response):
-        hour_part_elems = response.css(
-            '.body-content .col-lg-4 .row div::text').extract()
+        hour_part_elems = response.xpath('//div[@class="row"][@style="font-size: 12px;"]')
         day_groups = []
         this_day_group = None
 
         if hour_part_elems:
-            def slice(source, step):
-                return [source[i:i+step] for i in range(0, len(source), step)]
+            for hour_part_elem in hour_part_elems:
+                day = hour_part_elem.xpath('.//div[@class="col-3"]/text()').extract_first()
+                hours = hour_part_elem.xpath('.//div[@class="col-9"]/text()').extract_first()
+
+                if not hours:
+                    continue
 
-            for day, hours in slice(hour_part_elems, 2):
                 day = day[:2]
                 match = re.search(
                     r'^(\d{1,2}):(\d{2})\s*(a|p)m - (\d{1,2}):(\d{2})\s*(a|p)m?$', hours.lower())
@@ -111,13 +110,12 @@
                 elif this_day_group['hours'] == hours:
                     this_day_group['to_day'] = day
 
-            day_groups.append(this_day_group)
+            if this_day_group:
+                day_groups.append(this_day_group)
 
-        hour_part_elems = response.xpath(
-            '//span[@style="font-size:90%"]/text()').extract()
+        hour_part_elems = response.xpath('//span[@style="font-size:90%"]/text()').extract()
         if hour_part_elems:
-            day_groups.append(
-                {'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})
+            day_groups.append({'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})
 
         opening_hours = ""
         if len(day_groups) == 1 and day_groups[0]['hours'] in ('00:00-23:59', '00:00-00:00'):

{"golden_diff": "diff --git a/locations/spiders/holiday_stationstores.py b/locations/spiders/holiday_stationstores.py\n--- a/locations/spiders/holiday_stationstores.py\n+++ b/locations/spiders/holiday_stationstores.py\n@@ -19,10 +19,10 @@\n                              callback=self.parse_all_stores)\n \n     def parse_all_stores(self, response):\n-        all_stores = json.loads(response.body_as_unicode())\n+        all_stores = json.loads(response.text)\n \n         for store_id, store in all_stores.items():\n-            # GET requests get blocked by their CDN, but POST works fine\n+            # GET requests get blocked by their Incapsula bot protection, but POST works fine\n             yield scrapy.Request(f\"https://www.holidaystationstores.com/Locations/Detail?storeNumber={store_id}\",\n                                  method='POST',\n                                  meta={'store': store})\n@@ -30,12 +30,9 @@\n     def parse(self, response):\n         store = response.meta['store']\n \n-        address = response.css(\n-            '.row.HolidayBackgroundColorBlue div::text').extract_first().strip()\n-        phone = response.css(\n-            '.body-content .col-lg-4 .HolidayFontColorRed::text').extract_first().strip()\n-        services = '|'.join(response.css(\n-            '.body-content .col-lg-4 ul li::text').extract()).lower()\n+        address = response.xpath('//div[@class=\"col-lg-4 col-sm-12\"]/text()')[1].extract().strip()\n+        phone = response.xpath('//div[@class=\"HolidayFontColorRed\"]/text()').extract_first().strip()\n+        services = '|'.join(response.xpath('//ul[@style=\"list-style-type: none; padding-left: 1.0em; font-size: 12px;\"]/li/text()').extract()).lower()\n         open_24_hours = '24 hours' in response.css(\n             '.body-content .col-lg-4').get().lower()\n \n@@ -62,16 +59,18 @@\n         yield GeojsonPointItem(**properties)\n \n     def opening_hours(self, response):\n-        hour_part_elems = response.css(\n-            '.body-content .col-lg-4 .row div::text').extract()\n+        hour_part_elems = response.xpath('//div[@class=\"row\"][@style=\"font-size: 12px;\"]')\n         day_groups = []\n         this_day_group = None\n \n         if hour_part_elems:\n-            def slice(source, step):\n-                return [source[i:i+step] for i in range(0, len(source), step)]\n+            for hour_part_elem in hour_part_elems:\n+                day = hour_part_elem.xpath('.//div[@class=\"col-3\"]/text()').extract_first()\n+                hours = hour_part_elem.xpath('.//div[@class=\"col-9\"]/text()').extract_first()\n+\n+                if not hours:\n+                    continue\n \n-            for day, hours in slice(hour_part_elems, 2):\n                 day = day[:2]\n                 match = re.search(\n                     r'^(\\d{1,2}):(\\d{2})\\s*(a|p)m - (\\d{1,2}):(\\d{2})\\s*(a|p)m?$', hours.lower())\n@@ -111,13 +110,12 @@\n                 elif this_day_group['hours'] == hours:\n                     this_day_group['to_day'] = day\n \n-            day_groups.append(this_day_group)\n+            if this_day_group:\n+                day_groups.append(this_day_group)\n \n-        hour_part_elems = response.xpath(\n-            '//span[@style=\"font-size:90%\"]/text()').extract()\n+        hour_part_elems = response.xpath('//span[@style=\"font-size:90%\"]/text()').extract()\n         if hour_part_elems:\n-            day_groups.append(\n-                {'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})\n+            day_groups.append({'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})\n \n         opening_hours = \"\"\n         if len(day_groups) == 1 and day_groups[0]['hours'] in ('00:00-23:59', '00:00-00:00'):\n", "issue": "Spider holiday_stationstores is broken\nDuring the global build at 2021-08-18-14-42-26, spider **holiday_stationstores** failed with **552 features** and **10 errors**.\n\nHere's [the log](https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/logs/holiday_stationstores.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/output/holiday_stationstores.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-18-14-42-26/output/holiday_stationstores.geojson))\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\nimport scrapy\nimport json\nimport re\n\nfrom locations.items import GeojsonPointItem\n\n\nclass HolidayStationstoreSpider(scrapy.Spider):\n    name = \"holiday_stationstores\"\n    item_attributes = {'brand': 'Holiday Stationstores',\n                       'brand_wikidata': 'Q5880490'}\n    allowed_domains = [\"www.holidaystationstores.com\"]\n    download_delay = 0.2\n\n    def start_requests(self):\n        yield scrapy.Request('https://www.holidaystationstores.com/Locations/GetAllStores',\n                             method='POST',\n                             callback=self.parse_all_stores)\n\n    def parse_all_stores(self, response):\n        all_stores = json.loads(response.body_as_unicode())\n\n        for store_id, store in all_stores.items():\n            # GET requests get blocked by their CDN, but POST works fine\n            yield scrapy.Request(f\"https://www.holidaystationstores.com/Locations/Detail?storeNumber={store_id}\",\n                                 method='POST',\n                                 meta={'store': store})\n\n    def parse(self, response):\n        store = response.meta['store']\n\n        address = response.css(\n            '.row.HolidayBackgroundColorBlue div::text').extract_first().strip()\n        phone = response.css(\n            '.body-content .col-lg-4 .HolidayFontColorRed::text').extract_first().strip()\n        services = '|'.join(response.css(\n            '.body-content .col-lg-4 ul li::text').extract()).lower()\n        open_24_hours = '24 hours' in response.css(\n            '.body-content .col-lg-4').get().lower()\n\n        properties = {\n            'name': f\"Holiday #{store['Name']}\",\n            'lon': store['Lng'],\n            'lat': store['Lat'],\n            'addr_full': address,\n            'phone': phone,\n            'ref': store['ID'],\n            'opening_hours': '24/7' if open_24_hours else self.opening_hours(response),\n            'extras': {\n                'amenity:fuel': True,\n                'fuel:diesel': 'diesel' in services or None,\n                'atm': 'atm' in services or None,\n                'fuel:e85': 'e85' in services or None,\n                'hgv': 'truck' in services or None,\n                'fuel:propane': 'propane' in services or None,\n                'car_wash': 'car wash' in services or None,\n                'fuel:cng': 'cng' in services or None\n            }\n        }\n\n        yield GeojsonPointItem(**properties)\n\n    def opening_hours(self, response):\n        hour_part_elems = response.css(\n            '.body-content .col-lg-4 .row div::text').extract()\n        day_groups = []\n        this_day_group = None\n\n        if hour_part_elems:\n            def slice(source, step):\n                return [source[i:i+step] for i in range(0, len(source), step)]\n\n            for day, hours in slice(hour_part_elems, 2):\n                day = day[:2]\n                match = re.search(\n                    r'^(\\d{1,2}):(\\d{2})\\s*(a|p)m - (\\d{1,2}):(\\d{2})\\s*(a|p)m?$', hours.lower())\n                (f_hr, f_min, f_ampm, t_hr, t_min, t_ampm) = match.groups()\n\n                f_hr = int(f_hr)\n                if f_ampm == 'p':\n                    f_hr += 12\n                elif f_ampm == 'a' and f_hr == 12:\n                    f_hr = 0\n                t_hr = int(t_hr)\n                if t_ampm == 'p':\n                    t_hr += 12\n                elif t_ampm == 'a' and t_hr == 12:\n                    t_hr = 0\n\n                hours = '{:02d}:{}-{:02d}:{}'.format(\n                    f_hr,\n                    f_min,\n                    t_hr,\n                    t_min,\n                )\n\n                if not this_day_group:\n                    this_day_group = {\n                        'from_day': day,\n                        'to_day': day,\n                        'hours': hours\n                    }\n                elif this_day_group['hours'] != hours:\n                    day_groups.append(this_day_group)\n                    this_day_group = {\n                        'from_day': day,\n                        'to_day': day,\n                        'hours': hours\n                    }\n                elif this_day_group['hours'] == hours:\n                    this_day_group['to_day'] = day\n\n            day_groups.append(this_day_group)\n\n        hour_part_elems = response.xpath(\n            '//span[@style=\"font-size:90%\"]/text()').extract()\n        if hour_part_elems:\n            day_groups.append(\n                {'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})\n\n        opening_hours = \"\"\n        if len(day_groups) == 1 and day_groups[0]['hours'] in ('00:00-23:59', '00:00-00:00'):\n            opening_hours = '24/7'\n        else:\n            for day_group in day_groups:\n                if day_group['from_day'] == day_group['to_day']:\n                    opening_hours += '{from_day} {hours}; '.format(**day_group)\n                elif day_group['from_day'] == 'Su' and day_group['to_day'] == 'Sa':\n                    opening_hours += '{hours}; '.format(**day_group)\n                else:\n                    opening_hours += '{from_day}-{to_day} {hours}; '.format(\n                        **day_group)\n            opening_hours = opening_hours[:-2]\n\n        return opening_hours\n", "path": "locations/spiders/holiday_stationstores.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\nimport scrapy\nimport json\nimport re\n\nfrom locations.items import GeojsonPointItem\n\n\nclass HolidayStationstoreSpider(scrapy.Spider):\n    name = \"holiday_stationstores\"\n    item_attributes = {'brand': 'Holiday Stationstores',\n                       'brand_wikidata': 'Q5880490'}\n    allowed_domains = [\"www.holidaystationstores.com\"]\n    download_delay = 0.2\n\n    def start_requests(self):\n        yield scrapy.Request('https://www.holidaystationstores.com/Locations/GetAllStores',\n                             method='POST',\n                             callback=self.parse_all_stores)\n\n    def parse_all_stores(self, response):\n        all_stores = json.loads(response.text)\n\n        for store_id, store in all_stores.items():\n            # GET requests get blocked by their Incapsula bot protection, but POST works fine\n            yield scrapy.Request(f\"https://www.holidaystationstores.com/Locations/Detail?storeNumber={store_id}\",\n                                 method='POST',\n                                 meta={'store': store})\n\n    def parse(self, response):\n        store = response.meta['store']\n\n        address = response.xpath('//div[@class=\"col-lg-4 col-sm-12\"]/text()')[1].extract().strip()\n        phone = response.xpath('//div[@class=\"HolidayFontColorRed\"]/text()').extract_first().strip()\n        services = '|'.join(response.xpath('//ul[@style=\"list-style-type: none; padding-left: 1.0em; font-size: 12px;\"]/li/text()').extract()).lower()\n        open_24_hours = '24 hours' in response.css(\n            '.body-content .col-lg-4').get().lower()\n\n        properties = {\n            'name': f\"Holiday #{store['Name']}\",\n            'lon': store['Lng'],\n            'lat': store['Lat'],\n            'addr_full': address,\n            'phone': phone,\n            'ref': store['ID'],\n            'opening_hours': '24/7' if open_24_hours else self.opening_hours(response),\n            'extras': {\n                'amenity:fuel': True,\n                'fuel:diesel': 'diesel' in services or None,\n                'atm': 'atm' in services or None,\n                'fuel:e85': 'e85' in services or None,\n                'hgv': 'truck' in services or None,\n                'fuel:propane': 'propane' in services or None,\n                'car_wash': 'car wash' in services or None,\n                'fuel:cng': 'cng' in services or None\n            }\n        }\n\n        yield GeojsonPointItem(**properties)\n\n    def opening_hours(self, response):\n        hour_part_elems = response.xpath('//div[@class=\"row\"][@style=\"font-size: 12px;\"]')\n        day_groups = []\n        this_day_group = None\n\n        if hour_part_elems:\n            for hour_part_elem in hour_part_elems:\n                day = hour_part_elem.xpath('.//div[@class=\"col-3\"]/text()').extract_first()\n                hours = hour_part_elem.xpath('.//div[@class=\"col-9\"]/text()').extract_first()\n\n                if not hours:\n                    continue\n\n                day = day[:2]\n                match = re.search(\n                    r'^(\\d{1,2}):(\\d{2})\\s*(a|p)m - (\\d{1,2}):(\\d{2})\\s*(a|p)m?$', hours.lower())\n                (f_hr, f_min, f_ampm, t_hr, t_min, t_ampm) = match.groups()\n\n                f_hr = int(f_hr)\n                if f_ampm == 'p':\n                    f_hr += 12\n                elif f_ampm == 'a' and f_hr == 12:\n                    f_hr = 0\n                t_hr = int(t_hr)\n                if t_ampm == 'p':\n                    t_hr += 12\n                elif t_ampm == 'a' and t_hr == 12:\n                    t_hr = 0\n\n                hours = '{:02d}:{}-{:02d}:{}'.format(\n                    f_hr,\n                    f_min,\n                    t_hr,\n                    t_min,\n                )\n\n                if not this_day_group:\n                    this_day_group = {\n                        'from_day': day,\n                        'to_day': day,\n                        'hours': hours\n                    }\n                elif this_day_group['hours'] != hours:\n                    day_groups.append(this_day_group)\n                    this_day_group = {\n                        'from_day': day,\n                        'to_day': day,\n                        'hours': hours\n                    }\n                elif this_day_group['hours'] == hours:\n                    this_day_group['to_day'] = day\n\n            if this_day_group:\n                day_groups.append(this_day_group)\n\n        hour_part_elems = response.xpath('//span[@style=\"font-size:90%\"]/text()').extract()\n        if hour_part_elems:\n            day_groups.append({'from_day': 'Mo', 'to_day': 'Su', 'hours': '00:00-23:59'})\n\n        opening_hours = \"\"\n        if len(day_groups) == 1 and day_groups[0]['hours'] in ('00:00-23:59', '00:00-00:00'):\n            opening_hours = '24/7'\n        else:\n            for day_group in day_groups:\n                if day_group['from_day'] == day_group['to_day']:\n                    opening_hours += '{from_day} {hours}; '.format(**day_group)\n                elif day_group['from_day'] == 'Su' and day_group['to_day'] == 'Sa':\n                    opening_hours += '{hours}; '.format(**day_group)\n                else:\n                    opening_hours += '{from_day}-{to_day} {hours}; '.format(\n                        **day_group)\n            opening_hours = opening_hours[:-2]\n\n        return opening_hours\n", "path": "locations/spiders/holiday_stationstores.py"}]}