@java.lang.Override
    public int hashCode() {
        if (memoizedHashCode != 0) {
            return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getIdsCount() > 0) {
            hash = (37 * hash) + IDS_FIELD_NUMBER;
            hash = (53 * hash) + getIdsList().hashCode();
        }
        if (hasAreGroupMessages()) {
            hash = (37 * hash) + ARE_GROUP_MESSAGES_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAreGroupMessages());
        }
        if (hasAreSystemMessages()) {
            hash = (37 * hash) + ARE_SYSTEM_MESSAGES_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAreSystemMessages());
        }
        if (getFromIdsCount() > 0) {
            hash = (37 * hash) + FROM_IDS_FIELD_NUMBER;
            hash = (53 * hash) + getFromIdsList().hashCode();
        }
        if (hasDeliveryDateStart()) {
            hash = (37 * hash) + DELIVERY_DATE_START_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getDeliveryDateStart());
        }
        if (hasDeliveryDateEnd()) {
            hash = (37 * hash) + DELIVERY_DATE_END_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getDeliveryDateEnd());
        }
        if (hasMaxCount()) {
            hash = (37 * hash) + MAX_COUNT_FIELD_NUMBER;
            hash = (53 * hash) + getMaxCount();
        }
        hash = (37 * hash) + WITH_TOTAL_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getWithTotal());
        if (hasDescending()) {
            hash = (37 * hash) + DESCENDING_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDescending());
        }
        if (getCustomAttributesCount() > 0) {
            hash = (37 * hash) + CUSTOM_ATTRIBUTES_FIELD_NUMBER;
            hash = (53 * hash) + getCustomAttributesList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
    }
<code>repeated .im.turms.proto.Value custom_attributes = 15;</code>
turms-server-common/src/main/java/im/turms/server/common/access/client/dto/request/message/QueryMessagesRequest.java