<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def send_cmd_recv_rsp(self, target, data, timeout):
 """Exchange data with a remote Target Sends command *data* to the remote *target* discovered in the most recent call to one of the sense_xxx() methods. Note that *target* becomes invalid with any call to mute(), sense_xxx() or listen_xxx() Arguments: target (nfc.clf.RemoteTarget):
 The target returned by the last successful call of a sense_xxx() method. data (bytearray):
 The binary data to send to the remote device. timeout (float):
 The maximum number of seconds to wait for response data from the remote device. Returns: bytearray: Response data received from the remote device. Raises: nfc.clf.CommunicationError: When no data was received. """

        fname = "send_cmd_recv_rsp"
        cname = self.__class__.__module__ + '.' + self.__class__.__name__
        raise NotImplementedError("%s.%s() is required" % (cname, fname))