<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _parse_array_status(self, block):
 """ Parse the status of the md array. { 'total_members': '2', 'actual_members': '2', 'superblock_version': '1.2', 'blocks': '100171776' } :return: dictionary of status information :rtype: dict """

        array_status_regexp = re.compile(
            '^ *(?P<blocks>\d*) blocks '
            '(?:super (?P<superblock_version>\d\.\d) )?'
            '(?:level (?P<raid_level>\d), '
            '(?P<chunk_size>\d*)k chunk, '
            'algorithm (?P<algorithm>\d) )?'
            '(?:\[(?P<total_members>\d*)/(?P<actual_members>\d*)\])?'
            '(?:(?P<rounding_factor>\d*)k rounding)?.*$'
        )

        array_status_dict = \
            array_status_regexp.match(block.split('\n')[1]).groupdict()

        array_status_dict_sanitizied = {}

        # convert all non None values to float
        for key, value in array_status_dict.iteritems():
            if not value:
                continue
            if key == 'superblock_version':
                array_status_dict_sanitizied[key] = float(value)
            else:
                array_status_dict_sanitizied[key] = int(value)

        if 'chunk_size' in array_status_dict_sanitizied:
            # convert chunk size from kBytes to Bytes
            array_status_dict_sanitizied['chunk_size'] *= 1024

        if 'rounding_factor' in array_status_dict_sanitizied:
            # convert rounding_factor from kBytes to Bytes
            array_status_dict_sanitizied['rounding_factor'] *= 1024

        return array_status_dict_sanitizied