code: def _get_trans_info_fromutc(self, ts, year):
      start, end = self.transitions(year)
      start -= self.std.utcoff.total_seconds()
      end -= self.dst.utcoff.total_seconds()
  
      if start < end:
          isdst = start <= ts < end
      else:
          isdst = not (end <= ts < start)
  
      # For positive DST, the ambiguous period is one dst_diff after the end
      # of DST; for negative DST, the ambiguous period is one dst_diff before
      # the start of DST.
      if self.dst_diff > 0:
          ambig_start = end
          ambig_end = end + self.dst_diff
      else:
          ambig_start = start
          ambig_end = start - self.dst_diff
  
      fold = ambig_start <= ts < ambig_end
  
      return (self.dst if isdst else self.std, fold)
  
imports: import bisect
  import calendar
  import collections
  import functools
  import re
  import weakref
  from datetime import datetime, timedelta, tzinfo
  from .None import _common, _tzpath
label_desc: Use image node_id 4 for calling the _TZStr obj's underlying member method code with example usage: obj._get_trans_info_fromutc(ts, year) and returns: unknown,  fold