code: def split_semicolon(line, maxsplit=None):
      r
      split_line = line.split(';')
      split_line_size = len(split_line)
      if maxsplit is None or maxsplit < 0:
          maxsplit = split_line_size
      i = 0
      while i < split_line_size - 1:
          ends = split_line[i].endswith('\\')
          if ends:
              split_line[i] = split_line[i][:-1]
          if (ends or i >= maxsplit) and i < split_line_size - 1:
              split_line[i] = ";".join([split_line[i], split_line[i + 1]])
              del split_line[i + 1]
              split_line_size -= 1
          else:
              i += 1
      return split_line