// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: client/v3beta/dto/user/user_dto.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto

#include <limits>
#include <string>
#include <herogoogle/protobuf/stubs/common.h>

#include <herogoogle/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3018000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3018000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif


#include <herogoogle/protobuf/io/coded_stream.h>
#include <herogoogle/protobuf/arena.h>
#include <herogoogle/protobuf/arenastring.h>
#include <herogoogle/protobuf/generated_message_table_driven.h>
#include <herogoogle/protobuf/generated_message_util.h>
#include <herogoogle/protobuf/metadata_lite.h>
#include <herogoogle/protobuf/generated_message_reflection.h>
#include <herogoogle/protobuf/message.h>
#include <herogoogle/protobuf/repeated_field.h>  // IWYU pragma: export
#include <herogoogle/protobuf/extension_set.h>  // IWYU pragma: export
#include <herogoogle/protobuf/map.h>  // IWYU pragma: export
#include <herogoogle/protobuf/map_entry.h>
#include <herogoogle/protobuf/map_field_inl.h>
#include <herogoogle/protobuf/unknown_field_set.h>
#include "client/v3beta/dto/user/model/user_model.pb.h"
#include "client/v3beta/dto/shared/api.pb.h"
// @@protoc_insertion_point(includes)

#define PROTOBUF_INTERNAL_EXPORT_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto {
  static const ::herogoogle::protobuf::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::ParseTable schema[12]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::FieldMetadata field_metadata[];
  static const ::herogoogle::protobuf::internal::SerializationTable serialization_table[];
  static const ::herogoogle::protobuf::uint32 offsets[];
};
extern const ::herogoogle::protobuf::internal::DescriptorTable descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace user {
class FindUserByRoleIdRequest;
struct FindUserByRoleIdRequestDefaultTypeInternal;
extern FindUserByRoleIdRequestDefaultTypeInternal _FindUserByRoleIdRequest_default_instance_;
class FindUserByRoleIdResponse;
struct FindUserByRoleIdResponseDefaultTypeInternal;
extern FindUserByRoleIdResponseDefaultTypeInternal _FindUserByRoleIdResponse_default_instance_;
class ListUserByRoleIdRequest;
struct ListUserByRoleIdRequestDefaultTypeInternal;
extern ListUserByRoleIdRequestDefaultTypeInternal _ListUserByRoleIdRequest_default_instance_;
class ListUserByRoleIdResponse;
struct ListUserByRoleIdResponseDefaultTypeInternal;
extern ListUserByRoleIdResponseDefaultTypeInternal _ListUserByRoleIdResponse_default_instance_;
class ListUserStatusRequest;
struct ListUserStatusRequestDefaultTypeInternal;
extern ListUserStatusRequestDefaultTypeInternal _ListUserStatusRequest_default_instance_;
class ListUserStatusResponse;
struct ListUserStatusResponseDefaultTypeInternal;
extern ListUserStatusResponseDefaultTypeInternal _ListUserStatusResponse_default_instance_;
class UserControlFindRequest;
struct UserControlFindRequestDefaultTypeInternal;
extern UserControlFindRequestDefaultTypeInternal _UserControlFindRequest_default_instance_;
class UserControlFindResponse;
struct UserControlFindResponseDefaultTypeInternal;
extern UserControlFindResponseDefaultTypeInternal _UserControlFindResponse_default_instance_;
class UserStatusItem;
struct UserStatusItemDefaultTypeInternal;
extern UserStatusItemDefaultTypeInternal _UserStatusItem_default_instance_;
class UserUpdateRequest;
struct UserUpdateRequestDefaultTypeInternal;
extern UserUpdateRequestDefaultTypeInternal _UserUpdateRequest_default_instance_;
class UserUpdateRequest_ExtraEntry_DoNotUse;
struct UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal;
extern UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal _UserUpdateRequest_ExtraEntry_DoNotUse_default_instance_;
class UserUpdateResponse;
struct UserUpdateResponseDefaultTypeInternal;
extern UserUpdateResponseDefaultTypeInternal _UserUpdateResponse_default_instance_;
}  // namespace user
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
PROTOBUF_NAMESPACE_OPEN
template<> ::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::user::ListUserStatusRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::ListUserStatusRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::user::ListUserStatusResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::ListUserStatusResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserControlFindRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserControlFindRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserControlFindResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserControlFindResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserStatusItem* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserStatusItem>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserUpdateRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserUpdateRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse>(Arena*);
template<> ::heroim::client::v3beta::dto::user::UserUpdateResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::user::UserUpdateResponse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace user {

// ===================================================================

class FindUserByRoleIdRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest) */ {
 public:
  inline FindUserByRoleIdRequest() : FindUserByRoleIdRequest(nullptr) {}
  ~FindUserByRoleIdRequest() override;
  explicit constexpr FindUserByRoleIdRequest(::herogoogle::protobuf::internal::ConstantInitialized);

  FindUserByRoleIdRequest(const FindUserByRoleIdRequest& from);
  FindUserByRoleIdRequest(FindUserByRoleIdRequest&& from) noexcept
    : FindUserByRoleIdRequest() {
    *this = ::std::move(from);
  }

  inline FindUserByRoleIdRequest& operator=(const FindUserByRoleIdRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline FindUserByRoleIdRequest& operator=(FindUserByRoleIdRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FindUserByRoleIdRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const FindUserByRoleIdRequest* internal_default_instance() {
    return reinterpret_cast<const FindUserByRoleIdRequest*>(
               &_FindUserByRoleIdRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(FindUserByRoleIdRequest& a, FindUserByRoleIdRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(FindUserByRoleIdRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FindUserByRoleIdRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline FindUserByRoleIdRequest* New() const final {
    return new FindUserByRoleIdRequest();
  }

  FindUserByRoleIdRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<FindUserByRoleIdRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const FindUserByRoleIdRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const FindUserByRoleIdRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FindUserByRoleIdRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.FindUserByRoleIdRequest";
  }
  protected:
  explicit FindUserByRoleIdRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBaseFieldNumber = 1,
    kUserKeyFieldNumber = 2,
  };
  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  bool has_userkey() const;
  private:
  bool _internal_has_userkey() const;
  public:
  void clear_userkey();
  const ::heroim::client::v3beta::dto::user::model::UserKey& userkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::UserKey* release_userkey();
  ::heroim::client::v3beta::dto::user::model::UserKey* mutable_userkey();
  void set_allocated_userkey(::heroim::client::v3beta::dto::user::model::UserKey* userkey);
  private:
  const ::heroim::client::v3beta::dto::user::model::UserKey& _internal_userkey() const;
  ::heroim::client::v3beta::dto::user::model::UserKey* _internal_mutable_userkey();
  public:
  void unsafe_arena_set_allocated_userkey(
      ::heroim::client::v3beta::dto::user::model::UserKey* userkey);
  ::heroim::client::v3beta::dto::user::model::UserKey* unsafe_arena_release_userkey();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::user::model::UserKey* userkey_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class FindUserByRoleIdResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse) */ {
 public:
  inline FindUserByRoleIdResponse() : FindUserByRoleIdResponse(nullptr) {}
  ~FindUserByRoleIdResponse() override;
  explicit constexpr FindUserByRoleIdResponse(::herogoogle::protobuf::internal::ConstantInitialized);

  FindUserByRoleIdResponse(const FindUserByRoleIdResponse& from);
  FindUserByRoleIdResponse(FindUserByRoleIdResponse&& from) noexcept
    : FindUserByRoleIdResponse() {
    *this = ::std::move(from);
  }

  inline FindUserByRoleIdResponse& operator=(const FindUserByRoleIdResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline FindUserByRoleIdResponse& operator=(FindUserByRoleIdResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FindUserByRoleIdResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const FindUserByRoleIdResponse* internal_default_instance() {
    return reinterpret_cast<const FindUserByRoleIdResponse*>(
               &_FindUserByRoleIdResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(FindUserByRoleIdResponse& a, FindUserByRoleIdResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(FindUserByRoleIdResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FindUserByRoleIdResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline FindUserByRoleIdResponse* New() const final {
    return new FindUserByRoleIdResponse();
  }

  FindUserByRoleIdResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<FindUserByRoleIdResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const FindUserByRoleIdResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const FindUserByRoleIdResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FindUserByRoleIdResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.FindUserByRoleIdResponse";
  }
  protected:
  explicit FindUserByRoleIdResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUserFieldNumber = 1,
  };
  // .heroim.client.v3beta.dto.user.model.User user = 1;
  bool has_user() const;
  private:
  bool _internal_has_user() const;
  public:
  void clear_user();
  const ::heroim::client::v3beta::dto::user::model::User& user() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::User* release_user();
  ::heroim::client::v3beta::dto::user::model::User* mutable_user();
  void set_allocated_user(::heroim::client::v3beta::dto::user::model::User* user);
  private:
  const ::heroim::client::v3beta::dto::user::model::User& _internal_user() const;
  ::heroim::client::v3beta::dto::user::model::User* _internal_mutable_user();
  public:
  void unsafe_arena_set_allocated_user(
      ::heroim::client::v3beta::dto::user::model::User* user);
  ::heroim::client::v3beta::dto::user::model::User* unsafe_arena_release_user();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::user::model::User* user_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class ListUserByRoleIdRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest) */ {
 public:
  inline ListUserByRoleIdRequest() : ListUserByRoleIdRequest(nullptr) {}
  ~ListUserByRoleIdRequest() override;
  explicit constexpr ListUserByRoleIdRequest(::herogoogle::protobuf::internal::ConstantInitialized);

  ListUserByRoleIdRequest(const ListUserByRoleIdRequest& from);
  ListUserByRoleIdRequest(ListUserByRoleIdRequest&& from) noexcept
    : ListUserByRoleIdRequest() {
    *this = ::std::move(from);
  }

  inline ListUserByRoleIdRequest& operator=(const ListUserByRoleIdRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListUserByRoleIdRequest& operator=(ListUserByRoleIdRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListUserByRoleIdRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ListUserByRoleIdRequest* internal_default_instance() {
    return reinterpret_cast<const ListUserByRoleIdRequest*>(
               &_ListUserByRoleIdRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(ListUserByRoleIdRequest& a, ListUserByRoleIdRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(ListUserByRoleIdRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListUserByRoleIdRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ListUserByRoleIdRequest* New() const final {
    return new ListUserByRoleIdRequest();
  }

  ListUserByRoleIdRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<ListUserByRoleIdRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const ListUserByRoleIdRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const ListUserByRoleIdRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ListUserByRoleIdRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.ListUserByRoleIdRequest";
  }
  protected:
  explicit ListUserByRoleIdRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUsersFieldNumber = 2,
    kBaseFieldNumber = 1,
  };
  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  int users_size() const;
  private:
  int _internal_users_size() const;
  public:
  void clear_users();
  ::heroim::client::v3beta::dto::user::model::UserKey* mutable_users(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >*
      mutable_users();
  private:
  const ::heroim::client::v3beta::dto::user::model::UserKey& _internal_users(int index) const;
  ::heroim::client::v3beta::dto::user::model::UserKey* _internal_add_users();
  public:
  const ::heroim::client::v3beta::dto::user::model::UserKey& users(int index) const;
  ::heroim::client::v3beta::dto::user::model::UserKey* add_users();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >&
      users() const;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey > users_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class ListUserByRoleIdResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse) */ {
 public:
  inline ListUserByRoleIdResponse() : ListUserByRoleIdResponse(nullptr) {}
  ~ListUserByRoleIdResponse() override;
  explicit constexpr ListUserByRoleIdResponse(::herogoogle::protobuf::internal::ConstantInitialized);

  ListUserByRoleIdResponse(const ListUserByRoleIdResponse& from);
  ListUserByRoleIdResponse(ListUserByRoleIdResponse&& from) noexcept
    : ListUserByRoleIdResponse() {
    *this = ::std::move(from);
  }

  inline ListUserByRoleIdResponse& operator=(const ListUserByRoleIdResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListUserByRoleIdResponse& operator=(ListUserByRoleIdResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListUserByRoleIdResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ListUserByRoleIdResponse* internal_default_instance() {
    return reinterpret_cast<const ListUserByRoleIdResponse*>(
               &_ListUserByRoleIdResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(ListUserByRoleIdResponse& a, ListUserByRoleIdResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(ListUserByRoleIdResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListUserByRoleIdResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ListUserByRoleIdResponse* New() const final {
    return new ListUserByRoleIdResponse();
  }

  ListUserByRoleIdResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<ListUserByRoleIdResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const ListUserByRoleIdResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const ListUserByRoleIdResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ListUserByRoleIdResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.ListUserByRoleIdResponse";
  }
  protected:
  explicit ListUserByRoleIdResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kListFieldNumber = 1,
  };
  // repeated .heroim.client.v3beta.dto.user.model.User list = 1;
  int list_size() const;
  private:
  int _internal_list_size() const;
  public:
  void clear_list();
  ::heroim::client::v3beta::dto::user::model::User* mutable_list(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::User >*
      mutable_list();
  private:
  const ::heroim::client::v3beta::dto::user::model::User& _internal_list(int index) const;
  ::heroim::client::v3beta::dto::user::model::User* _internal_add_list();
  public:
  const ::heroim::client::v3beta::dto::user::model::User& list(int index) const;
  ::heroim::client::v3beta::dto::user::model::User* add_list();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::User >&
      list() const;

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::User > list_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class ListUserStatusRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.ListUserStatusRequest) */ {
 public:
  inline ListUserStatusRequest() : ListUserStatusRequest(nullptr) {}
  ~ListUserStatusRequest() override;
  explicit constexpr ListUserStatusRequest(::herogoogle::protobuf::internal::ConstantInitialized);

  ListUserStatusRequest(const ListUserStatusRequest& from);
  ListUserStatusRequest(ListUserStatusRequest&& from) noexcept
    : ListUserStatusRequest() {
    *this = ::std::move(from);
  }

  inline ListUserStatusRequest& operator=(const ListUserStatusRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListUserStatusRequest& operator=(ListUserStatusRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListUserStatusRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ListUserStatusRequest* internal_default_instance() {
    return reinterpret_cast<const ListUserStatusRequest*>(
               &_ListUserStatusRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(ListUserStatusRequest& a, ListUserStatusRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(ListUserStatusRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListUserStatusRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ListUserStatusRequest* New() const final {
    return new ListUserStatusRequest();
  }

  ListUserStatusRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<ListUserStatusRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const ListUserStatusRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const ListUserStatusRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ListUserStatusRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.ListUserStatusRequest";
  }
  protected:
  explicit ListUserStatusRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUsersFieldNumber = 2,
    kBaseFieldNumber = 1,
  };
  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  int users_size() const;
  private:
  int _internal_users_size() const;
  public:
  void clear_users();
  ::heroim::client::v3beta::dto::user::model::UserKey* mutable_users(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >*
      mutable_users();
  private:
  const ::heroim::client::v3beta::dto::user::model::UserKey& _internal_users(int index) const;
  ::heroim::client::v3beta::dto::user::model::UserKey* _internal_add_users();
  public:
  const ::heroim::client::v3beta::dto::user::model::UserKey& users(int index) const;
  ::heroim::client::v3beta::dto::user::model::UserKey* add_users();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >&
      users() const;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.ListUserStatusRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey > users_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class ListUserStatusResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.ListUserStatusResponse) */ {
 public:
  inline ListUserStatusResponse() : ListUserStatusResponse(nullptr) {}
  ~ListUserStatusResponse() override;
  explicit constexpr ListUserStatusResponse(::herogoogle::protobuf::internal::ConstantInitialized);

  ListUserStatusResponse(const ListUserStatusResponse& from);
  ListUserStatusResponse(ListUserStatusResponse&& from) noexcept
    : ListUserStatusResponse() {
    *this = ::std::move(from);
  }

  inline ListUserStatusResponse& operator=(const ListUserStatusResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListUserStatusResponse& operator=(ListUserStatusResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ListUserStatusResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ListUserStatusResponse* internal_default_instance() {
    return reinterpret_cast<const ListUserStatusResponse*>(
               &_ListUserStatusResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(ListUserStatusResponse& a, ListUserStatusResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(ListUserStatusResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListUserStatusResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ListUserStatusResponse* New() const final {
    return new ListUserStatusResponse();
  }

  ListUserStatusResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<ListUserStatusResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const ListUserStatusResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const ListUserStatusResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ListUserStatusResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.ListUserStatusResponse";
  }
  protected:
  explicit ListUserStatusResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kListFieldNumber = 1,
  };
  // repeated .heroim.client.v3beta.dto.user.UserStatusItem list = 1;
  int list_size() const;
  private:
  int _internal_list_size() const;
  public:
  void clear_list();
  ::heroim::client::v3beta::dto::user::UserStatusItem* mutable_list(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::UserStatusItem >*
      mutable_list();
  private:
  const ::heroim::client::v3beta::dto::user::UserStatusItem& _internal_list(int index) const;
  ::heroim::client::v3beta::dto::user::UserStatusItem* _internal_add_list();
  public:
  const ::heroim::client::v3beta::dto::user::UserStatusItem& list(int index) const;
  ::heroim::client::v3beta::dto::user::UserStatusItem* add_list();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::UserStatusItem >&
      list() const;

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.ListUserStatusResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::UserStatusItem > list_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class UserStatusItem final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.UserStatusItem) */ {
 public:
  inline UserStatusItem() : UserStatusItem(nullptr) {}
  ~UserStatusItem() override;
  explicit constexpr UserStatusItem(::herogoogle::protobuf::internal::ConstantInitialized);

  UserStatusItem(const UserStatusItem& from);
  UserStatusItem(UserStatusItem&& from) noexcept
    : UserStatusItem() {
    *this = ::std::move(from);
  }

  inline UserStatusItem& operator=(const UserStatusItem& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserStatusItem& operator=(UserStatusItem&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UserStatusItem& default_instance() {
    return *internal_default_instance();
  }
  static inline const UserStatusItem* internal_default_instance() {
    return reinterpret_cast<const UserStatusItem*>(
               &_UserStatusItem_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(UserStatusItem& a, UserStatusItem& b) {
    a.Swap(&b);
  }
  inline void Swap(UserStatusItem* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserStatusItem* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline UserStatusItem* New() const final {
    return new UserStatusItem();
  }

  UserStatusItem* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<UserStatusItem>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const UserStatusItem& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const UserStatusItem& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UserStatusItem* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.UserStatusItem";
  }
  protected:
  explicit UserStatusItem(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kMessageFieldNumber = 4,
    kUserKeyFieldNumber = 1,
    kStatusFieldNumber = 2,
    kCodeFieldNumber = 3,
  };
  // string message = 4;
  void clear_message();
  const std::string& message() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_message(ArgT0&& arg0, ArgT... args);
  std::string* mutable_message();
  PROTOBUF_MUST_USE_RESULT std::string* release_message();
  void set_allocated_message(std::string* message);
  private:
  const std::string& _internal_message() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_message(const std::string& value);
  std::string* _internal_mutable_message();
  public:

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
  bool has_userkey() const;
  private:
  bool _internal_has_userkey() const;
  public:
  void clear_userkey();
  const ::heroim::client::v3beta::dto::user::model::UserKey& userkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::UserKey* release_userkey();
  ::heroim::client::v3beta::dto::user::model::UserKey* mutable_userkey();
  void set_allocated_userkey(::heroim::client::v3beta::dto::user::model::UserKey* userkey);
  private:
  const ::heroim::client::v3beta::dto::user::model::UserKey& _internal_userkey() const;
  ::heroim::client::v3beta::dto::user::model::UserKey* _internal_mutable_userkey();
  public:
  void unsafe_arena_set_allocated_userkey(
      ::heroim::client::v3beta::dto::user::model::UserKey* userkey);
  ::heroim::client::v3beta::dto::user::model::UserKey* unsafe_arena_release_userkey();

  // .heroim.client.v3beta.dto.user.model.UserStatus status = 2;
  bool has_status() const;
  private:
  bool _internal_has_status() const;
  public:
  void clear_status();
  const ::heroim::client::v3beta::dto::user::model::UserStatus& status() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::UserStatus* release_status();
  ::heroim::client::v3beta::dto::user::model::UserStatus* mutable_status();
  void set_allocated_status(::heroim::client::v3beta::dto::user::model::UserStatus* status);
  private:
  const ::heroim::client::v3beta::dto::user::model::UserStatus& _internal_status() const;
  ::heroim::client::v3beta::dto::user::model::UserStatus* _internal_mutable_status();
  public:
  void unsafe_arena_set_allocated_status(
      ::heroim::client::v3beta::dto::user::model::UserStatus* status);
  ::heroim::client::v3beta::dto::user::model::UserStatus* unsafe_arena_release_status();

  // int32 code = 3;
  void clear_code();
  ::herogoogle::protobuf::int32 code() const;
  void set_code(::herogoogle::protobuf::int32 value);
  private:
  ::herogoogle::protobuf::int32 _internal_code() const;
  void _internal_set_code(::herogoogle::protobuf::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.UserStatusItem)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::ArenaStringPtr message_;
  ::heroim::client::v3beta::dto::user::model::UserKey* userkey_;
  ::heroim::client::v3beta::dto::user::model::UserStatus* status_;
  ::herogoogle::protobuf::int32 code_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class UserUpdateRequest_ExtraEntry_DoNotUse : public ::herogoogle::protobuf::internal::MapEntry<UserUpdateRequest_ExtraEntry_DoNotUse, 
    std::string, std::string,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::herogoogle::protobuf::internal::MapEntry<UserUpdateRequest_ExtraEntry_DoNotUse, 
    std::string, std::string,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> SuperType;
  UserUpdateRequest_ExtraEntry_DoNotUse();
  explicit constexpr UserUpdateRequest_ExtraEntry_DoNotUse(
      ::herogoogle::protobuf::internal::ConstantInitialized);
  explicit UserUpdateRequest_ExtraEntry_DoNotUse(::herogoogle::protobuf::Arena* arena);
  void MergeFrom(const UserUpdateRequest_ExtraEntry_DoNotUse& other);
  static const UserUpdateRequest_ExtraEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const UserUpdateRequest_ExtraEntry_DoNotUse*>(&_UserUpdateRequest_ExtraEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::herogoogle::protobuf::internal::WireFormatLite::PARSE, "heroim.client.v3beta.dto.user.UserUpdateRequest.ExtraEntry.key");
 }
  static bool ValidateValue(std::string* s) {
    return ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::herogoogle::protobuf::internal::WireFormatLite::PARSE, "heroim.client.v3beta.dto.user.UserUpdateRequest.ExtraEntry.value");
 }
  using ::herogoogle::protobuf::Message::MergeFrom;
  ::herogoogle::protobuf::Metadata GetMetadata() const final;
};

// -------------------------------------------------------------------

class UserUpdateRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.UserUpdateRequest) */ {
 public:
  inline UserUpdateRequest() : UserUpdateRequest(nullptr) {}
  ~UserUpdateRequest() override;
  explicit constexpr UserUpdateRequest(::herogoogle::protobuf::internal::ConstantInitialized);

  UserUpdateRequest(const UserUpdateRequest& from);
  UserUpdateRequest(UserUpdateRequest&& from) noexcept
    : UserUpdateRequest() {
    *this = ::std::move(from);
  }

  inline UserUpdateRequest& operator=(const UserUpdateRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserUpdateRequest& operator=(UserUpdateRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UserUpdateRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const UserUpdateRequest* internal_default_instance() {
    return reinterpret_cast<const UserUpdateRequest*>(
               &_UserUpdateRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(UserUpdateRequest& a, UserUpdateRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(UserUpdateRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserUpdateRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline UserUpdateRequest* New() const final {
    return new UserUpdateRequest();
  }

  UserUpdateRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<UserUpdateRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const UserUpdateRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const UserUpdateRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UserUpdateRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.UserUpdateRequest";
  }
  protected:
  explicit UserUpdateRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------


  // accessors -------------------------------------------------------

  enum : int {
    kExtraFieldNumber = 5,
    kRoleNameFieldNumber = 2,
    kAvatarUrlFieldNumber = 3,
    kBaseFieldNumber = 1,
    kGenderFieldNumber = 4,
  };
  // map<string, string> extra = 5;
  int extra_size() const;
  private:
  int _internal_extra_size() const;
  public:
  void clear_extra();
  private:
  const ::herogoogle::protobuf::Map< std::string, std::string >&
      _internal_extra() const;
  ::herogoogle::protobuf::Map< std::string, std::string >*
      _internal_mutable_extra();
  public:
  const ::herogoogle::protobuf::Map< std::string, std::string >&
      extra() const;
  ::herogoogle::protobuf::Map< std::string, std::string >*
      mutable_extra();

  // string roleName = 2;
  void clear_rolename();
  const std::string& rolename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_rolename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_rolename();
  PROTOBUF_MUST_USE_RESULT std::string* release_rolename();
  void set_allocated_rolename(std::string* rolename);
  private:
  const std::string& _internal_rolename() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_rolename(const std::string& value);
  std::string* _internal_mutable_rolename();
  public:

  // string avatarUrl = 3;
  void clear_avatarurl();
  const std::string& avatarurl() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_avatarurl(ArgT0&& arg0, ArgT... args);
  std::string* mutable_avatarurl();
  PROTOBUF_MUST_USE_RESULT std::string* release_avatarurl();
  void set_allocated_avatarurl(std::string* avatarurl);
  private:
  const std::string& _internal_avatarurl() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_avatarurl(const std::string& value);
  std::string* _internal_mutable_avatarurl();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.user.model.Gender gender = 4;
  void clear_gender();
  ::heroim::client::v3beta::dto::user::model::Gender gender() const;
  void set_gender(::heroim::client::v3beta::dto::user::model::Gender value);
  private:
  ::heroim::client::v3beta::dto::user::model::Gender _internal_gender() const;
  void _internal_set_gender(::heroim::client::v3beta::dto::user::model::Gender value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.UserUpdateRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::MapField<
      UserUpdateRequest_ExtraEntry_DoNotUse,
      std::string, std::string,
      ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> extra_;
  ::herogoogle::protobuf::internal::ArenaStringPtr rolename_;
  ::herogoogle::protobuf::internal::ArenaStringPtr avatarurl_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  int gender_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class UserUpdateResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.UserUpdateResponse) */ {
 public:
  inline UserUpdateResponse() : UserUpdateResponse(nullptr) {}
  ~UserUpdateResponse() override;
  explicit constexpr UserUpdateResponse(::herogoogle::protobuf::internal::ConstantInitialized);

  UserUpdateResponse(const UserUpdateResponse& from);
  UserUpdateResponse(UserUpdateResponse&& from) noexcept
    : UserUpdateResponse() {
    *this = ::std::move(from);
  }

  inline UserUpdateResponse& operator=(const UserUpdateResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserUpdateResponse& operator=(UserUpdateResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UserUpdateResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const UserUpdateResponse* internal_default_instance() {
    return reinterpret_cast<const UserUpdateResponse*>(
               &_UserUpdateResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(UserUpdateResponse& a, UserUpdateResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(UserUpdateResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserUpdateResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline UserUpdateResponse* New() const final {
    return new UserUpdateResponse();
  }

  UserUpdateResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<UserUpdateResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const UserUpdateResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const UserUpdateResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UserUpdateResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.UserUpdateResponse";
  }
  protected:
  explicit UserUpdateResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUserFieldNumber = 1,
  };
  // .heroim.client.v3beta.dto.user.model.User user = 1;
  bool has_user() const;
  private:
  bool _internal_has_user() const;
  public:
  void clear_user();
  const ::heroim::client::v3beta::dto::user::model::User& user() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::User* release_user();
  ::heroim::client::v3beta::dto::user::model::User* mutable_user();
  void set_allocated_user(::heroim::client::v3beta::dto::user::model::User* user);
  private:
  const ::heroim::client::v3beta::dto::user::model::User& _internal_user() const;
  ::heroim::client::v3beta::dto::user::model::User* _internal_mutable_user();
  public:
  void unsafe_arena_set_allocated_user(
      ::heroim::client::v3beta::dto::user::model::User* user);
  ::heroim::client::v3beta::dto::user::model::User* unsafe_arena_release_user();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.UserUpdateResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::user::model::User* user_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class UserControlFindRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.UserControlFindRequest) */ {
 public:
  inline UserControlFindRequest() : UserControlFindRequest(nullptr) {}
  ~UserControlFindRequest() override;
  explicit constexpr UserControlFindRequest(::herogoogle::protobuf::internal::ConstantInitialized);

  UserControlFindRequest(const UserControlFindRequest& from);
  UserControlFindRequest(UserControlFindRequest&& from) noexcept
    : UserControlFindRequest() {
    *this = ::std::move(from);
  }

  inline UserControlFindRequest& operator=(const UserControlFindRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserControlFindRequest& operator=(UserControlFindRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UserControlFindRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const UserControlFindRequest* internal_default_instance() {
    return reinterpret_cast<const UserControlFindRequest*>(
               &_UserControlFindRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(UserControlFindRequest& a, UserControlFindRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(UserControlFindRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserControlFindRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline UserControlFindRequest* New() const final {
    return new UserControlFindRequest();
  }

  UserControlFindRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<UserControlFindRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const UserControlFindRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const UserControlFindRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UserControlFindRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.UserControlFindRequest";
  }
  protected:
  explicit UserControlFindRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBaseFieldNumber = 1,
  };
  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.UserControlFindRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// -------------------------------------------------------------------

class UserControlFindResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.user.UserControlFindResponse) */ {
 public:
  inline UserControlFindResponse() : UserControlFindResponse(nullptr) {}
  ~UserControlFindResponse() override;
  explicit constexpr UserControlFindResponse(::herogoogle::protobuf::internal::ConstantInitialized);

  UserControlFindResponse(const UserControlFindResponse& from);
  UserControlFindResponse(UserControlFindResponse&& from) noexcept
    : UserControlFindResponse() {
    *this = ::std::move(from);
  }

  inline UserControlFindResponse& operator=(const UserControlFindResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline UserControlFindResponse& operator=(UserControlFindResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::herogoogle::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::herogoogle::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::herogoogle::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UserControlFindResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const UserControlFindResponse* internal_default_instance() {
    return reinterpret_cast<const UserControlFindResponse*>(
               &_UserControlFindResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(UserControlFindResponse& a, UserControlFindResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(UserControlFindResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserControlFindResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline UserControlFindResponse* New() const final {
    return new UserControlFindResponse();
  }

  UserControlFindResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<UserControlFindResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const UserControlFindResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const UserControlFindResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) final;
  ::herogoogle::protobuf::uint8* _InternalSerialize(
      ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UserControlFindResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.user.UserControlFindResponse";
  }
  protected:
  explicit UserControlFindResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::herogoogle::protobuf::Message::ClassData*GetClassData() const final;

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDetailFieldNumber = 3,
    kMessageFieldNumber = 1,
    kTalkFieldNumber = 2,
  };
  // .heroim.client.v3beta.dto.user.model.UserControl detail = 3;
  bool has_detail() const;
  private:
  bool _internal_has_detail() const;
  public:
  void clear_detail();
  const ::heroim::client::v3beta::dto::user::model::UserControl& detail() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::user::model::UserControl* release_detail();
  ::heroim::client::v3beta::dto::user::model::UserControl* mutable_detail();
  void set_allocated_detail(::heroim::client::v3beta::dto::user::model::UserControl* detail);
  private:
  const ::heroim::client::v3beta::dto::user::model::UserControl& _internal_detail() const;
  ::heroim::client::v3beta::dto::user::model::UserControl* _internal_mutable_detail();
  public:
  void unsafe_arena_set_allocated_detail(
      ::heroim::client::v3beta::dto::user::model::UserControl* detail);
  ::heroim::client::v3beta::dto::user::model::UserControl* unsafe_arena_release_detail();

  // int32 message = 1;
  void clear_message();
  ::herogoogle::protobuf::int32 message() const;
  void set_message(::herogoogle::protobuf::int32 value);
  private:
  ::herogoogle::protobuf::int32 _internal_message() const;
  void _internal_set_message(::herogoogle::protobuf::int32 value);
  public:

  // int32 talk = 2;
  void clear_talk();
  ::herogoogle::protobuf::int32 talk() const;
  void set_talk(::herogoogle::protobuf::int32 value);
  private:
  ::herogoogle::protobuf::int32 _internal_talk() const;
  void _internal_set_talk(::herogoogle::protobuf::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.user.UserControlFindResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::user::model::UserControl* detail_;
  ::herogoogle::protobuf::int32 message_;
  ::herogoogle::protobuf::int32 talk_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// FindUserByRoleIdRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool FindUserByRoleIdRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool FindUserByRoleIdRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& FindUserByRoleIdRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& FindUserByRoleIdRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.base)
  return _internal_base();
}
inline void FindUserByRoleIdRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* FindUserByRoleIdRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* FindUserByRoleIdRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* FindUserByRoleIdRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* FindUserByRoleIdRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.base)
  return _msg;
}
inline void FindUserByRoleIdRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.base)
}

// .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
inline bool FindUserByRoleIdRequest::_internal_has_userkey() const {
  return this != internal_default_instance() && userkey_ != nullptr;
}
inline bool FindUserByRoleIdRequest::has_userkey() const {
  return _internal_has_userkey();
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& FindUserByRoleIdRequest::_internal_userkey() const {
  const ::heroim::client::v3beta::dto::user::model::UserKey* p = userkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::UserKey&>(
      ::heroim::client::v3beta::dto::user::model::_UserKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& FindUserByRoleIdRequest::userkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.userKey)
  return _internal_userkey();
}
inline void FindUserByRoleIdRequest::unsafe_arena_set_allocated_userkey(
    ::heroim::client::v3beta::dto::user::model::UserKey* userkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(userkey_);
  }
  userkey_ = userkey;
  if (userkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.userKey)
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* FindUserByRoleIdRequest::release_userkey() {
  
  ::heroim::client::v3beta::dto::user::model::UserKey* temp = userkey_;
  userkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* FindUserByRoleIdRequest::unsafe_arena_release_userkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.userKey)
  
  ::heroim::client::v3beta::dto::user::model::UserKey* temp = userkey_;
  userkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* FindUserByRoleIdRequest::_internal_mutable_userkey() {
  
  if (userkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::UserKey>(GetArenaForAllocation());
    userkey_ = p;
  }
  return userkey_;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* FindUserByRoleIdRequest::mutable_userkey() {
  ::heroim::client::v3beta::dto::user::model::UserKey* _msg = _internal_mutable_userkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.userKey)
  return _msg;
}
inline void FindUserByRoleIdRequest::set_allocated_userkey(::heroim::client::v3beta::dto::user::model::UserKey* userkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(userkey_);
  }
  if (userkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(userkey));
    if (message_arena != submessage_arena) {
      userkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, userkey, submessage_arena);
    }
    
  } else {
    
  }
  userkey_ = userkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest.userKey)
}

// -------------------------------------------------------------------

// FindUserByRoleIdResponse

// .heroim.client.v3beta.dto.user.model.User user = 1;
inline bool FindUserByRoleIdResponse::_internal_has_user() const {
  return this != internal_default_instance() && user_ != nullptr;
}
inline bool FindUserByRoleIdResponse::has_user() const {
  return _internal_has_user();
}
inline const ::heroim::client::v3beta::dto::user::model::User& FindUserByRoleIdResponse::_internal_user() const {
  const ::heroim::client::v3beta::dto::user::model::User* p = user_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::User&>(
      ::heroim::client::v3beta::dto::user::model::_User_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::User& FindUserByRoleIdResponse::user() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse.user)
  return _internal_user();
}
inline void FindUserByRoleIdResponse::unsafe_arena_set_allocated_user(
    ::heroim::client::v3beta::dto::user::model::User* user) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(user_);
  }
  user_ = user;
  if (user) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse.user)
}
inline ::heroim::client::v3beta::dto::user::model::User* FindUserByRoleIdResponse::release_user() {
  
  ::heroim::client::v3beta::dto::user::model::User* temp = user_;
  user_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::User* FindUserByRoleIdResponse::unsafe_arena_release_user() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse.user)
  
  ::heroim::client::v3beta::dto::user::model::User* temp = user_;
  user_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::User* FindUserByRoleIdResponse::_internal_mutable_user() {
  
  if (user_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::User>(GetArenaForAllocation());
    user_ = p;
  }
  return user_;
}
inline ::heroim::client::v3beta::dto::user::model::User* FindUserByRoleIdResponse::mutable_user() {
  ::heroim::client::v3beta::dto::user::model::User* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse.user)
  return _msg;
}
inline void FindUserByRoleIdResponse::set_allocated_user(::heroim::client::v3beta::dto::user::model::User* user) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(user_);
  }
  if (user) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(user));
    if (message_arena != submessage_arena) {
      user = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, user, submessage_arena);
    }
    
  } else {
    
  }
  user_ = user;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse.user)
}

// -------------------------------------------------------------------

// ListUserByRoleIdRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool ListUserByRoleIdRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool ListUserByRoleIdRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& ListUserByRoleIdRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& ListUserByRoleIdRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.base)
  return _internal_base();
}
inline void ListUserByRoleIdRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserByRoleIdRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserByRoleIdRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserByRoleIdRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserByRoleIdRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.base)
  return _msg;
}
inline void ListUserByRoleIdRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.base)
}

// repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
inline int ListUserByRoleIdRequest::_internal_users_size() const {
  return users_.size();
}
inline int ListUserByRoleIdRequest::users_size() const {
  return _internal_users_size();
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserByRoleIdRequest::mutable_users(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.users)
  return users_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >*
ListUserByRoleIdRequest::mutable_users() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.users)
  return &users_;
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& ListUserByRoleIdRequest::_internal_users(int index) const {
  return users_.Get(index);
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& ListUserByRoleIdRequest::users(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.users)
  return _internal_users(index);
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserByRoleIdRequest::_internal_add_users() {
  return users_.Add();
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserByRoleIdRequest::add_users() {
  ::heroim::client::v3beta::dto::user::model::UserKey* _add = _internal_add_users();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.users)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >&
ListUserByRoleIdRequest::users() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest.users)
  return users_;
}

// -------------------------------------------------------------------

// ListUserByRoleIdResponse

// repeated .heroim.client.v3beta.dto.user.model.User list = 1;
inline int ListUserByRoleIdResponse::_internal_list_size() const {
  return list_.size();
}
inline int ListUserByRoleIdResponse::list_size() const {
  return _internal_list_size();
}
inline ::heroim::client::v3beta::dto::user::model::User* ListUserByRoleIdResponse::mutable_list(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse.list)
  return list_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::User >*
ListUserByRoleIdResponse::mutable_list() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse.list)
  return &list_;
}
inline const ::heroim::client::v3beta::dto::user::model::User& ListUserByRoleIdResponse::_internal_list(int index) const {
  return list_.Get(index);
}
inline const ::heroim::client::v3beta::dto::user::model::User& ListUserByRoleIdResponse::list(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse.list)
  return _internal_list(index);
}
inline ::heroim::client::v3beta::dto::user::model::User* ListUserByRoleIdResponse::_internal_add_list() {
  return list_.Add();
}
inline ::heroim::client::v3beta::dto::user::model::User* ListUserByRoleIdResponse::add_list() {
  ::heroim::client::v3beta::dto::user::model::User* _add = _internal_add_list();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse.list)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::User >&
ListUserByRoleIdResponse::list() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse.list)
  return list_;
}

// -------------------------------------------------------------------

// ListUserStatusRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool ListUserStatusRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool ListUserStatusRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& ListUserStatusRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& ListUserStatusRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserStatusRequest.base)
  return _internal_base();
}
inline void ListUserStatusRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.ListUserStatusRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserStatusRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserStatusRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.ListUserStatusRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserStatusRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* ListUserStatusRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserStatusRequest.base)
  return _msg;
}
inline void ListUserStatusRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.ListUserStatusRequest.base)
}

// repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
inline int ListUserStatusRequest::_internal_users_size() const {
  return users_.size();
}
inline int ListUserStatusRequest::users_size() const {
  return _internal_users_size();
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserStatusRequest::mutable_users(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserStatusRequest.users)
  return users_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >*
ListUserStatusRequest::mutable_users() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.user.ListUserStatusRequest.users)
  return &users_;
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& ListUserStatusRequest::_internal_users(int index) const {
  return users_.Get(index);
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& ListUserStatusRequest::users(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserStatusRequest.users)
  return _internal_users(index);
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserStatusRequest::_internal_add_users() {
  return users_.Add();
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* ListUserStatusRequest::add_users() {
  ::heroim::client::v3beta::dto::user::model::UserKey* _add = _internal_add_users();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.user.ListUserStatusRequest.users)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::model::UserKey >&
ListUserStatusRequest::users() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.user.ListUserStatusRequest.users)
  return users_;
}

// -------------------------------------------------------------------

// ListUserStatusResponse

// repeated .heroim.client.v3beta.dto.user.UserStatusItem list = 1;
inline int ListUserStatusResponse::_internal_list_size() const {
  return list_.size();
}
inline int ListUserStatusResponse::list_size() const {
  return _internal_list_size();
}
inline void ListUserStatusResponse::clear_list() {
  list_.Clear();
}
inline ::heroim::client::v3beta::dto::user::UserStatusItem* ListUserStatusResponse::mutable_list(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.ListUserStatusResponse.list)
  return list_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::UserStatusItem >*
ListUserStatusResponse::mutable_list() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.user.ListUserStatusResponse.list)
  return &list_;
}
inline const ::heroim::client::v3beta::dto::user::UserStatusItem& ListUserStatusResponse::_internal_list(int index) const {
  return list_.Get(index);
}
inline const ::heroim::client::v3beta::dto::user::UserStatusItem& ListUserStatusResponse::list(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.ListUserStatusResponse.list)
  return _internal_list(index);
}
inline ::heroim::client::v3beta::dto::user::UserStatusItem* ListUserStatusResponse::_internal_add_list() {
  return list_.Add();
}
inline ::heroim::client::v3beta::dto::user::UserStatusItem* ListUserStatusResponse::add_list() {
  ::heroim::client::v3beta::dto::user::UserStatusItem* _add = _internal_add_list();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.user.ListUserStatusResponse.list)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::user::UserStatusItem >&
ListUserStatusResponse::list() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.user.ListUserStatusResponse.list)
  return list_;
}

// -------------------------------------------------------------------

// UserStatusItem

// .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
inline bool UserStatusItem::_internal_has_userkey() const {
  return this != internal_default_instance() && userkey_ != nullptr;
}
inline bool UserStatusItem::has_userkey() const {
  return _internal_has_userkey();
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& UserStatusItem::_internal_userkey() const {
  const ::heroim::client::v3beta::dto::user::model::UserKey* p = userkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::UserKey&>(
      ::heroim::client::v3beta::dto::user::model::_UserKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::UserKey& UserStatusItem::userkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserStatusItem.userKey)
  return _internal_userkey();
}
inline void UserStatusItem::unsafe_arena_set_allocated_userkey(
    ::heroim::client::v3beta::dto::user::model::UserKey* userkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(userkey_);
  }
  userkey_ = userkey;
  if (userkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserStatusItem.userKey)
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* UserStatusItem::release_userkey() {
  
  ::heroim::client::v3beta::dto::user::model::UserKey* temp = userkey_;
  userkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* UserStatusItem::unsafe_arena_release_userkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserStatusItem.userKey)
  
  ::heroim::client::v3beta::dto::user::model::UserKey* temp = userkey_;
  userkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* UserStatusItem::_internal_mutable_userkey() {
  
  if (userkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::UserKey>(GetArenaForAllocation());
    userkey_ = p;
  }
  return userkey_;
}
inline ::heroim::client::v3beta::dto::user::model::UserKey* UserStatusItem::mutable_userkey() {
  ::heroim::client::v3beta::dto::user::model::UserKey* _msg = _internal_mutable_userkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserStatusItem.userKey)
  return _msg;
}
inline void UserStatusItem::set_allocated_userkey(::heroim::client::v3beta::dto::user::model::UserKey* userkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(userkey_);
  }
  if (userkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(userkey));
    if (message_arena != submessage_arena) {
      userkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, userkey, submessage_arena);
    }
    
  } else {
    
  }
  userkey_ = userkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserStatusItem.userKey)
}

// .heroim.client.v3beta.dto.user.model.UserStatus status = 2;
inline bool UserStatusItem::_internal_has_status() const {
  return this != internal_default_instance() && status_ != nullptr;
}
inline bool UserStatusItem::has_status() const {
  return _internal_has_status();
}
inline const ::heroim::client::v3beta::dto::user::model::UserStatus& UserStatusItem::_internal_status() const {
  const ::heroim::client::v3beta::dto::user::model::UserStatus* p = status_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::UserStatus&>(
      ::heroim::client::v3beta::dto::user::model::_UserStatus_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::UserStatus& UserStatusItem::status() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserStatusItem.status)
  return _internal_status();
}
inline void UserStatusItem::unsafe_arena_set_allocated_status(
    ::heroim::client::v3beta::dto::user::model::UserStatus* status) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(status_);
  }
  status_ = status;
  if (status) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserStatusItem.status)
}
inline ::heroim::client::v3beta::dto::user::model::UserStatus* UserStatusItem::release_status() {
  
  ::heroim::client::v3beta::dto::user::model::UserStatus* temp = status_;
  status_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserStatus* UserStatusItem::unsafe_arena_release_status() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserStatusItem.status)
  
  ::heroim::client::v3beta::dto::user::model::UserStatus* temp = status_;
  status_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserStatus* UserStatusItem::_internal_mutable_status() {
  
  if (status_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::UserStatus>(GetArenaForAllocation());
    status_ = p;
  }
  return status_;
}
inline ::heroim::client::v3beta::dto::user::model::UserStatus* UserStatusItem::mutable_status() {
  ::heroim::client::v3beta::dto::user::model::UserStatus* _msg = _internal_mutable_status();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserStatusItem.status)
  return _msg;
}
inline void UserStatusItem::set_allocated_status(::heroim::client::v3beta::dto::user::model::UserStatus* status) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(status_);
  }
  if (status) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(status));
    if (message_arena != submessage_arena) {
      status = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, status, submessage_arena);
    }
    
  } else {
    
  }
  status_ = status;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserStatusItem.status)
}

// int32 code = 3;
inline void UserStatusItem::clear_code() {
  code_ = 0;
}
inline ::herogoogle::protobuf::int32 UserStatusItem::_internal_code() const {
  return code_;
}
inline ::herogoogle::protobuf::int32 UserStatusItem::code() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserStatusItem.code)
  return _internal_code();
}
inline void UserStatusItem::_internal_set_code(::herogoogle::protobuf::int32 value) {
  
  code_ = value;
}
inline void UserStatusItem::set_code(::herogoogle::protobuf::int32 value) {
  _internal_set_code(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserStatusItem.code)
}

// string message = 4;
inline void UserStatusItem::clear_message() {
  message_.ClearToEmpty();
}
inline const std::string& UserStatusItem::message() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserStatusItem.message)
  return _internal_message();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void UserStatusItem::set_message(ArgT0&& arg0, ArgT... args) {
 
 message_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserStatusItem.message)
}
inline std::string* UserStatusItem::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserStatusItem.message)
  return _s;
}
inline const std::string& UserStatusItem::_internal_message() const {
  return message_.Get();
}
inline void UserStatusItem::_internal_set_message(const std::string& value) {
  
  message_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* UserStatusItem::_internal_mutable_message() {
  
  return message_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* UserStatusItem::release_message() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserStatusItem.message)
  return message_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void UserStatusItem::set_allocated_message(std::string* message) {
  if (message != nullptr) {
    
  } else {
    
  }
  message_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), message,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserStatusItem.message)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// UserUpdateRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool UserUpdateRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool UserUpdateRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& UserUpdateRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& UserUpdateRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserUpdateRequest.base)
  return _internal_base();
}
inline void UserUpdateRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserUpdateRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserUpdateRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserUpdateRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserUpdateRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserUpdateRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserUpdateRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserUpdateRequest.base)
  return _msg;
}
inline void UserUpdateRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserUpdateRequest.base)
}

// string roleName = 2;
inline void UserUpdateRequest::clear_rolename() {
  rolename_.ClearToEmpty();
}
inline const std::string& UserUpdateRequest::rolename() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserUpdateRequest.roleName)
  return _internal_rolename();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void UserUpdateRequest::set_rolename(ArgT0&& arg0, ArgT... args) {
 
 rolename_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserUpdateRequest.roleName)
}
inline std::string* UserUpdateRequest::mutable_rolename() {
  std::string* _s = _internal_mutable_rolename();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserUpdateRequest.roleName)
  return _s;
}
inline const std::string& UserUpdateRequest::_internal_rolename() const {
  return rolename_.Get();
}
inline void UserUpdateRequest::_internal_set_rolename(const std::string& value) {
  
  rolename_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* UserUpdateRequest::_internal_mutable_rolename() {
  
  return rolename_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* UserUpdateRequest::release_rolename() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserUpdateRequest.roleName)
  return rolename_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void UserUpdateRequest::set_allocated_rolename(std::string* rolename) {
  if (rolename != nullptr) {
    
  } else {
    
  }
  rolename_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), rolename,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserUpdateRequest.roleName)
}

// string avatarUrl = 3;
inline void UserUpdateRequest::clear_avatarurl() {
  avatarurl_.ClearToEmpty();
}
inline const std::string& UserUpdateRequest::avatarurl() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl)
  return _internal_avatarurl();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void UserUpdateRequest::set_avatarurl(ArgT0&& arg0, ArgT... args) {
 
 avatarurl_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl)
}
inline std::string* UserUpdateRequest::mutable_avatarurl() {
  std::string* _s = _internal_mutable_avatarurl();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl)
  return _s;
}
inline const std::string& UserUpdateRequest::_internal_avatarurl() const {
  return avatarurl_.Get();
}
inline void UserUpdateRequest::_internal_set_avatarurl(const std::string& value) {
  
  avatarurl_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* UserUpdateRequest::_internal_mutable_avatarurl() {
  
  return avatarurl_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* UserUpdateRequest::release_avatarurl() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl)
  return avatarurl_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void UserUpdateRequest::set_allocated_avatarurl(std::string* avatarurl) {
  if (avatarurl != nullptr) {
    
  } else {
    
  }
  avatarurl_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), avatarurl,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl)
}

// .heroim.client.v3beta.dto.user.model.Gender gender = 4;
inline void UserUpdateRequest::clear_gender() {
  gender_ = 0;
}
inline ::heroim::client::v3beta::dto::user::model::Gender UserUpdateRequest::_internal_gender() const {
  return static_cast< ::heroim::client::v3beta::dto::user::model::Gender >(gender_);
}
inline ::heroim::client::v3beta::dto::user::model::Gender UserUpdateRequest::gender() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserUpdateRequest.gender)
  return _internal_gender();
}
inline void UserUpdateRequest::_internal_set_gender(::heroim::client::v3beta::dto::user::model::Gender value) {
  
  gender_ = value;
}
inline void UserUpdateRequest::set_gender(::heroim::client::v3beta::dto::user::model::Gender value) {
  _internal_set_gender(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserUpdateRequest.gender)
}

// map<string, string> extra = 5;
inline int UserUpdateRequest::_internal_extra_size() const {
  return extra_.size();
}
inline int UserUpdateRequest::extra_size() const {
  return _internal_extra_size();
}
inline void UserUpdateRequest::clear_extra() {
  extra_.Clear();
}
inline const ::herogoogle::protobuf::Map< std::string, std::string >&
UserUpdateRequest::_internal_extra() const {
  return extra_.GetMap();
}
inline const ::herogoogle::protobuf::Map< std::string, std::string >&
UserUpdateRequest::extra() const {
  // @@protoc_insertion_point(field_map:heroim.client.v3beta.dto.user.UserUpdateRequest.extra)
  return _internal_extra();
}
inline ::herogoogle::protobuf::Map< std::string, std::string >*
UserUpdateRequest::_internal_mutable_extra() {
  return extra_.MutableMap();
}
inline ::herogoogle::protobuf::Map< std::string, std::string >*
UserUpdateRequest::mutable_extra() {
  // @@protoc_insertion_point(field_mutable_map:heroim.client.v3beta.dto.user.UserUpdateRequest.extra)
  return _internal_mutable_extra();
}

// -------------------------------------------------------------------

// UserUpdateResponse

// .heroim.client.v3beta.dto.user.model.User user = 1;
inline bool UserUpdateResponse::_internal_has_user() const {
  return this != internal_default_instance() && user_ != nullptr;
}
inline bool UserUpdateResponse::has_user() const {
  return _internal_has_user();
}
inline const ::heroim::client::v3beta::dto::user::model::User& UserUpdateResponse::_internal_user() const {
  const ::heroim::client::v3beta::dto::user::model::User* p = user_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::User&>(
      ::heroim::client::v3beta::dto::user::model::_User_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::User& UserUpdateResponse::user() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserUpdateResponse.user)
  return _internal_user();
}
inline void UserUpdateResponse::unsafe_arena_set_allocated_user(
    ::heroim::client::v3beta::dto::user::model::User* user) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(user_);
  }
  user_ = user;
  if (user) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserUpdateResponse.user)
}
inline ::heroim::client::v3beta::dto::user::model::User* UserUpdateResponse::release_user() {
  
  ::heroim::client::v3beta::dto::user::model::User* temp = user_;
  user_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::User* UserUpdateResponse::unsafe_arena_release_user() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserUpdateResponse.user)
  
  ::heroim::client::v3beta::dto::user::model::User* temp = user_;
  user_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::User* UserUpdateResponse::_internal_mutable_user() {
  
  if (user_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::User>(GetArenaForAllocation());
    user_ = p;
  }
  return user_;
}
inline ::heroim::client::v3beta::dto::user::model::User* UserUpdateResponse::mutable_user() {
  ::heroim::client::v3beta::dto::user::model::User* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserUpdateResponse.user)
  return _msg;
}
inline void UserUpdateResponse::set_allocated_user(::heroim::client::v3beta::dto::user::model::User* user) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(user_);
  }
  if (user) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(user));
    if (message_arena != submessage_arena) {
      user = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, user, submessage_arena);
    }
    
  } else {
    
  }
  user_ = user;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserUpdateResponse.user)
}

// -------------------------------------------------------------------

// UserControlFindRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool UserControlFindRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool UserControlFindRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& UserControlFindRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& UserControlFindRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserControlFindRequest.base)
  return _internal_base();
}
inline void UserControlFindRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserControlFindRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserControlFindRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserControlFindRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserControlFindRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserControlFindRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* UserControlFindRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserControlFindRequest.base)
  return _msg;
}
inline void UserControlFindRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserControlFindRequest.base)
}

// -------------------------------------------------------------------

// UserControlFindResponse

// int32 message = 1;
inline void UserControlFindResponse::clear_message() {
  message_ = 0;
}
inline ::herogoogle::protobuf::int32 UserControlFindResponse::_internal_message() const {
  return message_;
}
inline ::herogoogle::protobuf::int32 UserControlFindResponse::message() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserControlFindResponse.message)
  return _internal_message();
}
inline void UserControlFindResponse::_internal_set_message(::herogoogle::protobuf::int32 value) {
  
  message_ = value;
}
inline void UserControlFindResponse::set_message(::herogoogle::protobuf::int32 value) {
  _internal_set_message(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserControlFindResponse.message)
}

// int32 talk = 2;
inline void UserControlFindResponse::clear_talk() {
  talk_ = 0;
}
inline ::herogoogle::protobuf::int32 UserControlFindResponse::_internal_talk() const {
  return talk_;
}
inline ::herogoogle::protobuf::int32 UserControlFindResponse::talk() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserControlFindResponse.talk)
  return _internal_talk();
}
inline void UserControlFindResponse::_internal_set_talk(::herogoogle::protobuf::int32 value) {
  
  talk_ = value;
}
inline void UserControlFindResponse::set_talk(::herogoogle::protobuf::int32 value) {
  _internal_set_talk(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.user.UserControlFindResponse.talk)
}

// .heroim.client.v3beta.dto.user.model.UserControl detail = 3;
inline bool UserControlFindResponse::_internal_has_detail() const {
  return this != internal_default_instance() && detail_ != nullptr;
}
inline bool UserControlFindResponse::has_detail() const {
  return _internal_has_detail();
}
inline const ::heroim::client::v3beta::dto::user::model::UserControl& UserControlFindResponse::_internal_detail() const {
  const ::heroim::client::v3beta::dto::user::model::UserControl* p = detail_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::user::model::UserControl&>(
      ::heroim::client::v3beta::dto::user::model::_UserControl_default_instance_);
}
inline const ::heroim::client::v3beta::dto::user::model::UserControl& UserControlFindResponse::detail() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.user.UserControlFindResponse.detail)
  return _internal_detail();
}
inline void UserControlFindResponse::unsafe_arena_set_allocated_detail(
    ::heroim::client::v3beta::dto::user::model::UserControl* detail) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(detail_);
  }
  detail_ = detail;
  if (detail) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.user.UserControlFindResponse.detail)
}
inline ::heroim::client::v3beta::dto::user::model::UserControl* UserControlFindResponse::release_detail() {
  
  ::heroim::client::v3beta::dto::user::model::UserControl* temp = detail_;
  detail_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserControl* UserControlFindResponse::unsafe_arena_release_detail() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.user.UserControlFindResponse.detail)
  
  ::heroim::client::v3beta::dto::user::model::UserControl* temp = detail_;
  detail_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::user::model::UserControl* UserControlFindResponse::_internal_mutable_detail() {
  
  if (detail_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::user::model::UserControl>(GetArenaForAllocation());
    detail_ = p;
  }
  return detail_;
}
inline ::heroim::client::v3beta::dto::user::model::UserControl* UserControlFindResponse::mutable_detail() {
  ::heroim::client::v3beta::dto::user::model::UserControl* _msg = _internal_mutable_detail();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.user.UserControlFindResponse.detail)
  return _msg;
}
inline void UserControlFindResponse::set_allocated_detail(::heroim::client::v3beta::dto::user::model::UserControl* detail) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(detail_);
  }
  if (detail) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(detail));
    if (message_arena != submessage_arena) {
      detail = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, detail, submessage_arena);
    }
    
  } else {
    
  }
  detail_ = detail;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.user.UserControlFindResponse.detail)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace user
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim

// @@protoc_insertion_point(global_scope)


#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto
