<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_ip_address(self, ip_address):
 """Parse an address as returned by the ``connected_users_info`` or ``user_sessions_info`` API calls. Example:: IPv4Address('192.168.0.1') IPv4Address('192.168.0.1') IPv6Address('::1') :param ip_address: An IP address. :type ip_address: str :return: The parsed IP address. :rtype: `ipaddress.IPv6Address` or `ipaddress.IPv4Address`. """

        if ip_address.startswith('::FFFF:'):
            ip_address = ip_address[7:]
        if six.PY2 and isinstance(ip_address, str):
            # ipaddress constructor does not eat str in py2 :-/
            ip_address = ip_address.decode('utf-8')

        return ipaddress.ip_address(ip_address)