<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _read_mode_tcpao(self, size, kind):
 """Read Authentication option. Positional arguments: * size - int, length of option * kind - int, 29 (TCP Authentication Option) Returns: * dict -- extracted Authentication (AO) option Structure of TCP AOopt [RFC 5925]: | Kind=29 | Length | KeyID | RNextKeyID | Octets Bits Name Description 0 0 tcp.ao.kind Kind (29) 1 8 tcp.ao.length Length 2 16 tcp.ao.keyid KeyID 3 24 tcp.ao.rnextkeyid RNextKeyID 4 32 tcp.ao.mac Message Authentication Code """

        key_ = self._read_unpack(1)
        rkey = self._read_unpack(1)
        mac_ = self._read_fileng(size - 2)

        data = dict(
            kind=kind,
            length=size,
            keyid=key_,
            rnextkeyid=rkey,
            mac=mac_,
        )

        return data