code: def _iter_year_month(year_info):
      
      # info => month, days, leap
  
      leap_month, leap_days = _parse_leap(year_info)
      months = [(i, 0) for i in range(1, 13)]
      if leap_month > 0:
          months.insert(leap_month, (leap_month, 1))
      for month, leap in months:
          if leap:
              days = leap_days
          else:
              days = (year_info >> (16 - month)) % 2 + 29
          yield month, days, leap
docs: Iter the month days in a lunar year.