<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_mount_points():
 """Get all current mount points of the system. Changes to the mount points during iteration may be reflected in the result. @return a generator of (source, target, fstype, options), where options is a list of bytes instances, and the others are bytes instances (this avoids encoding problems with mount points with problematic characters). """

    def decode_path(path):
        # Replace tab, space, newline, and backslash escapes with actual characters.
        # According to man 5 fstab, only tab and space escaped, but Linux escapes more:
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/proc_namespace.c?id=12a54b150fb5b6c2f3da932dc0e665355f8a5a48#n85
        return path.replace(br"\011", b"\011").replace(br"\040", b"\040").replace(br"\012", b"\012").replace(br"\134", b"\134")

    with open("/proc/self/mounts", "rb") as mounts:
        # The format of this file is the same as of /etc/fstab (cf. man 5 fstab)
        for mount in mounts:
            source, target, fstype, options, unused1, unused2 = mount.split(b" ")
            options = set(options.split(b","))
            yield (decode_path(source), decode_path(target), fstype, options)