def _handle_weekly_repeat_out(self):
start_d = _first_weekday(<EOL>self.event.l_start_date.weekday(), date(self.year, self.month, <NUM_LIT:1>)<EOL>)<EOL>self.day = start_d.day<EOL>self.count_first = True<EOL>if self.event.repeats('<STR_LIT>'):<EOL><INDENT>self._biweekly_helper()<EOL><DEDENT>elif self.event.repeats('<STR_LIT>'):<EOL><INDENT>self.repeat()<EOL>if self.event.is_chunk():<EOL><INDENT>diff = self.event.start_end_diff<EOL>self.count = _chunk_fill_out_first_week(<EOL>self.year, self.month, self.count, self.event, diff<EOL>)<EOL>for i in xrange(diff):<EOL><INDENT>self.day = start_d.day + i + <NUM_LIT:1><EOL>self.repeat()<EOL><DEDENT><DEDENT><DEDENT>
Handles repeating an event weekly (or biweekly) if the current
year and month are outside of its start year and month.
It takes care of cases 3 and 4 in _handle_weekly_repeat_in() comments.