code: def _rollback_to_year(self, other):
          
          num_qtrs = 0
  
          norm = Timestamp(other).tz_localize(None)
          start = self._offset.rollback(norm)
          # Note: start <= norm and self._offset.onOffset(start)
  
          if start < norm:
              # roll adjustment
              qtr_lens = self.get_weeks(norm)
  
              # check thet qtr_lens is consistent with self._offset addition
              end = liboffsets.shift_day(start, days=7 * sum(qtr_lens))
              assert self._offset.onOffset(end), (start, end, qtr_lens)
  
              tdelta = norm - start
              for qlen in qtr_lens:
                  if qlen * 7 <= tdelta.days:
                      num_qtrs += 1
                      tdelta -= Timedelta(days=qlen * 7)
                  else:
                      break
          else:
              tdelta = Timedelta(0)
  
          # Note: we always have tdelta.value >= 0
          return start, num_qtrs, tdelta
docs: Roll `other` back to the most recent date that was on a fiscal year
          end.
  
          Return the date of that year-end, the number of full quarters
          elapsed between that year-end and other, and the remaining Timedelta
          since the most recent quarter-end.
  
          Parameters
          ----------
          other : datetime or Timestamp
  
          Returns
          -------
          tuple of
          prev_year_end : Timestamp giving most recent fiscal year end
          num_qtrs : int
          tdelta : Timedelta