code: def _read_para_ack(self, code, cbit, clen, *, desc, length, version):
          
          if clen % 4 != 0:
              raise ProtocolError(f'HIPv{version}: [Parano {code}] invalid format')
  
          _upid = list()
          for _ in range(clen // 4):
              _upid.append(self._read_unpack(4))
  
          ack = dict(
              type=desc,
              critical=cbit,
              length=clen,
              id=tuple(_upid),
          )
  
          return ack
docs: Read HIP ACK parameter.
  
          Structure of HIP ACK parameter [RFC 7401]:
               0                   1                   2                   3
               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |             Type              |             Length            |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                       peer Update ID 1                        |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              /                       peer Update ID n                        |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  
              Octets      Bits        Name                    Description
                0           0     ack.type                Parameter Type
                1          15     ack.critical            Critical Bit
                2          16     ack.length              Length of Contents
                4          32     ack.id                  Peer Update ID