code: def timezone(zone):
      r"""Return a datetime.tzinfo implementation for the given timezone
  
      >>> from datetime import datetime, timedelta
      >>> utc = timezone('UTC')
      >>> eastern = timezone('US/Eastern')
      >>> eastern.zone
      'US/Eastern'
      >>> timezone(unicode('US/Eastern')) is eastern
      True
      >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
      >>> loc_dt = utc_dt.astimezone(eastern)
      >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
      >>> loc_dt.strftime(fmt)
      '2002-10-27 01:00:00 EST (-0500)'
      >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)
      '2002-10-27 00:50:00 EST (-0500)'
      >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)
      '2002-10-27 01:50:00 EDT (-0400)'
      >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)
      '2002-10-27 01:10:00 EST (-0500)'
  
      Raises UnknownTimeZoneError if passed an unknown zone.
  
      >>> try:
      ...     timezone('Asia/Shangri-La')
      ... except UnknownTimeZoneError:
      ...     print('Unknown')
      Unknown
  
      >>> try:
      ...     timezone(unicode('\N{TRADE MARK SIGN}'))
      ... except UnknownTimeZoneError:
      ...     print('Unknown')
      Unknown
  
      """
      if zone is None:
          raise UnknownTimeZoneError(None)
  
      if zone.upper() == "UTC":
          return utc
  
      try:
          zone = ascii(zone)
      except UnicodeEncodeError:
          # All valid timezones are ASCII
          raise UnknownTimeZoneError(zone)
  
      zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))
      if zone not in _tzinfo_cache:
          if zone in all_timezones_set:  # noqa
              fp = open_resource(zone)
              try:
                  _tzinfo_cache[zone] = build_tzinfo(zone, fp)
              finally:
                  fp.close()
          else:
              raise UnknownTimeZoneError(zone)
  
      return _tzinfo_cache[zone]
  
imports: import sys
  import datetime
  import os.path
  from pytz.exceptions import AmbiguousTimeError
  from pytz.exceptions import InvalidTimeError
  from pytz.exceptions import NonExistentTimeError
  from pytz.exceptions import UnknownTimeZoneError
  from pytz.lazy import LazyDict, LazyList, LazySet
  from pytz.tzinfo import unpickler, BaseTzInfo
  from pytz.tzfile import build_tzinfo
label_desc: Use image node_id 3 for calling a global function with example usage: timezone(zone) and returns: _tzinfo_cache, utc