# HG changeset patch
# User Paul Ganssle <paul@ganssle.io>
# Date 1525824724 14400
#      Tue May 08 20:12:04 2018 -0400
# Node ID 86bf652555ee3e945c641c6b5f3345cbb12fa49b
# Parent  7c16a4a3ce300c02acb28c36d5aa5349bc8c830c
Revert "Convert the factories to use a WeakValueDictionary"

This reverts commit 873c5971ebfdf3a10a81d192a6b095064bd7c01b.

diff --git a/dateutil/tz/_factories.py b/dateutil/tz/_factories.py
--- a/dateutil/tz/_factories.py
+++ b/dateutil/tz/_factories.py
@@ -1,5 +1,5 @@
 from datetime import timedelta
-import weakref
+
 
 class _TzSingleton(type):
     def __init__(cls, *args, **kwargs):
@@ -19,7 +19,7 @@
 
 class _TzOffsetFactory(_TzFactory):
     def __init__(cls, *args, **kwargs):
-        cls.__instances = weakref.WeakValueDictionary()
+        cls.__instances = {}
 
     def __call__(cls, name, offset):
         if isinstance(offset, timedelta):
@@ -36,7 +36,7 @@
 
 class _TzStrFactory(_TzFactory):
     def __init__(cls, *args, **kwargs):
-        cls.__instances = weakref.WeakValueDictionary()
+        cls.__instances = {}
 
     def __call__(cls, s, posix_offset=False):
         key = (s, posix_offset)
diff --git a/dateutil/tz/tz.py b/dateutil/tz/tz.py
--- a/dateutil/tz/tz.py
+++ b/dateutil/tz/tz.py
@@ -13,7 +13,6 @@
 import sys
 import os
 import bisect
-import weakref
 
 import six
 from six import string_types
@@ -1529,7 +1528,7 @@
         """
         def __init__(self):
 
-            self.__instances = weakref.WeakValueDictionary()
+            self.__instances = {}
             self._cache_lock = _thread.allocate_lock()
 
         def __call__(self, name=None):