code: def continuous_subpaths(self):
          
          subpaths = []
          subpath_start = 0
          for i in range(len(self) - 1):
              if self[i].end != self[(i+1) % len(self)].start:
                  subpaths.append(Path(*self[subpath_start: i+1]))
                  subpath_start = i+1
          subpaths.append(Path(*self[subpath_start: len(self)]))
          return subpaths
docs: Breaks self into its continuous components, returning a list of
          continuous subpaths.
          I.e.
          (all(subpath.iscontinuous() for subpath in self.continuous_subpaths())
           and self == concatpaths(self.continuous_subpaths()))
          )