def parse_range()

in main.py [0:0]


def parse_range(range_str):
    def parse_value(value):
        value = value.strip()
        if value.endswith('M'):
            return int(value[:-1]) * 1_000_000
        elif value.endswith('K'):
            return int(value[:-1]) * 1_000
        else:
            raise ValueError("Unit for range not supported")

    try:
        # Remove brackets and split the string
        values = range_str.strip('[]').split(',')
        
        if len(values) != 3:
            raise ValueError("Range must have exactly 3 values")

        start = parse_value(values[0])
        end = parse_value(values[1])
        step = parse_value(values[2])
        
        return start, end, step
    except (ValueError, IndexError) as e:
        raise argparse.ArgumentTypeError(f"Invalid range format. Use '[start, end, step]'. Error: {str(e)}")