code: def _from_binary_sid(cls, binary_stream):
      
      ''' Revision number - 1
          Number of sub authorities - 1
          Authority - 6
          Array of 32 bits with sub authorities - 4 * number of sub authorities
      '''
      rev_number, sub_auth_len, auth = cls._REPR.unpack(binary_stream[:cls._REPR.size])
      if sub_auth_len:
          sub_auth_repr = struct.Struct("<" + str(sub_auth_len) + "I")
          sub_auth = sub_auth_repr.unpack(binary_stream[cls._REPR.size:cls._REPR.size + sub_auth_repr.size])
      else:
          sub_auth = ()
  
      nw_obj = cls((rev_number, int.from_bytes(auth, byteorder="big"), sub_auth))
  
      _MOD_LOGGER.debug("Attempted to unpack SID from \"%s\"\nResult: %s", binary_stream.tobytes(), nw_obj)
  
      return nw_obj
docs: See base class.