diff --git a/.gitignore b/.gitignore
index 45c8de4..63f4e6b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/pytz-2012d.tar.gz
+SOURCES/pytz-2016.10.tar.gz
diff --git a/.pytz.metadata b/.pytz.metadata
index d717df1..e1db62b 100644
--- a/.pytz.metadata
+++ b/.pytz.metadata
@@ -1 +1 @@
-69c0ec91cbc0017c50f5199a3ee283421b949cdf SOURCES/pytz-2012d.tar.gz
+8d63f1e9b1ee862841b990a7d8ad1d4508d9f0be SOURCES/pytz-2016.10.tar.gz
diff --git a/SOURCES/fix-tests-for-2017a-tz-abbreviation-changes.patch b/SOURCES/fix-tests-for-2017a-tz-abbreviation-changes.patch
new file mode 100644
index 0000000..3308202
--- /dev/null
+++ b/SOURCES/fix-tests-for-2017a-tz-abbreviation-changes.patch
@@ -0,0 +1,62 @@
+diff --git a/pytz/tests/test_tzinfo.py b/pytz/tests/test_tzinfo.py
+index b00c7ad..8d8ccf6 100644
+--- a/pytz/tests/test_tzinfo.py
++++ b/pytz/tests/test_tzinfo.py
+@@ -501,7 +501,7 @@ class NoumeaHistoryStartTestCase(USEasternDSTStartTestCase):
+         'dst': timedelta(0),
+         }
+     after = {
+-        'tzname': 'NCT',
++        'tzname': '+11',  # pre-2017a, NCT
+         'utcoffset': timedelta(hours=11),
+         'dst': timedelta(0),
+         }
+@@ -512,12 +512,12 @@ class NoumeaDSTEndTestCase(USEasternDSTStartTestCase):
+     tzinfo = pytz.timezone('Pacific/Noumea')
+     transition_time = datetime(1997, 3, 1, 15, 00, 00, tzinfo=UTC)
+     before = {
+-        'tzname': 'NCST',
++        'tzname': '+12',  # pre-2017a, NCST
+         'utcoffset': timedelta(hours=12),
+         'dst': timedelta(hours=1),
+         }
+     after = {
+-        'tzname': 'NCT',
++        'tzname': '+11',  # pre-2017a, NCT
+         'utcoffset': timedelta(hours=11),
+         'dst': timedelta(0),
+         }
+@@ -541,7 +541,7 @@ class TahitiTestCase(USEasternDSTStartTestCase):
+         'dst': timedelta(0),
+         }
+     after = {
+-        'tzname': 'TAHT',
++        'tzname': '-10',  # pre-2017a, TAHT
+         'utcoffset': timedelta(hours=-10),
+         'dst': timedelta(0),
+         }
+@@ -554,12 +554,12 @@ class SamoaInternationalDateLineChange(USEasternDSTStartTestCase):
+     tzinfo = pytz.timezone('Pacific/Apia')
+     transition_time = datetime(2011, 12, 30, 10, 0, 0, tzinfo=UTC)
+     before = {
+-        'tzname': 'SDT',
++        'tzname': '-10',  # pre-2017a, SDT
+         'utcoffset': timedelta(hours=-10),
+         'dst': timedelta(hours=1),
+         }
+     after = {
+-        'tzname': 'WSDT',
++        'tzname': '+14',  # pre-2017a, WSDT
+         'utcoffset': timedelta(hours=14),
+         'dst': timedelta(hours=1),
+         }
+@@ -611,7 +611,8 @@ class LocalTestCase(unittest.TestCase):
+         self.assertEqual(loc_time.strftime('%Z%z'), 'NST+0120')
+ 
+         loc_time = loc_tz.localize(datetime(1940, 5, 10, 0, 0, 0))
+-        self.assertEqual(loc_time.strftime('%Z%z'), 'NET+0020')
++        # pre-2017a, abbreviation was NCT
++        self.assertEqual(loc_time.strftime('%Z%z'), '+0020+0020')
+ 
+         loc_time = loc_tz.localize(datetime(1940, 5, 20, 0, 0, 0))
+         self.assertEqual(loc_time.strftime('%Z%z'), 'CEST+0200')
diff --git a/SOURCES/pytz-2012d_zoneinfo.patch b/SOURCES/pytz-2012d_zoneinfo.patch
deleted file mode 100644
index 930224a..0000000
--- a/SOURCES/pytz-2012d_zoneinfo.patch
+++ /dev/null
@@ -1,1075 +0,0 @@
---- pytz/__init__.py.orig	2012-09-14 08:22:53.072928561 -0500
-+++ pytz/__init__.py	2012-09-14 08:28:48.981920622 -0500
-@@ -80,24 +80,19 @@
-         """
-         return s.encode('US-ASCII')
- 
-+_tzinfo_dir = os.getenv("TZDIR") or "/usr/share/zoneinfo"
-+if _tzinfo_dir.endswith(os.sep):
-+    _tzinfo_dir = _tzinfo_dir[:-1]
- 
- def open_resource(name):
-     """Open a resource from the zoneinfo subdir for reading.
- 
--    Uses the pkg_resources module if available and no standard file
--    found at the calculated location.
-     """
-     name_parts = name.lstrip('/').split('/')
-     for part in name_parts:
-         if part == os.path.pardir or os.path.sep in part:
-             raise ValueError('Bad path segment: %r' % part)
--    filename = os.path.join(os.path.dirname(__file__),
--                            'zoneinfo', *name_parts)
--    if not os.path.exists(filename) and resource_stream is not None:
--        # http://bugs.launchpad.net/bugs/383171 - we avoid using this
--        # unless absolutely necessary to help when a broken version of
--        # pkg_resources is installed.
--        return resource_stream(__name__, 'zoneinfo/' + name)
-+    filename = os.path.join(_tzinfo_dir, *name_parts)
-     return open(filename, 'rb')
- 
- 
-@@ -520,1018 +515,31 @@
- if __name__ == '__main__':
-     _test()
- 
--all_timezones = \
--['Africa/Abidjan',
-- 'Africa/Accra',
-- 'Africa/Addis_Ababa',
-- 'Africa/Algiers',
-- 'Africa/Asmara',
-- 'Africa/Asmera',
-- 'Africa/Bamako',
-- 'Africa/Bangui',
-- 'Africa/Banjul',
-- 'Africa/Bissau',
-- 'Africa/Blantyre',
-- 'Africa/Brazzaville',
-- 'Africa/Bujumbura',
-- 'Africa/Cairo',
-- 'Africa/Casablanca',
-- 'Africa/Ceuta',
-- 'Africa/Conakry',
-- 'Africa/Dakar',
-- 'Africa/Dar_es_Salaam',
-- 'Africa/Djibouti',
-- 'Africa/Douala',
-- 'Africa/El_Aaiun',
-- 'Africa/Freetown',
-- 'Africa/Gaborone',
-- 'Africa/Harare',
-- 'Africa/Johannesburg',
-- 'Africa/Juba',
-- 'Africa/Kampala',
-- 'Africa/Khartoum',
-- 'Africa/Kigali',
-- 'Africa/Kinshasa',
-- 'Africa/Lagos',
-- 'Africa/Libreville',
-- 'Africa/Lome',
-- 'Africa/Luanda',
-- 'Africa/Lubumbashi',
-- 'Africa/Lusaka',
-- 'Africa/Malabo',
-- 'Africa/Maputo',
-- 'Africa/Maseru',
-- 'Africa/Mbabane',
-- 'Africa/Mogadishu',
-- 'Africa/Monrovia',
-- 'Africa/Nairobi',
-- 'Africa/Ndjamena',
-- 'Africa/Niamey',
-- 'Africa/Nouakchott',
-- 'Africa/Ouagadougou',
-- 'Africa/Porto-Novo',
-- 'Africa/Sao_Tome',
-- 'Africa/Timbuktu',
-- 'Africa/Tripoli',
-- 'Africa/Tunis',
-- 'Africa/Windhoek',
-- 'America/Adak',
-- 'America/Anchorage',
-- 'America/Anguilla',
-- 'America/Antigua',
-- 'America/Araguaina',
-- 'America/Argentina/Buenos_Aires',
-- 'America/Argentina/Catamarca',
-- 'America/Argentina/ComodRivadavia',
-- 'America/Argentina/Cordoba',
-- 'America/Argentina/Jujuy',
-- 'America/Argentina/La_Rioja',
-- 'America/Argentina/Mendoza',
-- 'America/Argentina/Rio_Gallegos',
-- 'America/Argentina/Salta',
-- 'America/Argentina/San_Juan',
-- 'America/Argentina/San_Luis',
-- 'America/Argentina/Tucuman',
-- 'America/Argentina/Ushuaia',
-- 'America/Aruba',
-- 'America/Asuncion',
-- 'America/Atikokan',
-- 'America/Atka',
-- 'America/Bahia',
-- 'America/Bahia_Banderas',
-- 'America/Barbados',
-- 'America/Belem',
-- 'America/Belize',
-- 'America/Blanc-Sablon',
-- 'America/Boa_Vista',
-- 'America/Bogota',
-- 'America/Boise',
-- 'America/Buenos_Aires',
-- 'America/Cambridge_Bay',
-- 'America/Campo_Grande',
-- 'America/Cancun',
-- 'America/Caracas',
-- 'America/Catamarca',
-- 'America/Cayenne',
-- 'America/Cayman',
-- 'America/Chicago',
-- 'America/Chihuahua',
-- 'America/Coral_Harbour',
-- 'America/Cordoba',
-- 'America/Costa_Rica',
-- 'America/Creston',
-- 'America/Cuiaba',
-- 'America/Curacao',
-- 'America/Danmarkshavn',
-- 'America/Dawson',
-- 'America/Dawson_Creek',
-- 'America/Denver',
-- 'America/Detroit',
-- 'America/Dominica',
-- 'America/Edmonton',
-- 'America/Eirunepe',
-- 'America/El_Salvador',
-- 'America/Ensenada',
-- 'America/Fort_Wayne',
-- 'America/Fortaleza',
-- 'America/Glace_Bay',
-- 'America/Godthab',
-- 'America/Goose_Bay',
-- 'America/Grand_Turk',
-- 'America/Grenada',
-- 'America/Guadeloupe',
-- 'America/Guatemala',
-- 'America/Guayaquil',
-- 'America/Guyana',
-- 'America/Halifax',
-- 'America/Havana',
-- 'America/Hermosillo',
-- 'America/Indiana/Indianapolis',
-- 'America/Indiana/Knox',
-- 'America/Indiana/Marengo',
-- 'America/Indiana/Petersburg',
-- 'America/Indiana/Tell_City',
-- 'America/Indiana/Vevay',
-- 'America/Indiana/Vincennes',
-- 'America/Indiana/Winamac',
-- 'America/Indianapolis',
-- 'America/Inuvik',
-- 'America/Iqaluit',
-- 'America/Jamaica',
-- 'America/Jujuy',
-- 'America/Juneau',
-- 'America/Kentucky/Louisville',
-- 'America/Kentucky/Monticello',
-- 'America/Knox_IN',
-- 'America/Kralendijk',
-- 'America/La_Paz',
-- 'America/Lima',
-- 'America/Los_Angeles',
-- 'America/Louisville',
-- 'America/Lower_Princes',
-- 'America/Maceio',
-- 'America/Managua',
-- 'America/Manaus',
-- 'America/Marigot',
-- 'America/Martinique',
-- 'America/Matamoros',
-- 'America/Mazatlan',
-- 'America/Mendoza',
-- 'America/Menominee',
-- 'America/Merida',
-- 'America/Metlakatla',
-- 'America/Mexico_City',
-- 'America/Miquelon',
-- 'America/Moncton',
-- 'America/Monterrey',
-- 'America/Montevideo',
-- 'America/Montreal',
-- 'America/Montserrat',
-- 'America/Nassau',
-- 'America/New_York',
-- 'America/Nipigon',
-- 'America/Nome',
-- 'America/Noronha',
-- 'America/North_Dakota/Beulah',
-- 'America/North_Dakota/Center',
-- 'America/North_Dakota/New_Salem',
-- 'America/Ojinaga',
-- 'America/Panama',
-- 'America/Pangnirtung',
-- 'America/Paramaribo',
-- 'America/Phoenix',
-- 'America/Port-au-Prince',
-- 'America/Port_of_Spain',
-- 'America/Porto_Acre',
-- 'America/Porto_Velho',
-- 'America/Puerto_Rico',
-- 'America/Rainy_River',
-- 'America/Rankin_Inlet',
-- 'America/Recife',
-- 'America/Regina',
-- 'America/Resolute',
-- 'America/Rio_Branco',
-- 'America/Rosario',
-- 'America/Santa_Isabel',
-- 'America/Santarem',
-- 'America/Santiago',
-- 'America/Santo_Domingo',
-- 'America/Sao_Paulo',
-- 'America/Scoresbysund',
-- 'America/Shiprock',
-- 'America/Sitka',
-- 'America/St_Barthelemy',
-- 'America/St_Johns',
-- 'America/St_Kitts',
-- 'America/St_Lucia',
-- 'America/St_Thomas',
-- 'America/St_Vincent',
-- 'America/Swift_Current',
-- 'America/Tegucigalpa',
-- 'America/Thule',
-- 'America/Thunder_Bay',
-- 'America/Tijuana',
-- 'America/Toronto',
-- 'America/Tortola',
-- 'America/Vancouver',
-- 'America/Virgin',
-- 'America/Whitehorse',
-- 'America/Winnipeg',
-- 'America/Yakutat',
-- 'America/Yellowknife',
-- 'Antarctica/Casey',
-- 'Antarctica/Davis',
-- 'Antarctica/DumontDUrville',
-- 'Antarctica/Macquarie',
-- 'Antarctica/Mawson',
-- 'Antarctica/McMurdo',
-- 'Antarctica/Palmer',
-- 'Antarctica/Rothera',
-- 'Antarctica/South_Pole',
-- 'Antarctica/Syowa',
-- 'Antarctica/Vostok',
-- 'Arctic/Longyearbyen',
-- 'Asia/Aden',
-- 'Asia/Almaty',
-- 'Asia/Amman',
-- 'Asia/Anadyr',
-- 'Asia/Aqtau',
-- 'Asia/Aqtobe',
-- 'Asia/Ashgabat',
-- 'Asia/Ashkhabad',
-- 'Asia/Baghdad',
-- 'Asia/Bahrain',
-- 'Asia/Baku',
-- 'Asia/Bangkok',
-- 'Asia/Beirut',
-- 'Asia/Bishkek',
-- 'Asia/Brunei',
-- 'Asia/Calcutta',
-- 'Asia/Choibalsan',
-- 'Asia/Chongqing',
-- 'Asia/Chungking',
-- 'Asia/Colombo',
-- 'Asia/Dacca',
-- 'Asia/Damascus',
-- 'Asia/Dhaka',
-- 'Asia/Dili',
-- 'Asia/Dubai',
-- 'Asia/Dushanbe',
-- 'Asia/Gaza',
-- 'Asia/Harbin',
-- 'Asia/Hebron',
-- 'Asia/Ho_Chi_Minh',
-- 'Asia/Hong_Kong',
-- 'Asia/Hovd',
-- 'Asia/Irkutsk',
-- 'Asia/Istanbul',
-- 'Asia/Jakarta',
-- 'Asia/Jayapura',
-- 'Asia/Jerusalem',
-- 'Asia/Kabul',
-- 'Asia/Kamchatka',
-- 'Asia/Karachi',
-- 'Asia/Kashgar',
-- 'Asia/Kathmandu',
-- 'Asia/Katmandu',
-- 'Asia/Kolkata',
-- 'Asia/Krasnoyarsk',
-- 'Asia/Kuala_Lumpur',
-- 'Asia/Kuching',
-- 'Asia/Kuwait',
-- 'Asia/Macao',
-- 'Asia/Macau',
-- 'Asia/Magadan',
-- 'Asia/Makassar',
-- 'Asia/Manila',
-- 'Asia/Muscat',
-- 'Asia/Nicosia',
-- 'Asia/Novokuznetsk',
-- 'Asia/Novosibirsk',
-- 'Asia/Omsk',
-- 'Asia/Oral',
-- 'Asia/Phnom_Penh',
-- 'Asia/Pontianak',
-- 'Asia/Pyongyang',
-- 'Asia/Qatar',
-- 'Asia/Qyzylorda',
-- 'Asia/Rangoon',
-- 'Asia/Riyadh',
-- 'Asia/Saigon',
-- 'Asia/Sakhalin',
-- 'Asia/Samarkand',
-- 'Asia/Seoul',
-- 'Asia/Shanghai',
-- 'Asia/Singapore',
-- 'Asia/Taipei',
-- 'Asia/Tashkent',
-- 'Asia/Tbilisi',
-- 'Asia/Tehran',
-- 'Asia/Tel_Aviv',
-- 'Asia/Thimbu',
-- 'Asia/Thimphu',
-- 'Asia/Tokyo',
-- 'Asia/Ujung_Pandang',
-- 'Asia/Ulaanbaatar',
-- 'Asia/Ulan_Bator',
-- 'Asia/Urumqi',
-- 'Asia/Vientiane',
-- 'Asia/Vladivostok',
-- 'Asia/Yakutsk',
-- 'Asia/Yekaterinburg',
-- 'Asia/Yerevan',
-- 'Atlantic/Azores',
-- 'Atlantic/Bermuda',
-- 'Atlantic/Canary',
-- 'Atlantic/Cape_Verde',
-- 'Atlantic/Faeroe',
-- 'Atlantic/Faroe',
-- 'Atlantic/Jan_Mayen',
-- 'Atlantic/Madeira',
-- 'Atlantic/Reykjavik',
-- 'Atlantic/South_Georgia',
-- 'Atlantic/St_Helena',
-- 'Atlantic/Stanley',
-- 'Australia/ACT',
-- 'Australia/Adelaide',
-- 'Australia/Brisbane',
-- 'Australia/Broken_Hill',
-- 'Australia/Canberra',
-- 'Australia/Currie',
-- 'Australia/Darwin',
-- 'Australia/Eucla',
-- 'Australia/Hobart',
-- 'Australia/LHI',
-- 'Australia/Lindeman',
-- 'Australia/Lord_Howe',
-- 'Australia/Melbourne',
-- 'Australia/NSW',
-- 'Australia/North',
-- 'Australia/Perth',
-- 'Australia/Queensland',
-- 'Australia/South',
-- 'Australia/Sydney',
-- 'Australia/Tasmania',
-- 'Australia/Victoria',
-- 'Australia/West',
-- 'Australia/Yancowinna',
-- 'Brazil/Acre',
-- 'Brazil/DeNoronha',
-- 'Brazil/East',
-- 'Brazil/West',
-- 'CET',
-- 'CST6CDT',
-- 'Canada/Atlantic',
-- 'Canada/Central',
-- 'Canada/East-Saskatchewan',
-- 'Canada/Eastern',
-- 'Canada/Mountain',
-- 'Canada/Newfoundland',
-- 'Canada/Pacific',
-- 'Canada/Saskatchewan',
-- 'Canada/Yukon',
-- 'Chile/Continental',
-- 'Chile/EasterIsland',
-- 'Cuba',
-- 'EET',
-- 'EST',
-- 'EST5EDT',
-- 'Egypt',
-- 'Eire',
-- 'Etc/GMT',
-- 'Etc/GMT+0',
-- 'Etc/GMT+1',
-- 'Etc/GMT+10',
-- 'Etc/GMT+11',
-- 'Etc/GMT+12',
-- 'Etc/GMT+2',
-- 'Etc/GMT+3',
-- 'Etc/GMT+4',
-- 'Etc/GMT+5',
-- 'Etc/GMT+6',
-- 'Etc/GMT+7',
-- 'Etc/GMT+8',
-- 'Etc/GMT+9',
-- 'Etc/GMT-0',
-- 'Etc/GMT-1',
-- 'Etc/GMT-10',
-- 'Etc/GMT-11',
-- 'Etc/GMT-12',
-- 'Etc/GMT-13',
-- 'Etc/GMT-14',
-- 'Etc/GMT-2',
-- 'Etc/GMT-3',
-- 'Etc/GMT-4',
-- 'Etc/GMT-5',
-- 'Etc/GMT-6',
-- 'Etc/GMT-7',
-- 'Etc/GMT-8',
-- 'Etc/GMT-9',
-- 'Etc/GMT0',
-- 'Etc/Greenwich',
-- 'Etc/UCT',
-- 'Etc/UTC',
-- 'Etc/Universal',
-- 'Etc/Zulu',
-- 'Europe/Amsterdam',
-- 'Europe/Andorra',
-- 'Europe/Athens',
-- 'Europe/Belfast',
-- 'Europe/Belgrade',
-- 'Europe/Berlin',
-- 'Europe/Bratislava',
-- 'Europe/Brussels',
-- 'Europe/Bucharest',
-- 'Europe/Budapest',
-- 'Europe/Chisinau',
-- 'Europe/Copenhagen',
-- 'Europe/Dublin',
-- 'Europe/Gibraltar',
-- 'Europe/Guernsey',
-- 'Europe/Helsinki',
-- 'Europe/Isle_of_Man',
-- 'Europe/Istanbul',
-- 'Europe/Jersey',
-- 'Europe/Kaliningrad',
-- 'Europe/Kiev',
-- 'Europe/Lisbon',
-- 'Europe/Ljubljana',
-- 'Europe/London',
-- 'Europe/Luxembourg',
-- 'Europe/Madrid',
-- 'Europe/Malta',
-- 'Europe/Mariehamn',
-- 'Europe/Minsk',
-- 'Europe/Monaco',
-- 'Europe/Moscow',
-- 'Europe/Nicosia',
-- 'Europe/Oslo',
-- 'Europe/Paris',
-- 'Europe/Podgorica',
-- 'Europe/Prague',
-- 'Europe/Riga',
-- 'Europe/Rome',
-- 'Europe/Samara',
-- 'Europe/San_Marino',
-- 'Europe/Sarajevo',
-- 'Europe/Simferopol',
-- 'Europe/Skopje',
-- 'Europe/Sofia',
-- 'Europe/Stockholm',
-- 'Europe/Tallinn',
-- 'Europe/Tirane',
-- 'Europe/Tiraspol',
-- 'Europe/Uzhgorod',
-- 'Europe/Vaduz',
-- 'Europe/Vatican',
-- 'Europe/Vienna',
-- 'Europe/Vilnius',
-- 'Europe/Volgograd',
-- 'Europe/Warsaw',
-- 'Europe/Zagreb',
-- 'Europe/Zaporozhye',
-- 'Europe/Zurich',
-- 'GB',
-- 'GB-Eire',
-- 'GMT',
-- 'GMT+0',
-- 'GMT-0',
-- 'GMT0',
-- 'Greenwich',
-- 'HST',
-- 'Hongkong',
-- 'Iceland',
-- 'Indian/Antananarivo',
-- 'Indian/Chagos',
-- 'Indian/Christmas',
-- 'Indian/Cocos',
-- 'Indian/Comoro',
-- 'Indian/Kerguelen',
-- 'Indian/Mahe',
-- 'Indian/Maldives',
-- 'Indian/Mauritius',
-- 'Indian/Mayotte',
-- 'Indian/Reunion',
-- 'Iran',
-- 'Israel',
-- 'Jamaica',
-- 'Japan',
-- 'Kwajalein',
-- 'Libya',
-- 'MET',
-- 'MST',
-- 'MST7MDT',
-- 'Mexico/BajaNorte',
-- 'Mexico/BajaSur',
-- 'Mexico/General',
-- 'NZ',
-- 'NZ-CHAT',
-- 'Navajo',
-- 'PRC',
-- 'PST8PDT',
-- 'Pacific/Apia',
-- 'Pacific/Auckland',
-- 'Pacific/Chatham',
-- 'Pacific/Chuuk',
-- 'Pacific/Easter',
-- 'Pacific/Efate',
-- 'Pacific/Enderbury',
-- 'Pacific/Fakaofo',
-- 'Pacific/Fiji',
-- 'Pacific/Funafuti',
-- 'Pacific/Galapagos',
-- 'Pacific/Gambier',
-- 'Pacific/Guadalcanal',
-- 'Pacific/Guam',
-- 'Pacific/Honolulu',
-- 'Pacific/Johnston',
-- 'Pacific/Kiritimati',
-- 'Pacific/Kosrae',
-- 'Pacific/Kwajalein',
-- 'Pacific/Majuro',
-- 'Pacific/Marquesas',
-- 'Pacific/Midway',
-- 'Pacific/Nauru',
-- 'Pacific/Niue',
-- 'Pacific/Norfolk',
-- 'Pacific/Noumea',
-- 'Pacific/Pago_Pago',
-- 'Pacific/Palau',
-- 'Pacific/Pitcairn',
-- 'Pacific/Pohnpei',
-- 'Pacific/Ponape',
-- 'Pacific/Port_Moresby',
-- 'Pacific/Rarotonga',
-- 'Pacific/Saipan',
-- 'Pacific/Samoa',
-- 'Pacific/Tahiti',
-- 'Pacific/Tarawa',
-- 'Pacific/Tongatapu',
-- 'Pacific/Truk',
-- 'Pacific/Wake',
-- 'Pacific/Wallis',
-- 'Pacific/Yap',
-- 'Poland',
-- 'Portugal',
-- 'ROC',
-- 'ROK',
-- 'Singapore',
-- 'Turkey',
-- 'UCT',
-- 'US/Alaska',
-- 'US/Aleutian',
-- 'US/Arizona',
-- 'US/Central',
-- 'US/East-Indiana',
-- 'US/Eastern',
-- 'US/Hawaii',
-- 'US/Indiana-Starke',
-- 'US/Michigan',
-- 'US/Mountain',
-- 'US/Pacific',
-- 'US/Pacific-New',
-- 'US/Samoa',
-- 'UTC',
-- 'Universal',
-- 'W-SU',
-- 'WET',
-- 'Zulu']
--all_timezones = [
--        tz for tz in all_timezones if resource_exists(tz)]
-+all_timezones = []
-+for root, dirs, files in os.walk(_tzinfo_dir):
-+    for exclude in "posix", "right":
-+        if exclude in dirs:
-+            del dirs[dirs.index(exclude)]
-+
-+    all_timezones.extend(os.path.join(root, file)[len(_tzinfo_dir)+1:]
-+                         for file in files
-+                         if file != "README" and file != "Theory"
-+                         and "." not in file)
-+all_timezones.sort()
-         
- all_timezones_set = set(all_timezones)
--common_timezones = \
--['Africa/Abidjan',
-- 'Africa/Accra',
-- 'Africa/Addis_Ababa',
-- 'Africa/Algiers',
-- 'Africa/Asmara',
-- 'Africa/Bamako',
-- 'Africa/Bangui',
-- 'Africa/Banjul',
-- 'Africa/Bissau',
-- 'Africa/Blantyre',
-- 'Africa/Brazzaville',
-- 'Africa/Bujumbura',
-- 'Africa/Cairo',
-- 'Africa/Casablanca',
-- 'Africa/Ceuta',
-- 'Africa/Conakry',
-- 'Africa/Dakar',
-- 'Africa/Dar_es_Salaam',
-- 'Africa/Djibouti',
-- 'Africa/Douala',
-- 'Africa/El_Aaiun',
-- 'Africa/Freetown',
-- 'Africa/Gaborone',
-- 'Africa/Harare',
-- 'Africa/Johannesburg',
-- 'Africa/Juba',
-- 'Africa/Kampala',
-- 'Africa/Khartoum',
-- 'Africa/Kigali',
-- 'Africa/Kinshasa',
-- 'Africa/Lagos',
-- 'Africa/Libreville',
-- 'Africa/Lome',
-- 'Africa/Luanda',
-- 'Africa/Lubumbashi',
-- 'Africa/Lusaka',
-- 'Africa/Malabo',
-- 'Africa/Maputo',
-- 'Africa/Maseru',
-- 'Africa/Mbabane',
-- 'Africa/Mogadishu',
-- 'Africa/Monrovia',
-- 'Africa/Nairobi',
-- 'Africa/Ndjamena',
-- 'Africa/Niamey',
-- 'Africa/Nouakchott',
-- 'Africa/Ouagadougou',
-- 'Africa/Porto-Novo',
-- 'Africa/Sao_Tome',
-- 'Africa/Tripoli',
-- 'Africa/Tunis',
-- 'Africa/Windhoek',
-- 'America/Adak',
-- 'America/Anchorage',
-- 'America/Anguilla',
-- 'America/Antigua',
-- 'America/Araguaina',
-- 'America/Argentina/Buenos_Aires',
-- 'America/Argentina/Catamarca',
-- 'America/Argentina/Cordoba',
-- 'America/Argentina/Jujuy',
-- 'America/Argentina/La_Rioja',
-- 'America/Argentina/Mendoza',
-- 'America/Argentina/Rio_Gallegos',
-- 'America/Argentina/Salta',
-- 'America/Argentina/San_Juan',
-- 'America/Argentina/San_Luis',
-- 'America/Argentina/Tucuman',
-- 'America/Argentina/Ushuaia',
-- 'America/Aruba',
-- 'America/Asuncion',
-- 'America/Atikokan',
-- 'America/Bahia',
-- 'America/Bahia_Banderas',
-- 'America/Barbados',
-- 'America/Belem',
-- 'America/Belize',
-- 'America/Blanc-Sablon',
-- 'America/Boa_Vista',
-- 'America/Bogota',
-- 'America/Boise',
-- 'America/Cambridge_Bay',
-- 'America/Campo_Grande',
-- 'America/Cancun',
-- 'America/Caracas',
-- 'America/Cayenne',
-- 'America/Cayman',
-- 'America/Chicago',
-- 'America/Chihuahua',
-- 'America/Costa_Rica',
-- 'America/Creston',
-- 'America/Cuiaba',
-- 'America/Curacao',
-- 'America/Danmarkshavn',
-- 'America/Dawson',
-- 'America/Dawson_Creek',
-- 'America/Denver',
-- 'America/Detroit',
-- 'America/Dominica',
-- 'America/Edmonton',
-- 'America/Eirunepe',
-- 'America/El_Salvador',
-- 'America/Fortaleza',
-- 'America/Glace_Bay',
-- 'America/Godthab',
-- 'America/Goose_Bay',
-- 'America/Grand_Turk',
-- 'America/Grenada',
-- 'America/Guadeloupe',
-- 'America/Guatemala',
-- 'America/Guayaquil',
-- 'America/Guyana',
-- 'America/Halifax',
-- 'America/Havana',
-- 'America/Hermosillo',
-- 'America/Indiana/Indianapolis',
-- 'America/Indiana/Knox',
-- 'America/Indiana/Marengo',
-- 'America/Indiana/Petersburg',
-- 'America/Indiana/Tell_City',
-- 'America/Indiana/Vevay',
-- 'America/Indiana/Vincennes',
-- 'America/Indiana/Winamac',
-- 'America/Inuvik',
-- 'America/Iqaluit',
-- 'America/Jamaica',
-- 'America/Juneau',
-- 'America/Kentucky/Louisville',
-- 'America/Kentucky/Monticello',
-- 'America/Kralendijk',
-- 'America/La_Paz',
-- 'America/Lima',
-- 'America/Los_Angeles',
-- 'America/Lower_Princes',
-- 'America/Maceio',
-- 'America/Managua',
-- 'America/Manaus',
-- 'America/Marigot',
-- 'America/Martinique',
-- 'America/Matamoros',
-- 'America/Mazatlan',
-- 'America/Menominee',
-- 'America/Merida',
-- 'America/Metlakatla',
-- 'America/Mexico_City',
-- 'America/Miquelon',
-- 'America/Moncton',
-- 'America/Monterrey',
-- 'America/Montevideo',
-- 'America/Montreal',
-- 'America/Montserrat',
-- 'America/Nassau',
-- 'America/New_York',
-- 'America/Nipigon',
-- 'America/Nome',
-- 'America/Noronha',
-- 'America/North_Dakota/Beulah',
-- 'America/North_Dakota/Center',
-- 'America/North_Dakota/New_Salem',
-- 'America/Ojinaga',
-- 'America/Panama',
-- 'America/Pangnirtung',
-- 'America/Paramaribo',
-- 'America/Phoenix',
-- 'America/Port-au-Prince',
-- 'America/Port_of_Spain',
-- 'America/Porto_Velho',
-- 'America/Puerto_Rico',
-- 'America/Rainy_River',
-- 'America/Rankin_Inlet',
-- 'America/Recife',
-- 'America/Regina',
-- 'America/Resolute',
-- 'America/Rio_Branco',
-- 'America/Santa_Isabel',
-- 'America/Santarem',
-- 'America/Santiago',
-- 'America/Santo_Domingo',
-- 'America/Sao_Paulo',
-- 'America/Scoresbysund',
-- 'America/Shiprock',
-- 'America/Sitka',
-- 'America/St_Barthelemy',
-- 'America/St_Johns',
-- 'America/St_Kitts',
-- 'America/St_Lucia',
-- 'America/St_Thomas',
-- 'America/St_Vincent',
-- 'America/Swift_Current',
-- 'America/Tegucigalpa',
-- 'America/Thule',
-- 'America/Thunder_Bay',
-- 'America/Tijuana',
-- 'America/Toronto',
-- 'America/Tortola',
-- 'America/Vancouver',
-- 'America/Whitehorse',
-- 'America/Winnipeg',
-- 'America/Yakutat',
-- 'America/Yellowknife',
-- 'Antarctica/Casey',
-- 'Antarctica/Davis',
-- 'Antarctica/DumontDUrville',
-- 'Antarctica/Macquarie',
-- 'Antarctica/Mawson',
-- 'Antarctica/McMurdo',
-- 'Antarctica/Palmer',
-- 'Antarctica/Rothera',
-- 'Antarctica/South_Pole',
-- 'Antarctica/Syowa',
-- 'Antarctica/Vostok',
-- 'Arctic/Longyearbyen',
-- 'Asia/Aden',
-- 'Asia/Almaty',
-- 'Asia/Amman',
-- 'Asia/Anadyr',
-- 'Asia/Aqtau',
-- 'Asia/Aqtobe',
-- 'Asia/Ashgabat',
-- 'Asia/Baghdad',
-- 'Asia/Bahrain',
-- 'Asia/Baku',
-- 'Asia/Bangkok',
-- 'Asia/Beirut',
-- 'Asia/Bishkek',
-- 'Asia/Brunei',
-- 'Asia/Choibalsan',
-- 'Asia/Chongqing',
-- 'Asia/Colombo',
-- 'Asia/Damascus',
-- 'Asia/Dhaka',
-- 'Asia/Dili',
-- 'Asia/Dubai',
-- 'Asia/Dushanbe',
-- 'Asia/Gaza',
-- 'Asia/Harbin',
-- 'Asia/Hebron',
-- 'Asia/Ho_Chi_Minh',
-- 'Asia/Hong_Kong',
-- 'Asia/Hovd',
-- 'Asia/Irkutsk',
-- 'Asia/Jakarta',
-- 'Asia/Jayapura',
-- 'Asia/Jerusalem',
-- 'Asia/Kabul',
-- 'Asia/Kamchatka',
-- 'Asia/Karachi',
-- 'Asia/Kashgar',
-- 'Asia/Kathmandu',
-- 'Asia/Kolkata',
-- 'Asia/Krasnoyarsk',
-- 'Asia/Kuala_Lumpur',
-- 'Asia/Kuching',
-- 'Asia/Kuwait',
-- 'Asia/Macau',
-- 'Asia/Magadan',
-- 'Asia/Makassar',
-- 'Asia/Manila',
-- 'Asia/Muscat',
-- 'Asia/Nicosia',
-- 'Asia/Novokuznetsk',
-- 'Asia/Novosibirsk',
-- 'Asia/Omsk',
-- 'Asia/Oral',
-- 'Asia/Phnom_Penh',
-- 'Asia/Pontianak',
-- 'Asia/Pyongyang',
-- 'Asia/Qatar',
-- 'Asia/Qyzylorda',
-- 'Asia/Rangoon',
-- 'Asia/Riyadh',
-- 'Asia/Sakhalin',
-- 'Asia/Samarkand',
-- 'Asia/Seoul',
-- 'Asia/Shanghai',
-- 'Asia/Singapore',
-- 'Asia/Taipei',
-- 'Asia/Tashkent',
-- 'Asia/Tbilisi',
-- 'Asia/Tehran',
-- 'Asia/Thimphu',
-- 'Asia/Tokyo',
-- 'Asia/Ulaanbaatar',
-- 'Asia/Urumqi',
-- 'Asia/Vientiane',
-- 'Asia/Vladivostok',
-- 'Asia/Yakutsk',
-- 'Asia/Yekaterinburg',
-- 'Asia/Yerevan',
-- 'Atlantic/Azores',
-- 'Atlantic/Bermuda',
-- 'Atlantic/Canary',
-- 'Atlantic/Cape_Verde',
-- 'Atlantic/Faroe',
-- 'Atlantic/Madeira',
-- 'Atlantic/Reykjavik',
-- 'Atlantic/South_Georgia',
-- 'Atlantic/St_Helena',
-- 'Atlantic/Stanley',
-- 'Australia/Adelaide',
-- 'Australia/Brisbane',
-- 'Australia/Broken_Hill',
-- 'Australia/Currie',
-- 'Australia/Darwin',
-- 'Australia/Eucla',
-- 'Australia/Hobart',
-- 'Australia/Lindeman',
-- 'Australia/Lord_Howe',
-- 'Australia/Melbourne',
-- 'Australia/Perth',
-- 'Australia/Sydney',
-- 'Canada/Atlantic',
-- 'Canada/Central',
-- 'Canada/Eastern',
-- 'Canada/Mountain',
-- 'Canada/Newfoundland',
-- 'Canada/Pacific',
-- 'Europe/Amsterdam',
-- 'Europe/Andorra',
-- 'Europe/Athens',
-- 'Europe/Belgrade',
-- 'Europe/Berlin',
-- 'Europe/Bratislava',
-- 'Europe/Brussels',
-- 'Europe/Bucharest',
-- 'Europe/Budapest',
-- 'Europe/Chisinau',
-- 'Europe/Copenhagen',
-- 'Europe/Dublin',
-- 'Europe/Gibraltar',
-- 'Europe/Guernsey',
-- 'Europe/Helsinki',
-- 'Europe/Isle_of_Man',
-- 'Europe/Istanbul',
-- 'Europe/Jersey',
-- 'Europe/Kaliningrad',
-- 'Europe/Kiev',
-- 'Europe/Lisbon',
-- 'Europe/Ljubljana',
-- 'Europe/London',
-- 'Europe/Luxembourg',
-- 'Europe/Madrid',
-- 'Europe/Malta',
-- 'Europe/Mariehamn',
-- 'Europe/Minsk',
-- 'Europe/Monaco',
-- 'Europe/Moscow',
-- 'Europe/Oslo',
-- 'Europe/Paris',
-- 'Europe/Podgorica',
-- 'Europe/Prague',
-- 'Europe/Riga',
-- 'Europe/Rome',
-- 'Europe/Samara',
-- 'Europe/San_Marino',
-- 'Europe/Sarajevo',
-- 'Europe/Simferopol',
-- 'Europe/Skopje',
-- 'Europe/Sofia',
-- 'Europe/Stockholm',
-- 'Europe/Tallinn',
-- 'Europe/Tirane',
-- 'Europe/Uzhgorod',
-- 'Europe/Vaduz',
-- 'Europe/Vatican',
-- 'Europe/Vienna',
-- 'Europe/Vilnius',
-- 'Europe/Volgograd',
-- 'Europe/Warsaw',
-- 'Europe/Zagreb',
-- 'Europe/Zaporozhye',
-- 'Europe/Zurich',
-- 'GMT',
-- 'Indian/Antananarivo',
-- 'Indian/Chagos',
-- 'Indian/Christmas',
-- 'Indian/Cocos',
-- 'Indian/Comoro',
-- 'Indian/Kerguelen',
-- 'Indian/Mahe',
-- 'Indian/Maldives',
-- 'Indian/Mauritius',
-- 'Indian/Mayotte',
-- 'Indian/Reunion',
-- 'Pacific/Apia',
-- 'Pacific/Auckland',
-- 'Pacific/Chatham',
-- 'Pacific/Chuuk',
-- 'Pacific/Easter',
-- 'Pacific/Efate',
-- 'Pacific/Enderbury',
-- 'Pacific/Fakaofo',
-- 'Pacific/Fiji',
-- 'Pacific/Funafuti',
-- 'Pacific/Galapagos',
-- 'Pacific/Gambier',
-- 'Pacific/Guadalcanal',
-- 'Pacific/Guam',
-- 'Pacific/Honolulu',
-- 'Pacific/Johnston',
-- 'Pacific/Kiritimati',
-- 'Pacific/Kosrae',
-- 'Pacific/Kwajalein',
-- 'Pacific/Majuro',
-- 'Pacific/Marquesas',
-- 'Pacific/Midway',
-- 'Pacific/Nauru',
-- 'Pacific/Niue',
-- 'Pacific/Norfolk',
-- 'Pacific/Noumea',
-- 'Pacific/Pago_Pago',
-- 'Pacific/Palau',
-- 'Pacific/Pitcairn',
-- 'Pacific/Pohnpei',
-- 'Pacific/Port_Moresby',
-- 'Pacific/Rarotonga',
-- 'Pacific/Saipan',
-- 'Pacific/Tahiti',
-- 'Pacific/Tarawa',
-- 'Pacific/Tongatapu',
-- 'Pacific/Wake',
-- 'Pacific/Wallis',
-- 'US/Alaska',
-- 'US/Arizona',
-- 'US/Central',
-- 'US/Eastern',
-- 'US/Hawaii',
-- 'US/Mountain',
-- 'US/Pacific',
-- 'UTC']
--common_timezones = [
--        tz for tz in common_timezones if tz in all_timezones]
--        
-+
-+common_timezones = [l.split()[2]
-+                    for l in open(os.path.join(_tzinfo_dir, "zone.tab"))
-+                    if l != "" and l[0] != "#"]\
-+  + ['GMT',
-+     'US/Alaska',
-+     'US/Arizona',
-+     'US/Central',
-+     'US/Eastern',
-+     'US/Hawaii',
-+     'US/Mountain',
-+     'US/Pacific',
-+     'UTC']
-+common_timezones.sort()        
- common_timezones_set = set(common_timezones)
diff --git a/SOURCES/pytz-2016.10_zoneinfo.patch b/SOURCES/pytz-2016.10_zoneinfo.patch
new file mode 100644
index 0000000..4fcfd76
--- /dev/null
+++ b/SOURCES/pytz-2016.10_zoneinfo.patch
@@ -0,0 +1,1105 @@
+diff -up pytz-2016.10/pytz/__init__.py.zoneinfo pytz-2016.10/pytz/__init__.py
+--- pytz-2016.10/pytz/__init__.py.zoneinfo	2016-12-06 02:55:39.000000000 -0700
++++ pytz-2016.10/pytz/__init__.py	2016-12-06 09:58:49.983107114 -0700
+@@ -70,6 +70,10 @@ else: # Python 2.x
+         """
+         return s.encode('ASCII')
+ 
++_tzinfo_dir = os.getenv("TZDIR") or "/usr/share/zoneinfo"
++if _tzinfo_dir.endswith(os.sep):
++    _tzinfo_dir = _tzinfo_dir[:-1]
++
+ 
+ def open_resource(name):
+     """Open a resource from the zoneinfo subdir for reading.
+@@ -81,19 +85,8 @@ def open_resource(name):
+     for part in name_parts:
+         if part == os.path.pardir or os.path.sep in part:
+             raise ValueError('Bad path segment: %r' % part)
+-    filename = os.path.join(os.path.dirname(__file__),
+-                            'zoneinfo', *name_parts)
+-    if not os.path.exists(filename):
+-        # http://bugs.launchpad.net/bugs/383171 - we avoid using this
+-        # unless absolutely necessary to help when a broken version of
+-        # pkg_resources is installed.
+-        try:
+-            from pkg_resources import resource_stream
+-        except ImportError:
+-            resource_stream = None
+ 
+-        if resource_stream is not None:
+-            return resource_stream(__name__, 'zoneinfo/' + name)
++    filename = os.path.join(_tzinfo_dir, *name_parts)
+     return open(filename, 'rb')
+ 
+ 
+@@ -490,1044 +483,34 @@ def _test():
+ if __name__ == '__main__':
+     _test()
+ 
+-all_timezones = \
+-['Africa/Abidjan',
+- 'Africa/Accra',
+- 'Africa/Addis_Ababa',
+- 'Africa/Algiers',
+- 'Africa/Asmara',
+- 'Africa/Asmera',
+- 'Africa/Bamako',
+- 'Africa/Bangui',
+- 'Africa/Banjul',
+- 'Africa/Bissau',
+- 'Africa/Blantyre',
+- 'Africa/Brazzaville',
+- 'Africa/Bujumbura',
+- 'Africa/Cairo',
+- 'Africa/Casablanca',
+- 'Africa/Ceuta',
+- 'Africa/Conakry',
+- 'Africa/Dakar',
+- 'Africa/Dar_es_Salaam',
+- 'Africa/Djibouti',
+- 'Africa/Douala',
+- 'Africa/El_Aaiun',
+- 'Africa/Freetown',
+- 'Africa/Gaborone',
+- 'Africa/Harare',
+- 'Africa/Johannesburg',
+- 'Africa/Juba',
+- 'Africa/Kampala',
+- 'Africa/Khartoum',
+- 'Africa/Kigali',
+- 'Africa/Kinshasa',
+- 'Africa/Lagos',
+- 'Africa/Libreville',
+- 'Africa/Lome',
+- 'Africa/Luanda',
+- 'Africa/Lubumbashi',
+- 'Africa/Lusaka',
+- 'Africa/Malabo',
+- 'Africa/Maputo',
+- 'Africa/Maseru',
+- 'Africa/Mbabane',
+- 'Africa/Mogadishu',
+- 'Africa/Monrovia',
+- 'Africa/Nairobi',
+- 'Africa/Ndjamena',
+- 'Africa/Niamey',
+- 'Africa/Nouakchott',
+- 'Africa/Ouagadougou',
+- 'Africa/Porto-Novo',
+- 'Africa/Sao_Tome',
+- 'Africa/Timbuktu',
+- 'Africa/Tripoli',
+- 'Africa/Tunis',
+- 'Africa/Windhoek',
+- 'America/Adak',
+- 'America/Anchorage',
+- 'America/Anguilla',
+- 'America/Antigua',
+- 'America/Araguaina',
+- 'America/Argentina/Buenos_Aires',
+- 'America/Argentina/Catamarca',
+- 'America/Argentina/ComodRivadavia',
+- 'America/Argentina/Cordoba',
+- 'America/Argentina/Jujuy',
+- 'America/Argentina/La_Rioja',
+- 'America/Argentina/Mendoza',
+- 'America/Argentina/Rio_Gallegos',
+- 'America/Argentina/Salta',
+- 'America/Argentina/San_Juan',
+- 'America/Argentina/San_Luis',
+- 'America/Argentina/Tucuman',
+- 'America/Argentina/Ushuaia',
+- 'America/Aruba',
+- 'America/Asuncion',
+- 'America/Atikokan',
+- 'America/Atka',
+- 'America/Bahia',
+- 'America/Bahia_Banderas',
+- 'America/Barbados',
+- 'America/Belem',
+- 'America/Belize',
+- 'America/Blanc-Sablon',
+- 'America/Boa_Vista',
+- 'America/Bogota',
+- 'America/Boise',
+- 'America/Buenos_Aires',
+- 'America/Cambridge_Bay',
+- 'America/Campo_Grande',
+- 'America/Cancun',
+- 'America/Caracas',
+- 'America/Catamarca',
+- 'America/Cayenne',
+- 'America/Cayman',
+- 'America/Chicago',
+- 'America/Chihuahua',
+- 'America/Coral_Harbour',
+- 'America/Cordoba',
+- 'America/Costa_Rica',
+- 'America/Creston',
+- 'America/Cuiaba',
+- 'America/Curacao',
+- 'America/Danmarkshavn',
+- 'America/Dawson',
+- 'America/Dawson_Creek',
+- 'America/Denver',
+- 'America/Detroit',
+- 'America/Dominica',
+- 'America/Edmonton',
+- 'America/Eirunepe',
+- 'America/El_Salvador',
+- 'America/Ensenada',
+- 'America/Fort_Nelson',
+- 'America/Fort_Wayne',
+- 'America/Fortaleza',
+- 'America/Glace_Bay',
+- 'America/Godthab',
+- 'America/Goose_Bay',
+- 'America/Grand_Turk',
+- 'America/Grenada',
+- 'America/Guadeloupe',
+- 'America/Guatemala',
+- 'America/Guayaquil',
+- 'America/Guyana',
+- 'America/Halifax',
+- 'America/Havana',
+- 'America/Hermosillo',
+- 'America/Indiana/Indianapolis',
+- 'America/Indiana/Knox',
+- 'America/Indiana/Marengo',
+- 'America/Indiana/Petersburg',
+- 'America/Indiana/Tell_City',
+- 'America/Indiana/Vevay',
+- 'America/Indiana/Vincennes',
+- 'America/Indiana/Winamac',
+- 'America/Indianapolis',
+- 'America/Inuvik',
+- 'America/Iqaluit',
+- 'America/Jamaica',
+- 'America/Jujuy',
+- 'America/Juneau',
+- 'America/Kentucky/Louisville',
+- 'America/Kentucky/Monticello',
+- 'America/Knox_IN',
+- 'America/Kralendijk',
+- 'America/La_Paz',
+- 'America/Lima',
+- 'America/Los_Angeles',
+- 'America/Louisville',
+- 'America/Lower_Princes',
+- 'America/Maceio',
+- 'America/Managua',
+- 'America/Manaus',
+- 'America/Marigot',
+- 'America/Martinique',
+- 'America/Matamoros',
+- 'America/Mazatlan',
+- 'America/Mendoza',
+- 'America/Menominee',
+- 'America/Merida',
+- 'America/Metlakatla',
+- 'America/Mexico_City',
+- 'America/Miquelon',
+- 'America/Moncton',
+- 'America/Monterrey',
+- 'America/Montevideo',
+- 'America/Montreal',
+- 'America/Montserrat',
+- 'America/Nassau',
+- 'America/New_York',
+- 'America/Nipigon',
+- 'America/Nome',
+- 'America/Noronha',
+- 'America/North_Dakota/Beulah',
+- 'America/North_Dakota/Center',
+- 'America/North_Dakota/New_Salem',
+- 'America/Ojinaga',
+- 'America/Panama',
+- 'America/Pangnirtung',
+- 'America/Paramaribo',
+- 'America/Phoenix',
+- 'America/Port-au-Prince',
+- 'America/Port_of_Spain',
+- 'America/Porto_Acre',
+- 'America/Porto_Velho',
+- 'America/Puerto_Rico',
+- 'America/Rainy_River',
+- 'America/Rankin_Inlet',
+- 'America/Recife',
+- 'America/Regina',
+- 'America/Resolute',
+- 'America/Rio_Branco',
+- 'America/Rosario',
+- 'America/Santa_Isabel',
+- 'America/Santarem',
+- 'America/Santiago',
+- 'America/Santo_Domingo',
+- 'America/Sao_Paulo',
+- 'America/Scoresbysund',
+- 'America/Shiprock',
+- 'America/Sitka',
+- 'America/St_Barthelemy',
+- 'America/St_Johns',
+- 'America/St_Kitts',
+- 'America/St_Lucia',
+- 'America/St_Thomas',
+- 'America/St_Vincent',
+- 'America/Swift_Current',
+- 'America/Tegucigalpa',
+- 'America/Thule',
+- 'America/Thunder_Bay',
+- 'America/Tijuana',
+- 'America/Toronto',
+- 'America/Tortola',
+- 'America/Vancouver',
+- 'America/Virgin',
+- 'America/Whitehorse',
+- 'America/Winnipeg',
+- 'America/Yakutat',
+- 'America/Yellowknife',
+- 'Antarctica/Casey',
+- 'Antarctica/Davis',
+- 'Antarctica/DumontDUrville',
+- 'Antarctica/Macquarie',
+- 'Antarctica/Mawson',
+- 'Antarctica/McMurdo',
+- 'Antarctica/Palmer',
+- 'Antarctica/Rothera',
+- 'Antarctica/South_Pole',
+- 'Antarctica/Syowa',
+- 'Antarctica/Troll',
+- 'Antarctica/Vostok',
+- 'Arctic/Longyearbyen',
+- 'Asia/Aden',
+- 'Asia/Almaty',
+- 'Asia/Amman',
+- 'Asia/Anadyr',
+- 'Asia/Aqtau',
+- 'Asia/Aqtobe',
+- 'Asia/Ashgabat',
+- 'Asia/Ashkhabad',
+- 'Asia/Atyrau',
+- 'Asia/Baghdad',
+- 'Asia/Bahrain',
+- 'Asia/Baku',
+- 'Asia/Bangkok',
+- 'Asia/Barnaul',
+- 'Asia/Beirut',
+- 'Asia/Bishkek',
+- 'Asia/Brunei',
+- 'Asia/Calcutta',
+- 'Asia/Chita',
+- 'Asia/Choibalsan',
+- 'Asia/Chongqing',
+- 'Asia/Chungking',
+- 'Asia/Colombo',
+- 'Asia/Dacca',
+- 'Asia/Damascus',
+- 'Asia/Dhaka',
+- 'Asia/Dili',
+- 'Asia/Dubai',
+- 'Asia/Dushanbe',
+- 'Asia/Famagusta',
+- 'Asia/Gaza',
+- 'Asia/Harbin',
+- 'Asia/Hebron',
+- 'Asia/Ho_Chi_Minh',
+- 'Asia/Hong_Kong',
+- 'Asia/Hovd',
+- 'Asia/Irkutsk',
+- 'Asia/Istanbul',
+- 'Asia/Jakarta',
+- 'Asia/Jayapura',
+- 'Asia/Jerusalem',
+- 'Asia/Kabul',
+- 'Asia/Kamchatka',
+- 'Asia/Karachi',
+- 'Asia/Kashgar',
+- 'Asia/Kathmandu',
+- 'Asia/Katmandu',
+- 'Asia/Khandyga',
+- 'Asia/Kolkata',
+- 'Asia/Krasnoyarsk',
+- 'Asia/Kuala_Lumpur',
+- 'Asia/Kuching',
+- 'Asia/Kuwait',
+- 'Asia/Macao',
+- 'Asia/Macau',
+- 'Asia/Magadan',
+- 'Asia/Makassar',
+- 'Asia/Manila',
+- 'Asia/Muscat',
+- 'Asia/Nicosia',
+- 'Asia/Novokuznetsk',
+- 'Asia/Novosibirsk',
+- 'Asia/Omsk',
+- 'Asia/Oral',
+- 'Asia/Phnom_Penh',
+- 'Asia/Pontianak',
+- 'Asia/Pyongyang',
+- 'Asia/Qatar',
+- 'Asia/Qyzylorda',
+- 'Asia/Rangoon',
+- 'Asia/Riyadh',
+- 'Asia/Saigon',
+- 'Asia/Sakhalin',
+- 'Asia/Samarkand',
+- 'Asia/Seoul',
+- 'Asia/Shanghai',
+- 'Asia/Singapore',
+- 'Asia/Srednekolymsk',
+- 'Asia/Taipei',
+- 'Asia/Tashkent',
+- 'Asia/Tbilisi',
+- 'Asia/Tehran',
+- 'Asia/Tel_Aviv',
+- 'Asia/Thimbu',
+- 'Asia/Thimphu',
+- 'Asia/Tokyo',
+- 'Asia/Tomsk',
+- 'Asia/Ujung_Pandang',
+- 'Asia/Ulaanbaatar',
+- 'Asia/Ulan_Bator',
+- 'Asia/Urumqi',
+- 'Asia/Ust-Nera',
+- 'Asia/Vientiane',
+- 'Asia/Vladivostok',
+- 'Asia/Yakutsk',
+- 'Asia/Yangon',
+- 'Asia/Yekaterinburg',
+- 'Asia/Yerevan',
+- 'Atlantic/Azores',
+- 'Atlantic/Bermuda',
+- 'Atlantic/Canary',
+- 'Atlantic/Cape_Verde',
+- 'Atlantic/Faeroe',
+- 'Atlantic/Faroe',
+- 'Atlantic/Jan_Mayen',
+- 'Atlantic/Madeira',
+- 'Atlantic/Reykjavik',
+- 'Atlantic/South_Georgia',
+- 'Atlantic/St_Helena',
+- 'Atlantic/Stanley',
+- 'Australia/ACT',
+- 'Australia/Adelaide',
+- 'Australia/Brisbane',
+- 'Australia/Broken_Hill',
+- 'Australia/Canberra',
+- 'Australia/Currie',
+- 'Australia/Darwin',
+- 'Australia/Eucla',
+- 'Australia/Hobart',
+- 'Australia/LHI',
+- 'Australia/Lindeman',
+- 'Australia/Lord_Howe',
+- 'Australia/Melbourne',
+- 'Australia/NSW',
+- 'Australia/North',
+- 'Australia/Perth',
+- 'Australia/Queensland',
+- 'Australia/South',
+- 'Australia/Sydney',
+- 'Australia/Tasmania',
+- 'Australia/Victoria',
+- 'Australia/West',
+- 'Australia/Yancowinna',
+- 'Brazil/Acre',
+- 'Brazil/DeNoronha',
+- 'Brazil/East',
+- 'Brazil/West',
+- 'CET',
+- 'CST6CDT',
+- 'Canada/Atlantic',
+- 'Canada/Central',
+- 'Canada/East-Saskatchewan',
+- 'Canada/Eastern',
+- 'Canada/Mountain',
+- 'Canada/Newfoundland',
+- 'Canada/Pacific',
+- 'Canada/Saskatchewan',
+- 'Canada/Yukon',
+- 'Chile/Continental',
+- 'Chile/EasterIsland',
+- 'Cuba',
+- 'EET',
+- 'EST',
+- 'EST5EDT',
+- 'Egypt',
+- 'Eire',
+- 'Etc/GMT',
+- 'Etc/GMT+0',
+- 'Etc/GMT+1',
+- 'Etc/GMT+10',
+- 'Etc/GMT+11',
+- 'Etc/GMT+12',
+- 'Etc/GMT+2',
+- 'Etc/GMT+3',
+- 'Etc/GMT+4',
+- 'Etc/GMT+5',
+- 'Etc/GMT+6',
+- 'Etc/GMT+7',
+- 'Etc/GMT+8',
+- 'Etc/GMT+9',
+- 'Etc/GMT-0',
+- 'Etc/GMT-1',
+- 'Etc/GMT-10',
+- 'Etc/GMT-11',
+- 'Etc/GMT-12',
+- 'Etc/GMT-13',
+- 'Etc/GMT-14',
+- 'Etc/GMT-2',
+- 'Etc/GMT-3',
+- 'Etc/GMT-4',
+- 'Etc/GMT-5',
+- 'Etc/GMT-6',
+- 'Etc/GMT-7',
+- 'Etc/GMT-8',
+- 'Etc/GMT-9',
+- 'Etc/GMT0',
+- 'Etc/Greenwich',
+- 'Etc/UCT',
+- 'Etc/UTC',
+- 'Etc/Universal',
+- 'Etc/Zulu',
+- 'Europe/Amsterdam',
+- 'Europe/Andorra',
+- 'Europe/Astrakhan',
+- 'Europe/Athens',
+- 'Europe/Belfast',
+- 'Europe/Belgrade',
+- 'Europe/Berlin',
+- 'Europe/Bratislava',
+- 'Europe/Brussels',
+- 'Europe/Bucharest',
+- 'Europe/Budapest',
+- 'Europe/Busingen',
+- 'Europe/Chisinau',
+- 'Europe/Copenhagen',
+- 'Europe/Dublin',
+- 'Europe/Gibraltar',
+- 'Europe/Guernsey',
+- 'Europe/Helsinki',
+- 'Europe/Isle_of_Man',
+- 'Europe/Istanbul',
+- 'Europe/Jersey',
+- 'Europe/Kaliningrad',
+- 'Europe/Kiev',
+- 'Europe/Kirov',
+- 'Europe/Lisbon',
+- 'Europe/Ljubljana',
+- 'Europe/London',
+- 'Europe/Luxembourg',
+- 'Europe/Madrid',
+- 'Europe/Malta',
+- 'Europe/Mariehamn',
+- 'Europe/Minsk',
+- 'Europe/Monaco',
+- 'Europe/Moscow',
+- 'Europe/Nicosia',
+- 'Europe/Oslo',
+- 'Europe/Paris',
+- 'Europe/Podgorica',
+- 'Europe/Prague',
+- 'Europe/Riga',
+- 'Europe/Rome',
+- 'Europe/Samara',
+- 'Europe/San_Marino',
+- 'Europe/Sarajevo',
+- 'Europe/Saratov',
+- 'Europe/Simferopol',
+- 'Europe/Skopje',
+- 'Europe/Sofia',
+- 'Europe/Stockholm',
+- 'Europe/Tallinn',
+- 'Europe/Tirane',
+- 'Europe/Tiraspol',
+- 'Europe/Ulyanovsk',
+- 'Europe/Uzhgorod',
+- 'Europe/Vaduz',
+- 'Europe/Vatican',
+- 'Europe/Vienna',
+- 'Europe/Vilnius',
+- 'Europe/Volgograd',
+- 'Europe/Warsaw',
+- 'Europe/Zagreb',
+- 'Europe/Zaporozhye',
+- 'Europe/Zurich',
+- 'GB',
+- 'GB-Eire',
+- 'GMT',
+- 'GMT+0',
+- 'GMT-0',
+- 'GMT0',
+- 'Greenwich',
+- 'HST',
+- 'Hongkong',
+- 'Iceland',
+- 'Indian/Antananarivo',
+- 'Indian/Chagos',
+- 'Indian/Christmas',
+- 'Indian/Cocos',
+- 'Indian/Comoro',
+- 'Indian/Kerguelen',
+- 'Indian/Mahe',
+- 'Indian/Maldives',
+- 'Indian/Mauritius',
+- 'Indian/Mayotte',
+- 'Indian/Reunion',
+- 'Iran',
+- 'Israel',
+- 'Jamaica',
+- 'Japan',
+- 'Kwajalein',
+- 'Libya',
+- 'MET',
+- 'MST',
+- 'MST7MDT',
+- 'Mexico/BajaNorte',
+- 'Mexico/BajaSur',
+- 'Mexico/General',
+- 'NZ',
+- 'NZ-CHAT',
+- 'Navajo',
+- 'PRC',
+- 'PST8PDT',
+- 'Pacific/Apia',
+- 'Pacific/Auckland',
+- 'Pacific/Bougainville',
+- 'Pacific/Chatham',
+- 'Pacific/Chuuk',
+- 'Pacific/Easter',
+- 'Pacific/Efate',
+- 'Pacific/Enderbury',
+- 'Pacific/Fakaofo',
+- 'Pacific/Fiji',
+- 'Pacific/Funafuti',
+- 'Pacific/Galapagos',
+- 'Pacific/Gambier',
+- 'Pacific/Guadalcanal',
+- 'Pacific/Guam',
+- 'Pacific/Honolulu',
+- 'Pacific/Johnston',
+- 'Pacific/Kiritimati',
+- 'Pacific/Kosrae',
+- 'Pacific/Kwajalein',
+- 'Pacific/Majuro',
+- 'Pacific/Marquesas',
+- 'Pacific/Midway',
+- 'Pacific/Nauru',
+- 'Pacific/Niue',
+- 'Pacific/Norfolk',
+- 'Pacific/Noumea',
+- 'Pacific/Pago_Pago',
+- 'Pacific/Palau',
+- 'Pacific/Pitcairn',
+- 'Pacific/Pohnpei',
+- 'Pacific/Ponape',
+- 'Pacific/Port_Moresby',
+- 'Pacific/Rarotonga',
+- 'Pacific/Saipan',
+- 'Pacific/Samoa',
+- 'Pacific/Tahiti',
+- 'Pacific/Tarawa',
+- 'Pacific/Tongatapu',
+- 'Pacific/Truk',
+- 'Pacific/Wake',
+- 'Pacific/Wallis',
+- 'Pacific/Yap',
+- 'Poland',
+- 'Portugal',
+- 'ROC',
+- 'ROK',
+- 'Singapore',
+- 'Turkey',
+- 'UCT',
+- 'US/Alaska',
+- 'US/Aleutian',
+- 'US/Arizona',
+- 'US/Central',
+- 'US/East-Indiana',
+- 'US/Eastern',
+- 'US/Hawaii',
+- 'US/Indiana-Starke',
+- 'US/Michigan',
+- 'US/Mountain',
+- 'US/Pacific',
+- 'US/Pacific-New',
+- 'US/Samoa',
+- 'UTC',
+- 'Universal',
+- 'W-SU',
+- 'WET',
+- 'Zulu']
++all_timezones = []
++for root, dirs, files in os.walk(_tzinfo_dir):
++    for exclude in 'posix', 'right':
++        if exclude in dirs:
++            del dirs[dirs.index(exclude)]
++
++    all_timezones.extend(os.path.join(root, tz_file)[len(_tzinfo_dir)+1:]
++                         for tz_file in files
++                         if tz_file != 'README' and tz_file != 'Theory'
++                         and '.' not in tz_file)
+ all_timezones = LazyList(
+         tz for tz in all_timezones if resource_exists(tz))
+-        
++
+ all_timezones_set = LazySet(all_timezones)
+-common_timezones = \
+-['Africa/Abidjan',
+- 'Africa/Accra',
+- 'Africa/Addis_Ababa',
+- 'Africa/Algiers',
+- 'Africa/Asmara',
+- 'Africa/Bamako',
+- 'Africa/Bangui',
+- 'Africa/Banjul',
+- 'Africa/Bissau',
+- 'Africa/Blantyre',
+- 'Africa/Brazzaville',
+- 'Africa/Bujumbura',
+- 'Africa/Cairo',
+- 'Africa/Casablanca',
+- 'Africa/Ceuta',
+- 'Africa/Conakry',
+- 'Africa/Dakar',
+- 'Africa/Dar_es_Salaam',
+- 'Africa/Djibouti',
+- 'Africa/Douala',
+- 'Africa/El_Aaiun',
+- 'Africa/Freetown',
+- 'Africa/Gaborone',
+- 'Africa/Harare',
+- 'Africa/Johannesburg',
+- 'Africa/Juba',
+- 'Africa/Kampala',
+- 'Africa/Khartoum',
+- 'Africa/Kigali',
+- 'Africa/Kinshasa',
+- 'Africa/Lagos',
+- 'Africa/Libreville',
+- 'Africa/Lome',
+- 'Africa/Luanda',
+- 'Africa/Lubumbashi',
+- 'Africa/Lusaka',
+- 'Africa/Malabo',
+- 'Africa/Maputo',
+- 'Africa/Maseru',
+- 'Africa/Mbabane',
+- 'Africa/Mogadishu',
+- 'Africa/Monrovia',
+- 'Africa/Nairobi',
+- 'Africa/Ndjamena',
+- 'Africa/Niamey',
+- 'Africa/Nouakchott',
+- 'Africa/Ouagadougou',
+- 'Africa/Porto-Novo',
+- 'Africa/Sao_Tome',
+- 'Africa/Tripoli',
+- 'Africa/Tunis',
+- 'Africa/Windhoek',
+- 'America/Adak',
+- 'America/Anchorage',
+- 'America/Anguilla',
+- 'America/Antigua',
+- 'America/Araguaina',
+- 'America/Argentina/Buenos_Aires',
+- 'America/Argentina/Catamarca',
+- 'America/Argentina/Cordoba',
+- 'America/Argentina/Jujuy',
+- 'America/Argentina/La_Rioja',
+- 'America/Argentina/Mendoza',
+- 'America/Argentina/Rio_Gallegos',
+- 'America/Argentina/Salta',
+- 'America/Argentina/San_Juan',
+- 'America/Argentina/San_Luis',
+- 'America/Argentina/Tucuman',
+- 'America/Argentina/Ushuaia',
+- 'America/Aruba',
+- 'America/Asuncion',
+- 'America/Atikokan',
+- 'America/Bahia',
+- 'America/Bahia_Banderas',
+- 'America/Barbados',
+- 'America/Belem',
+- 'America/Belize',
+- 'America/Blanc-Sablon',
+- 'America/Boa_Vista',
+- 'America/Bogota',
+- 'America/Boise',
+- 'America/Cambridge_Bay',
+- 'America/Campo_Grande',
+- 'America/Cancun',
+- 'America/Caracas',
+- 'America/Cayenne',
+- 'America/Cayman',
+- 'America/Chicago',
+- 'America/Chihuahua',
+- 'America/Costa_Rica',
+- 'America/Creston',
+- 'America/Cuiaba',
+- 'America/Curacao',
+- 'America/Danmarkshavn',
+- 'America/Dawson',
+- 'America/Dawson_Creek',
+- 'America/Denver',
+- 'America/Detroit',
+- 'America/Dominica',
+- 'America/Edmonton',
+- 'America/Eirunepe',
+- 'America/El_Salvador',
+- 'America/Fort_Nelson',
+- 'America/Fortaleza',
+- 'America/Glace_Bay',
+- 'America/Godthab',
+- 'America/Goose_Bay',
+- 'America/Grand_Turk',
+- 'America/Grenada',
+- 'America/Guadeloupe',
+- 'America/Guatemala',
+- 'America/Guayaquil',
+- 'America/Guyana',
+- 'America/Halifax',
+- 'America/Havana',
+- 'America/Hermosillo',
+- 'America/Indiana/Indianapolis',
+- 'America/Indiana/Knox',
+- 'America/Indiana/Marengo',
+- 'America/Indiana/Petersburg',
+- 'America/Indiana/Tell_City',
+- 'America/Indiana/Vevay',
+- 'America/Indiana/Vincennes',
+- 'America/Indiana/Winamac',
+- 'America/Inuvik',
+- 'America/Iqaluit',
+- 'America/Jamaica',
+- 'America/Juneau',
+- 'America/Kentucky/Louisville',
+- 'America/Kentucky/Monticello',
+- 'America/Kralendijk',
+- 'America/La_Paz',
+- 'America/Lima',
+- 'America/Los_Angeles',
+- 'America/Lower_Princes',
+- 'America/Maceio',
+- 'America/Managua',
+- 'America/Manaus',
+- 'America/Marigot',
+- 'America/Martinique',
+- 'America/Matamoros',
+- 'America/Mazatlan',
+- 'America/Menominee',
+- 'America/Merida',
+- 'America/Metlakatla',
+- 'America/Mexico_City',
+- 'America/Miquelon',
+- 'America/Moncton',
+- 'America/Monterrey',
+- 'America/Montevideo',
+- 'America/Montserrat',
+- 'America/Nassau',
+- 'America/New_York',
+- 'America/Nipigon',
+- 'America/Nome',
+- 'America/Noronha',
+- 'America/North_Dakota/Beulah',
+- 'America/North_Dakota/Center',
+- 'America/North_Dakota/New_Salem',
+- 'America/Ojinaga',
+- 'America/Panama',
+- 'America/Pangnirtung',
+- 'America/Paramaribo',
+- 'America/Phoenix',
+- 'America/Port-au-Prince',
+- 'America/Port_of_Spain',
+- 'America/Porto_Velho',
+- 'America/Puerto_Rico',
+- 'America/Rainy_River',
+- 'America/Rankin_Inlet',
+- 'America/Recife',
+- 'America/Regina',
+- 'America/Resolute',
+- 'America/Rio_Branco',
+- 'America/Santarem',
+- 'America/Santiago',
+- 'America/Santo_Domingo',
+- 'America/Sao_Paulo',
+- 'America/Scoresbysund',
+- 'America/Sitka',
+- 'America/St_Barthelemy',
+- 'America/St_Johns',
+- 'America/St_Kitts',
+- 'America/St_Lucia',
+- 'America/St_Thomas',
+- 'America/St_Vincent',
+- 'America/Swift_Current',
+- 'America/Tegucigalpa',
+- 'America/Thule',
+- 'America/Thunder_Bay',
+- 'America/Tijuana',
+- 'America/Toronto',
+- 'America/Tortola',
+- 'America/Vancouver',
+- 'America/Whitehorse',
+- 'America/Winnipeg',
+- 'America/Yakutat',
+- 'America/Yellowknife',
+- 'Antarctica/Casey',
+- 'Antarctica/Davis',
+- 'Antarctica/DumontDUrville',
+- 'Antarctica/Macquarie',
+- 'Antarctica/Mawson',
+- 'Antarctica/McMurdo',
+- 'Antarctica/Palmer',
+- 'Antarctica/Rothera',
+- 'Antarctica/Syowa',
+- 'Antarctica/Troll',
+- 'Antarctica/Vostok',
+- 'Arctic/Longyearbyen',
+- 'Asia/Aden',
+- 'Asia/Almaty',
+- 'Asia/Amman',
+- 'Asia/Anadyr',
+- 'Asia/Aqtau',
+- 'Asia/Aqtobe',
+- 'Asia/Ashgabat',
+- 'Asia/Atyrau',
+- 'Asia/Baghdad',
+- 'Asia/Bahrain',
+- 'Asia/Baku',
+- 'Asia/Bangkok',
+- 'Asia/Barnaul',
+- 'Asia/Beirut',
+- 'Asia/Bishkek',
+- 'Asia/Brunei',
+- 'Asia/Chita',
+- 'Asia/Choibalsan',
+- 'Asia/Colombo',
+- 'Asia/Damascus',
+- 'Asia/Dhaka',
+- 'Asia/Dili',
+- 'Asia/Dubai',
+- 'Asia/Dushanbe',
+- 'Asia/Famagusta',
+- 'Asia/Gaza',
+- 'Asia/Hebron',
+- 'Asia/Ho_Chi_Minh',
+- 'Asia/Hong_Kong',
+- 'Asia/Hovd',
+- 'Asia/Irkutsk',
+- 'Asia/Jakarta',
+- 'Asia/Jayapura',
+- 'Asia/Jerusalem',
+- 'Asia/Kabul',
+- 'Asia/Kamchatka',
+- 'Asia/Karachi',
+- 'Asia/Kathmandu',
+- 'Asia/Khandyga',
+- 'Asia/Kolkata',
+- 'Asia/Krasnoyarsk',
+- 'Asia/Kuala_Lumpur',
+- 'Asia/Kuching',
+- 'Asia/Kuwait',
+- 'Asia/Macau',
+- 'Asia/Magadan',
+- 'Asia/Makassar',
+- 'Asia/Manila',
+- 'Asia/Muscat',
+- 'Asia/Nicosia',
+- 'Asia/Novokuznetsk',
+- 'Asia/Novosibirsk',
+- 'Asia/Omsk',
+- 'Asia/Oral',
+- 'Asia/Phnom_Penh',
+- 'Asia/Pontianak',
+- 'Asia/Pyongyang',
+- 'Asia/Qatar',
+- 'Asia/Qyzylorda',
+- 'Asia/Riyadh',
+- 'Asia/Sakhalin',
+- 'Asia/Samarkand',
+- 'Asia/Seoul',
+- 'Asia/Shanghai',
+- 'Asia/Singapore',
+- 'Asia/Srednekolymsk',
+- 'Asia/Taipei',
+- 'Asia/Tashkent',
+- 'Asia/Tbilisi',
+- 'Asia/Tehran',
+- 'Asia/Thimphu',
+- 'Asia/Tokyo',
+- 'Asia/Tomsk',
+- 'Asia/Ulaanbaatar',
+- 'Asia/Urumqi',
+- 'Asia/Ust-Nera',
+- 'Asia/Vientiane',
+- 'Asia/Vladivostok',
+- 'Asia/Yakutsk',
+- 'Asia/Yangon',
+- 'Asia/Yekaterinburg',
+- 'Asia/Yerevan',
+- 'Atlantic/Azores',
+- 'Atlantic/Bermuda',
+- 'Atlantic/Canary',
+- 'Atlantic/Cape_Verde',
+- 'Atlantic/Faroe',
+- 'Atlantic/Madeira',
+- 'Atlantic/Reykjavik',
+- 'Atlantic/South_Georgia',
+- 'Atlantic/St_Helena',
+- 'Atlantic/Stanley',
+- 'Australia/Adelaide',
+- 'Australia/Brisbane',
+- 'Australia/Broken_Hill',
+- 'Australia/Currie',
+- 'Australia/Darwin',
+- 'Australia/Eucla',
+- 'Australia/Hobart',
+- 'Australia/Lindeman',
+- 'Australia/Lord_Howe',
+- 'Australia/Melbourne',
+- 'Australia/Perth',
+- 'Australia/Sydney',
+- 'Canada/Atlantic',
+- 'Canada/Central',
+- 'Canada/Eastern',
+- 'Canada/Mountain',
+- 'Canada/Newfoundland',
+- 'Canada/Pacific',
+- 'Europe/Amsterdam',
+- 'Europe/Andorra',
+- 'Europe/Astrakhan',
+- 'Europe/Athens',
+- 'Europe/Belgrade',
+- 'Europe/Berlin',
+- 'Europe/Bratislava',
+- 'Europe/Brussels',
+- 'Europe/Bucharest',
+- 'Europe/Budapest',
+- 'Europe/Busingen',
+- 'Europe/Chisinau',
+- 'Europe/Copenhagen',
+- 'Europe/Dublin',
+- 'Europe/Gibraltar',
+- 'Europe/Guernsey',
+- 'Europe/Helsinki',
+- 'Europe/Isle_of_Man',
+- 'Europe/Istanbul',
+- 'Europe/Jersey',
+- 'Europe/Kaliningrad',
+- 'Europe/Kiev',
+- 'Europe/Kirov',
+- 'Europe/Lisbon',
+- 'Europe/Ljubljana',
+- 'Europe/London',
+- 'Europe/Luxembourg',
+- 'Europe/Madrid',
+- 'Europe/Malta',
+- 'Europe/Mariehamn',
+- 'Europe/Minsk',
+- 'Europe/Monaco',
+- 'Europe/Moscow',
+- 'Europe/Oslo',
+- 'Europe/Paris',
+- 'Europe/Podgorica',
+- 'Europe/Prague',
+- 'Europe/Riga',
+- 'Europe/Rome',
+- 'Europe/Samara',
+- 'Europe/San_Marino',
+- 'Europe/Sarajevo',
+- 'Europe/Saratov',
+- 'Europe/Simferopol',
+- 'Europe/Skopje',
+- 'Europe/Sofia',
+- 'Europe/Stockholm',
+- 'Europe/Tallinn',
+- 'Europe/Tirane',
+- 'Europe/Ulyanovsk',
+- 'Europe/Uzhgorod',
+- 'Europe/Vaduz',
+- 'Europe/Vatican',
+- 'Europe/Vienna',
+- 'Europe/Vilnius',
+- 'Europe/Volgograd',
+- 'Europe/Warsaw',
+- 'Europe/Zagreb',
+- 'Europe/Zaporozhye',
+- 'Europe/Zurich',
+- 'GMT',
+- 'Indian/Antananarivo',
+- 'Indian/Chagos',
+- 'Indian/Christmas',
+- 'Indian/Cocos',
+- 'Indian/Comoro',
+- 'Indian/Kerguelen',
+- 'Indian/Mahe',
+- 'Indian/Maldives',
+- 'Indian/Mauritius',
+- 'Indian/Mayotte',
+- 'Indian/Reunion',
+- 'Pacific/Apia',
+- 'Pacific/Auckland',
+- 'Pacific/Bougainville',
+- 'Pacific/Chatham',
+- 'Pacific/Chuuk',
+- 'Pacific/Easter',
+- 'Pacific/Efate',
+- 'Pacific/Enderbury',
+- 'Pacific/Fakaofo',
+- 'Pacific/Fiji',
+- 'Pacific/Funafuti',
+- 'Pacific/Galapagos',
+- 'Pacific/Gambier',
+- 'Pacific/Guadalcanal',
+- 'Pacific/Guam',
+- 'Pacific/Honolulu',
+- 'Pacific/Johnston',
+- 'Pacific/Kiritimati',
+- 'Pacific/Kosrae',
+- 'Pacific/Kwajalein',
+- 'Pacific/Majuro',
+- 'Pacific/Marquesas',
+- 'Pacific/Midway',
+- 'Pacific/Nauru',
+- 'Pacific/Niue',
+- 'Pacific/Norfolk',
+- 'Pacific/Noumea',
+- 'Pacific/Pago_Pago',
+- 'Pacific/Palau',
+- 'Pacific/Pitcairn',
+- 'Pacific/Pohnpei',
+- 'Pacific/Port_Moresby',
+- 'Pacific/Rarotonga',
+- 'Pacific/Saipan',
+- 'Pacific/Tahiti',
+- 'Pacific/Tarawa',
+- 'Pacific/Tongatapu',
+- 'Pacific/Wake',
+- 'Pacific/Wallis',
+- 'US/Alaska',
+- 'US/Arizona',
+- 'US/Central',
+- 'US/Eastern',
+- 'US/Hawaii',
+- 'US/Mountain',
+- 'US/Pacific',
+- 'UTC']
++common_timezones = [l.split()[2]
++                    for l in open(os.path.join(_tzinfo_dir, 'zone.tab'))
++                    if l != '' and l[0] != '#']
++common_timezones.extend(
++    ['GMT',
++     'US/Alaska',
++     'US/Arizona',
++     'US/Central',
++     'US/Eastern',
++     'US/Hawaii',
++     'US/Mountain',
++     'US/Pacific',
++     'UTC'])
+ common_timezones = LazyList(
+             tz for tz in common_timezones if tz in all_timezones)
+-        
++
+ common_timezones_set = LazySet(common_timezones)
diff --git a/SPECS/pytz.spec b/SPECS/pytz.spec
index aa8af58..dc58ba0 100644
--- a/SPECS/pytz.spec
+++ b/SPECS/pytz.spec
@@ -5,26 +5,33 @@
 %endif
 
 Name:           pytz
-Version:        2012d
-Release:        5%{?dist}
+Version:        2016.10
+Release:        2%{?dist}
 Summary:        World Timezone Definitions for Python
 
 Group:          Development/Languages
 License:        MIT
 URL:            http://pytz.sourceforge.net/
-Source0:        http://pypi.python.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz
-Patch0:         pytz-2012d_zoneinfo.patch
+Source0:        https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz
+# Patch to use the system supplied zoneinfo files
+Patch0:         pytz-2016.10_zoneinfo.patch
+# Fix the test suite for the 2017a tz abbreviation changes
+# Fixed upstream: https://git.launchpad.net/pytz/commit/?id=c00dbe290bd1aa896b01db94f2e93449cf3bfd07
+Patch1:			fix-tests-for-2017a-tz-abbreviation-changes.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildArch:      noarch
 BuildRequires:  python2-devel
+BuildRequires:  pytest
 
 %if 0%{?with_python3}
 BuildRequires:  python3-devel
 %endif
 
 Requires: tzdata
+Provides: python-pytz = %{version}-%{release}
+Provides: python2-pytz = %{version}-%{release}
 
 %description
 pytz brings the Olson tz database into Python. This library allows accurate
@@ -53,7 +60,8 @@ Amost all (over 540) of the Olson timezones are supported.
 
 %prep
 %setup -q
-%patch0 -p0
+%patch0 -p1
+%patch1 -p1
 
 %if 0%{?with_python3}
 cp -a . %{py3dir}
@@ -84,6 +92,8 @@ popd
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%check
+PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-%{python2_version} -v
 
 %files
 %defattr(-,root,root,-)
@@ -100,6 +110,14 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Mon Apr 03 2017 Charalampos Stratakis <cstratak@redhat.com> - 2016.10-2
+- Fix the test suite for the 2017a tz abbreviation changes
+Resolves: rhbz#1433851
+
+* Mon Feb 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 2016.10-1
+- Update to 2016.10
+Resolves: rhbz#1374871
+
 * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2012d-5
 - Mass rebuild 2013-12-27