// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: club_member.proto

#ifndef PROTOBUF_club_5fmember_2eproto__INCLUDED
#define PROTOBUF_club_5fmember_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 2006000
#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 2006001 < GOOGLE_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 <google/protobuf/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
#include "club_member_id.pb.h"  // IWYU pragma: export
#include "global_extensions/message_options.pb.h"
#include "api/client/v2/attribute_types.pb.h"
#include "club_enum.pb.h"
#include "rpc_types.pb.h"
#include "Define.h" // for TC_PROTO_API
// @@protoc_insertion_point(includes)

namespace bgs {
namespace protocol {
namespace club {
namespace v1 {

// Internal implementation detail -- do not call these.
void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
void protobuf_AssignDesc_club_5fmember_2eproto();
void protobuf_ShutdownFile_club_5fmember_2eproto();

class Member;
class MemberResult;
class RemoveMemberOptions;
class MemberRemovedAssignment;
class MemberVoiceOptions;
class MemberVoiceState;
class CreateMemberOptions;
class MemberDescription;
class RoleOptions;
class RoleAssignment;
class MemberAttributeAssignment;
class SubscriberStateOptions;
class SubscriberStateAssignment;
class MemberStateOptions;
class MemberStateAssignment;

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

class TC_PROTO_API Member : public ::google::protobuf::Message {
 public:
  Member();
  virtual ~Member();

  Member(const Member& from);

  inline Member& operator=(const Member& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const Member& default_instance();

  void Swap(Member* other);

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

  Member* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Member& from);
  void MergeFrom(const Member& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_id();
  inline ::bgs::protocol::club::v1::MemberId* release_id();
  inline void set_allocated_id(::bgs::protocol::club::v1::MemberId* id);

  // optional string battle_tag = 2;
  inline bool has_battle_tag() const;
  inline void clear_battle_tag();
  static const int kBattleTagFieldNumber = 2;
  inline const ::std::string& battle_tag() const;
  inline void set_battle_tag(const ::std::string& value);
  inline void set_battle_tag(const char* value);
  inline void set_battle_tag(const char* value, size_t size);
  inline ::std::string* mutable_battle_tag();
  inline ::std::string* release_battle_tag();
  inline void set_allocated_battle_tag(::std::string* battle_tag);

  // repeated uint32 role = 3 [packed = true];
  inline int role_size() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 3;
  inline ::google::protobuf::uint32 role(int index) const;
  inline void set_role(int index, ::google::protobuf::uint32 value);
  inline void add_role(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      role() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_role();

  // repeated .bgs.protocol.v2.Attribute attribute = 4;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 4;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional uint64 join_time = 5;
  inline bool has_join_time() const;
  inline void clear_join_time();
  static const int kJoinTimeFieldNumber = 5;
  inline ::google::protobuf::uint64 join_time() const;
  inline void set_join_time(::google::protobuf::uint64 value);

  // optional .bgs.protocol.club.v1.PresenceLevel presence_level = 6;
  inline bool has_presence_level() const;
  inline void clear_presence_level();
  static const int kPresenceLevelFieldNumber = 6;
  inline ::bgs::protocol::club::v1::PresenceLevel presence_level() const;
  inline void set_presence_level(::bgs::protocol::club::v1::PresenceLevel value);

  // optional bool moderator_mute = 7;
  inline bool has_moderator_mute() const;
  inline void clear_moderator_mute();
  static const int kModeratorMuteFieldNumber = 7;
  inline bool moderator_mute() const;
  inline void set_moderator_mute(bool value);

  // optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 8;
  inline bool has_whisper_level() const;
  inline void clear_whisper_level();
  static const int kWhisperLevelFieldNumber = 8;
  inline ::bgs::protocol::club::v1::WhisperLevel whisper_level() const;
  inline void set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value);

  // optional string note = 9;
  inline bool has_note() const;
  inline void clear_note();
  static const int kNoteFieldNumber = 9;
  inline const ::std::string& note() const;
  inline void set_note(const ::std::string& value);
  inline void set_note(const char* value);
  inline void set_note(const char* value, size_t size);
  inline ::std::string* mutable_note();
  inline ::std::string* release_note();
  inline void set_allocated_note(::std::string* note);

  // optional bool active = 50;
  inline bool has_active() const;
  inline void clear_active();
  static const int kActiveFieldNumber = 50;
  inline bool active() const;
  inline void set_active(bool value);

  // optional .bgs.protocol.club.v1.MemberVoiceState voice = 51;
  inline bool has_voice() const;
  inline void clear_voice();
  static const int kVoiceFieldNumber = 51;
  inline const ::bgs::protocol::club::v1::MemberVoiceState& voice() const;
  inline ::bgs::protocol::club::v1::MemberVoiceState* mutable_voice();
  inline ::bgs::protocol::club::v1::MemberVoiceState* release_voice();
  inline void set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceState* voice);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.Member)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_battle_tag();
  inline void clear_has_battle_tag();
  inline void set_has_join_time();
  inline void clear_has_join_time();
  inline void set_has_presence_level();
  inline void clear_has_presence_level();
  inline void set_has_moderator_mute();
  inline void clear_has_moderator_mute();
  inline void set_has_whisper_level();
  inline void clear_has_whisper_level();
  inline void set_has_note();
  inline void clear_has_note();
  inline void set_has_active();
  inline void clear_has_active();
  inline void set_has_voice();
  inline void clear_has_voice();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* id_;
  ::std::string* battle_tag_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > role_;
  mutable int _role_cached_byte_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  ::google::protobuf::uint64 join_time_;
  int presence_level_;
  int whisper_level_;
  ::std::string* note_;
  ::bgs::protocol::club::v1::MemberVoiceState* voice_;
  bool moderator_mute_;
  bool active_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static Member* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberResult : public ::google::protobuf::Message {
 public:
  MemberResult();
  virtual ~MemberResult();

  MemberResult(const MemberResult& from);

  inline MemberResult& operator=(const MemberResult& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberResult& default_instance();

  void Swap(MemberResult* other);

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

  MemberResult* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberResult& from);
  void MergeFrom(const MemberResult& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // optional uint32 status = 2;
  inline bool has_status() const;
  inline void clear_status();
  static const int kStatusFieldNumber = 2;
  inline ::google::protobuf::uint32 status() const;
  inline void set_status(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberResult)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();
  inline void set_has_status();
  inline void clear_has_status();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::google::protobuf::uint32 status_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberResult* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API RemoveMemberOptions : public ::google::protobuf::Message {
 public:
  RemoveMemberOptions();
  virtual ~RemoveMemberOptions();

  RemoveMemberOptions(const RemoveMemberOptions& from);

  inline RemoveMemberOptions& operator=(const RemoveMemberOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const RemoveMemberOptions& default_instance();

  void Swap(RemoveMemberOptions* other);

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

  RemoveMemberOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const RemoveMemberOptions& from);
  void MergeFrom(const RemoveMemberOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_id();
  inline ::bgs::protocol::club::v1::MemberId* release_id();
  inline void set_allocated_id(::bgs::protocol::club::v1::MemberId* id);

  // optional .bgs.protocol.club.v1.ClubRemovedReason reason = 2;
  inline bool has_reason() const;
  inline void clear_reason();
  static const int kReasonFieldNumber = 2;
  inline ::bgs::protocol::club::v1::ClubRemovedReason reason() const;
  inline void set_reason(::bgs::protocol::club::v1::ClubRemovedReason value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.RemoveMemberOptions)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_reason();
  inline void clear_has_reason();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* id_;
  int reason_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static RemoveMemberOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberRemovedAssignment : public ::google::protobuf::Message {
 public:
  MemberRemovedAssignment();
  virtual ~MemberRemovedAssignment();

  MemberRemovedAssignment(const MemberRemovedAssignment& from);

  inline MemberRemovedAssignment& operator=(const MemberRemovedAssignment& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberRemovedAssignment& default_instance();

  void Swap(MemberRemovedAssignment* other);

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

  MemberRemovedAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberRemovedAssignment& from);
  void MergeFrom(const MemberRemovedAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_id();
  inline ::bgs::protocol::club::v1::MemberId* release_id();
  inline void set_allocated_id(::bgs::protocol::club::v1::MemberId* id);

  // optional .bgs.protocol.club.v1.ClubRemovedReason reason = 2;
  inline bool has_reason() const;
  inline void clear_reason();
  static const int kReasonFieldNumber = 2;
  inline ::bgs::protocol::club::v1::ClubRemovedReason reason() const;
  inline void set_reason(::bgs::protocol::club::v1::ClubRemovedReason value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberRemovedAssignment)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_reason();
  inline void clear_has_reason();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* id_;
  int reason_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberRemovedAssignment* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberVoiceOptions : public ::google::protobuf::Message {
 public:
  MemberVoiceOptions();
  virtual ~MemberVoiceOptions();

  MemberVoiceOptions(const MemberVoiceOptions& from);

  inline MemberVoiceOptions& operator=(const MemberVoiceOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberVoiceOptions& default_instance();

  void Swap(MemberVoiceOptions* other);

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

  MemberVoiceOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberVoiceOptions& from);
  void MergeFrom(const MemberVoiceOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional uint64 stream_id = 1;
  inline bool has_stream_id() const;
  inline void clear_stream_id();
  static const int kStreamIdFieldNumber = 1;
  inline ::google::protobuf::uint64 stream_id() const;
  inline void set_stream_id(::google::protobuf::uint64 value);

  // optional bool joined = 2;
  inline bool has_joined() const;
  inline void clear_joined();
  static const int kJoinedFieldNumber = 2;
  inline bool joined() const;
  inline void set_joined(bool value);

  // optional .bgs.protocol.club.v1.VoiceMicrophoneState microphone = 3;
  inline bool has_microphone() const;
  inline void clear_microphone();
  static const int kMicrophoneFieldNumber = 3;
  inline ::bgs::protocol::club::v1::VoiceMicrophoneState microphone() const;
  inline void set_microphone(::bgs::protocol::club::v1::VoiceMicrophoneState value);

  // optional bool active = 4;
  inline bool has_active() const;
  inline void clear_active();
  static const int kActiveFieldNumber = 4;
  inline bool active() const;
  inline void set_active(bool value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberVoiceOptions)
 private:
  inline void set_has_stream_id();
  inline void clear_has_stream_id();
  inline void set_has_joined();
  inline void clear_has_joined();
  inline void set_has_microphone();
  inline void clear_has_microphone();
  inline void set_has_active();
  inline void clear_has_active();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 stream_id_;
  int microphone_;
  bool joined_;
  bool active_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberVoiceOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberVoiceState : public ::google::protobuf::Message {
 public:
  MemberVoiceState();
  virtual ~MemberVoiceState();

  MemberVoiceState(const MemberVoiceState& from);

  inline MemberVoiceState& operator=(const MemberVoiceState& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberVoiceState& default_instance();

  void Swap(MemberVoiceState* other);

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

  MemberVoiceState* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberVoiceState& from);
  void MergeFrom(const MemberVoiceState& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional string id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::std::string& id() const;
  inline void set_id(const ::std::string& value);
  inline void set_id(const char* value);
  inline void set_id(const char* value, size_t size);
  inline ::std::string* mutable_id();
  inline ::std::string* release_id();
  inline void set_allocated_id(::std::string* id);

  // optional uint64 stream_id = 2;
  inline bool has_stream_id() const;
  inline void clear_stream_id();
  static const int kStreamIdFieldNumber = 2;
  inline ::google::protobuf::uint64 stream_id() const;
  inline void set_stream_id(::google::protobuf::uint64 value);

  // optional bool joined = 3;
  inline bool has_joined() const;
  inline void clear_joined();
  static const int kJoinedFieldNumber = 3;
  inline bool joined() const;
  inline void set_joined(bool value);

  // optional .bgs.protocol.club.v1.VoiceMicrophoneState microphone = 4;
  inline bool has_microphone() const;
  inline void clear_microphone();
  static const int kMicrophoneFieldNumber = 4;
  inline ::bgs::protocol::club::v1::VoiceMicrophoneState microphone() const;
  inline void set_microphone(::bgs::protocol::club::v1::VoiceMicrophoneState value);

  // optional bool active = 5;
  inline bool has_active() const;
  inline void clear_active();
  static const int kActiveFieldNumber = 5;
  inline bool active() const;
  inline void set_active(bool value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberVoiceState)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_stream_id();
  inline void clear_has_stream_id();
  inline void set_has_joined();
  inline void clear_has_joined();
  inline void set_has_microphone();
  inline void clear_has_microphone();
  inline void set_has_active();
  inline void clear_has_active();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* id_;
  ::google::protobuf::uint64 stream_id_;
  int microphone_;
  bool joined_;
  bool active_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberVoiceState* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API CreateMemberOptions : public ::google::protobuf::Message {
 public:
  CreateMemberOptions();
  virtual ~CreateMemberOptions();

  CreateMemberOptions(const CreateMemberOptions& from);

  inline CreateMemberOptions& operator=(const CreateMemberOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const CreateMemberOptions& default_instance();

  void Swap(CreateMemberOptions* other);

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

  CreateMemberOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const CreateMemberOptions& from);
  void MergeFrom(const CreateMemberOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_id();
  inline ::bgs::protocol::club::v1::MemberId* release_id();
  inline void set_allocated_id(::bgs::protocol::club::v1::MemberId* id);

  // repeated .bgs.protocol.v2.Attribute attribute = 2;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 2;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.CreateMemberOptions)
 private:
  inline void set_has_id();
  inline void clear_has_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* id_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static CreateMemberOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberDescription : public ::google::protobuf::Message {
 public:
  MemberDescription();
  virtual ~MemberDescription();

  MemberDescription(const MemberDescription& from);

  inline MemberDescription& operator=(const MemberDescription& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberDescription& default_instance();

  void Swap(MemberDescription* other);

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

  MemberDescription* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberDescription& from);
  void MergeFrom(const MemberDescription& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_id();
  inline ::bgs::protocol::club::v1::MemberId* release_id();
  inline void set_allocated_id(::bgs::protocol::club::v1::MemberId* id);

  // optional string battle_tag = 2;
  inline bool has_battle_tag() const;
  inline void clear_battle_tag();
  static const int kBattleTagFieldNumber = 2;
  inline const ::std::string& battle_tag() const;
  inline void set_battle_tag(const ::std::string& value);
  inline void set_battle_tag(const char* value);
  inline void set_battle_tag(const char* value, size_t size);
  inline ::std::string* mutable_battle_tag();
  inline ::std::string* release_battle_tag();
  inline void set_allocated_battle_tag(::std::string* battle_tag);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberDescription)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_battle_tag();
  inline void clear_has_battle_tag();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* id_;
  ::std::string* battle_tag_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberDescription* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API RoleOptions : public ::google::protobuf::Message {
 public:
  RoleOptions();
  virtual ~RoleOptions();

  RoleOptions(const RoleOptions& from);

  inline RoleOptions& operator=(const RoleOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const RoleOptions& default_instance();

  void Swap(RoleOptions* other);

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

  RoleOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const RoleOptions& from);
  void MergeFrom(const RoleOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // repeated uint32 role = 2 [packed = true];
  inline int role_size() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 2;
  inline ::google::protobuf::uint32 role(int index) const;
  inline void set_role(int index, ::google::protobuf::uint32 value);
  inline void add_role(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      role() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_role();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.RoleOptions)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > role_;
  mutable int _role_cached_byte_size_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static RoleOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API RoleAssignment : public ::google::protobuf::Message {
 public:
  RoleAssignment();
  virtual ~RoleAssignment();

  RoleAssignment(const RoleAssignment& from);

  inline RoleAssignment& operator=(const RoleAssignment& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const RoleAssignment& default_instance();

  void Swap(RoleAssignment* other);

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

  RoleAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const RoleAssignment& from);
  void MergeFrom(const RoleAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // repeated uint32 role = 2 [packed = true];
  inline int role_size() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 2;
  inline ::google::protobuf::uint32 role(int index) const;
  inline void set_role(int index, ::google::protobuf::uint32 value);
  inline void add_role(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      role() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_role();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.RoleAssignment)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > role_;
  mutable int _role_cached_byte_size_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static RoleAssignment* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberAttributeAssignment : public ::google::protobuf::Message {
 public:
  MemberAttributeAssignment();
  virtual ~MemberAttributeAssignment();

  MemberAttributeAssignment(const MemberAttributeAssignment& from);

  inline MemberAttributeAssignment& operator=(const MemberAttributeAssignment& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberAttributeAssignment& default_instance();

  void Swap(MemberAttributeAssignment* other);

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

  MemberAttributeAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberAttributeAssignment& from);
  void MergeFrom(const MemberAttributeAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // repeated .bgs.protocol.v2.Attribute attribute = 2;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 2;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberAttributeAssignment)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberAttributeAssignment* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API SubscriberStateOptions : public ::google::protobuf::Message {
 public:
  SubscriberStateOptions();
  virtual ~SubscriberStateOptions();

  SubscriberStateOptions(const SubscriberStateOptions& from);

  inline SubscriberStateOptions& operator=(const SubscriberStateOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SubscriberStateOptions& default_instance();

  void Swap(SubscriberStateOptions* other);

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

  SubscriberStateOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SubscriberStateOptions& from);
  void MergeFrom(const SubscriberStateOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberVoiceOptions voice = 1;
  inline bool has_voice() const;
  inline void clear_voice();
  static const int kVoiceFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberVoiceOptions& voice() const;
  inline ::bgs::protocol::club::v1::MemberVoiceOptions* mutable_voice();
  inline ::bgs::protocol::club::v1::MemberVoiceOptions* release_voice();
  inline void set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceOptions* voice);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.SubscriberStateOptions)
 private:
  inline void set_has_voice();
  inline void clear_has_voice();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberVoiceOptions* voice_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static SubscriberStateOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API SubscriberStateAssignment : public ::google::protobuf::Message {
 public:
  SubscriberStateAssignment();
  virtual ~SubscriberStateAssignment();

  SubscriberStateAssignment(const SubscriberStateAssignment& from);

  inline SubscriberStateAssignment& operator=(const SubscriberStateAssignment& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SubscriberStateAssignment& default_instance();

  void Swap(SubscriberStateAssignment* other);

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

  SubscriberStateAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SubscriberStateAssignment& from);
  void MergeFrom(const SubscriberStateAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // optional bool active = 2;
  inline bool has_active() const;
  inline void clear_active();
  static const int kActiveFieldNumber = 2;
  inline bool active() const;
  inline void set_active(bool value);

  // optional .bgs.protocol.club.v1.MemberVoiceState voice = 3;
  inline bool has_voice() const;
  inline void clear_voice();
  static const int kVoiceFieldNumber = 3;
  inline const ::bgs::protocol::club::v1::MemberVoiceState& voice() const;
  inline ::bgs::protocol::club::v1::MemberVoiceState* mutable_voice();
  inline ::bgs::protocol::club::v1::MemberVoiceState* release_voice();
  inline void set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceState* voice);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.SubscriberStateAssignment)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();
  inline void set_has_active();
  inline void clear_has_active();
  inline void set_has_voice();
  inline void clear_has_voice();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::bgs::protocol::club::v1::MemberVoiceState* voice_;
  bool active_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static SubscriberStateAssignment* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberStateOptions : public ::google::protobuf::Message {
 public:
  MemberStateOptions();
  virtual ~MemberStateOptions();

  MemberStateOptions(const MemberStateOptions& from);

  inline MemberStateOptions& operator=(const MemberStateOptions& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberStateOptions& default_instance();

  void Swap(MemberStateOptions* other);

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

  MemberStateOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberStateOptions& from);
  void MergeFrom(const MemberStateOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated .bgs.protocol.v2.Attribute attribute = 1;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 1;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional .bgs.protocol.club.v1.PresenceLevel presence_level = 2;
  inline bool has_presence_level() const;
  inline void clear_presence_level();
  static const int kPresenceLevelFieldNumber = 2;
  inline ::bgs::protocol::club::v1::PresenceLevel presence_level() const;
  inline void set_presence_level(::bgs::protocol::club::v1::PresenceLevel value);

  // optional bool moderator_mute = 3;
  inline bool has_moderator_mute() const;
  inline void clear_moderator_mute();
  static const int kModeratorMuteFieldNumber = 3;
  inline bool moderator_mute() const;
  inline void set_moderator_mute(bool value);

  // optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 4;
  inline bool has_whisper_level() const;
  inline void clear_whisper_level();
  static const int kWhisperLevelFieldNumber = 4;
  inline ::bgs::protocol::club::v1::WhisperLevel whisper_level() const;
  inline void set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value);

  // optional string note = 5;
  inline bool has_note() const;
  inline void clear_note();
  static const int kNoteFieldNumber = 5;
  inline const ::std::string& note() const;
  inline void set_note(const ::std::string& value);
  inline void set_note(const char* value);
  inline void set_note(const char* value, size_t size);
  inline ::std::string* mutable_note();
  inline ::std::string* release_note();
  inline void set_allocated_note(::std::string* note);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberStateOptions)
 private:
  inline void set_has_presence_level();
  inline void clear_has_presence_level();
  inline void set_has_moderator_mute();
  inline void clear_has_moderator_mute();
  inline void set_has_whisper_level();
  inline void clear_has_whisper_level();
  inline void set_has_note();
  inline void clear_has_note();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  int presence_level_;
  bool moderator_mute_;
  ::std::string* note_;
  int whisper_level_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberStateOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API MemberStateAssignment : public ::google::protobuf::Message {
 public:
  MemberStateAssignment();
  virtual ~MemberStateAssignment();

  MemberStateAssignment(const MemberStateAssignment& from);

  inline MemberStateAssignment& operator=(const MemberStateAssignment& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const MemberStateAssignment& default_instance();

  void Swap(MemberStateAssignment* other);

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

  MemberStateAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const MemberStateAssignment& from);
  void MergeFrom(const MemberStateAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // repeated .bgs.protocol.v2.Attribute attribute = 2;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 2;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional .bgs.protocol.club.v1.PresenceLevel presence_level = 3;
  inline bool has_presence_level() const;
  inline void clear_presence_level();
  static const int kPresenceLevelFieldNumber = 3;
  inline ::bgs::protocol::club::v1::PresenceLevel presence_level() const;
  inline void set_presence_level(::bgs::protocol::club::v1::PresenceLevel value);

  // optional bool moderator_mute = 4;
  inline bool has_moderator_mute() const;
  inline void clear_moderator_mute();
  static const int kModeratorMuteFieldNumber = 4;
  inline bool moderator_mute() const;
  inline void set_moderator_mute(bool value);

  // optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 5;
  inline bool has_whisper_level() const;
  inline void clear_whisper_level();
  static const int kWhisperLevelFieldNumber = 5;
  inline ::bgs::protocol::club::v1::WhisperLevel whisper_level() const;
  inline void set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value);

  // optional string note = 6;
  inline bool has_note() const;
  inline void clear_note();
  static const int kNoteFieldNumber = 6;
  inline const ::std::string& note() const;
  inline void set_note(const ::std::string& value);
  inline void set_note(const char* value);
  inline void set_note(const char* value, size_t size);
  inline ::std::string* mutable_note();
  inline ::std::string* release_note();
  inline void set_allocated_note(::std::string* note);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.MemberStateAssignment)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();
  inline void set_has_presence_level();
  inline void clear_has_presence_level();
  inline void set_has_moderator_mute();
  inline void clear_has_moderator_mute();
  inline void set_has_whisper_level();
  inline void clear_has_whisper_level();
  inline void set_has_note();
  inline void clear_has_note();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  int presence_level_;
  bool moderator_mute_;
  ::std::string* note_;
  int whisper_level_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmember_2eproto();
  friend void protobuf_AssignDesc_club_5fmember_2eproto();
  friend void protobuf_ShutdownFile_club_5fmember_2eproto();

  void InitAsDefaultInstance();
  static MemberStateAssignment* default_instance_;
};
// ===================================================================


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


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

// Member

// optional .bgs.protocol.club.v1.MemberId id = 1;
inline bool Member::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Member::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Member::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Member::clear_id() {
  if (id_ != NULL) id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_id();
}
inline const ::bgs::protocol::club::v1::MemberId& Member::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.id)
  return id_ != NULL ? *id_ : *default_instance_->id_;
}
inline ::bgs::protocol::club::v1::MemberId* Member::mutable_id() {
  set_has_id();
  if (id_ == NULL) id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.Member.id)
  return id_;
}
inline ::bgs::protocol::club::v1::MemberId* Member::release_id() {
  clear_has_id();
  ::bgs::protocol::club::v1::MemberId* temp = id_;
  id_ = NULL;
  return temp;
}
inline void Member::set_allocated_id(::bgs::protocol::club::v1::MemberId* id) {
  delete id_;
  id_ = id;
  if (id) {
    set_has_id();
  } else {
    clear_has_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.Member.id)
}

// optional string battle_tag = 2;
inline bool Member::has_battle_tag() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Member::set_has_battle_tag() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Member::clear_has_battle_tag() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Member::clear_battle_tag() {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_->clear();
  }
  clear_has_battle_tag();
}
inline const ::std::string& Member::battle_tag() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.battle_tag)
  return *battle_tag_;
}
inline void Member::set_battle_tag(const ::std::string& value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.battle_tag)
}
inline void Member::set_battle_tag(const char* value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.Member.battle_tag)
}
inline void Member::set_battle_tag(const char* value, size_t size) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.Member.battle_tag)
}
inline ::std::string* Member::mutable_battle_tag() {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.Member.battle_tag)
  return battle_tag_;
}
inline ::std::string* Member::release_battle_tag() {
  clear_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = battle_tag_;
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Member::set_allocated_battle_tag(::std::string* battle_tag) {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete battle_tag_;
  }
  if (battle_tag) {
    set_has_battle_tag();
    battle_tag_ = battle_tag;
  } else {
    clear_has_battle_tag();
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.Member.battle_tag)
}

// repeated uint32 role = 3 [packed = true];
inline int Member::role_size() const {
  return role_.size();
}
inline void Member::clear_role() {
  role_.Clear();
}
inline ::google::protobuf::uint32 Member::role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.role)
  return role_.Get(index);
}
inline void Member::set_role(int index, ::google::protobuf::uint32 value) {
  role_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.role)
}
inline void Member::add_role(::google::protobuf::uint32 value) {
  role_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.Member.role)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
Member::role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.Member.role)
  return role_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
Member::mutable_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.Member.role)
  return &role_;
}

// repeated .bgs.protocol.v2.Attribute attribute = 4;
inline int Member::attribute_size() const {
  return attribute_.size();
}
inline void Member::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& Member::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* Member::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.Member.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* Member::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.Member.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
Member::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.Member.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
Member::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.Member.attribute)
  return &attribute_;
}

// optional uint64 join_time = 5;
inline bool Member::has_join_time() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Member::set_has_join_time() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Member::clear_has_join_time() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Member::clear_join_time() {
  join_time_ = GOOGLE_ULONGLONG(0);
  clear_has_join_time();
}
inline ::google::protobuf::uint64 Member::join_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.join_time)
  return join_time_;
}
inline void Member::set_join_time(::google::protobuf::uint64 value) {
  set_has_join_time();
  join_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.join_time)
}

// optional .bgs.protocol.club.v1.PresenceLevel presence_level = 6;
inline bool Member::has_presence_level() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Member::set_has_presence_level() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Member::clear_has_presence_level() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Member::clear_presence_level() {
  presence_level_ = 0;
  clear_has_presence_level();
}
inline ::bgs::protocol::club::v1::PresenceLevel Member::presence_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.presence_level)
  return static_cast< ::bgs::protocol::club::v1::PresenceLevel >(presence_level_);
}
inline void Member::set_presence_level(::bgs::protocol::club::v1::PresenceLevel value) {
  assert(::bgs::protocol::club::v1::PresenceLevel_IsValid(value));
  set_has_presence_level();
  presence_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.presence_level)
}

// optional bool moderator_mute = 7;
inline bool Member::has_moderator_mute() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Member::set_has_moderator_mute() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Member::clear_has_moderator_mute() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Member::clear_moderator_mute() {
  moderator_mute_ = false;
  clear_has_moderator_mute();
}
inline bool Member::moderator_mute() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.moderator_mute)
  return moderator_mute_;
}
inline void Member::set_moderator_mute(bool value) {
  set_has_moderator_mute();
  moderator_mute_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.moderator_mute)
}

// optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 8;
inline bool Member::has_whisper_level() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Member::set_has_whisper_level() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Member::clear_has_whisper_level() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Member::clear_whisper_level() {
  whisper_level_ = 0;
  clear_has_whisper_level();
}
inline ::bgs::protocol::club::v1::WhisperLevel Member::whisper_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.whisper_level)
  return static_cast< ::bgs::protocol::club::v1::WhisperLevel >(whisper_level_);
}
inline void Member::set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value) {
  assert(::bgs::protocol::club::v1::WhisperLevel_IsValid(value));
  set_has_whisper_level();
  whisper_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.whisper_level)
}

// optional string note = 9;
inline bool Member::has_note() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void Member::set_has_note() {
  _has_bits_[0] |= 0x00000100u;
}
inline void Member::clear_has_note() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void Member::clear_note() {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_->clear();
  }
  clear_has_note();
}
inline const ::std::string& Member::note() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.note)
  return *note_;
}
inline void Member::set_note(const ::std::string& value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.note)
}
inline void Member::set_note(const char* value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.Member.note)
}
inline void Member::set_note(const char* value, size_t size) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.Member.note)
}
inline ::std::string* Member::mutable_note() {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.Member.note)
  return note_;
}
inline ::std::string* Member::release_note() {
  clear_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = note_;
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Member::set_allocated_note(::std::string* note) {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete note_;
  }
  if (note) {
    set_has_note();
    note_ = note;
  } else {
    clear_has_note();
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.Member.note)
}

// optional bool active = 50;
inline bool Member::has_active() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void Member::set_has_active() {
  _has_bits_[0] |= 0x00000200u;
}
inline void Member::clear_has_active() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void Member::clear_active() {
  active_ = false;
  clear_has_active();
}
inline bool Member::active() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.active)
  return active_;
}
inline void Member::set_active(bool value) {
  set_has_active();
  active_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.Member.active)
}

// optional .bgs.protocol.club.v1.MemberVoiceState voice = 51;
inline bool Member::has_voice() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
inline void Member::set_has_voice() {
  _has_bits_[0] |= 0x00000400u;
}
inline void Member::clear_has_voice() {
  _has_bits_[0] &= ~0x00000400u;
}
inline void Member::clear_voice() {
  if (voice_ != NULL) voice_->::bgs::protocol::club::v1::MemberVoiceState::Clear();
  clear_has_voice();
}
inline const ::bgs::protocol::club::v1::MemberVoiceState& Member::voice() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.Member.voice)
  return voice_ != NULL ? *voice_ : *default_instance_->voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceState* Member::mutable_voice() {
  set_has_voice();
  if (voice_ == NULL) voice_ = new ::bgs::protocol::club::v1::MemberVoiceState;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.Member.voice)
  return voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceState* Member::release_voice() {
  clear_has_voice();
  ::bgs::protocol::club::v1::MemberVoiceState* temp = voice_;
  voice_ = NULL;
  return temp;
}
inline void Member::set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceState* voice) {
  delete voice_;
  voice_ = voice;
  if (voice) {
    set_has_voice();
  } else {
    clear_has_voice();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.Member.voice)
}

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

// MemberResult

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool MemberResult::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberResult::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberResult::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberResult::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& MemberResult::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberResult.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberResult::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberResult.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberResult::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void MemberResult::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberResult.member_id)
}

// optional uint32 status = 2;
inline bool MemberResult::has_status() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberResult::set_has_status() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberResult::clear_has_status() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberResult::clear_status() {
  status_ = 0u;
  clear_has_status();
}
inline ::google::protobuf::uint32 MemberResult::status() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberResult.status)
  return status_;
}
inline void MemberResult::set_status(::google::protobuf::uint32 value) {
  set_has_status();
  status_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberResult.status)
}

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

// RemoveMemberOptions

// optional .bgs.protocol.club.v1.MemberId id = 1;
inline bool RemoveMemberOptions::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void RemoveMemberOptions::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void RemoveMemberOptions::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void RemoveMemberOptions::clear_id() {
  if (id_ != NULL) id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_id();
}
inline const ::bgs::protocol::club::v1::MemberId& RemoveMemberOptions::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RemoveMemberOptions.id)
  return id_ != NULL ? *id_ : *default_instance_->id_;
}
inline ::bgs::protocol::club::v1::MemberId* RemoveMemberOptions::mutable_id() {
  set_has_id();
  if (id_ == NULL) id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.RemoveMemberOptions.id)
  return id_;
}
inline ::bgs::protocol::club::v1::MemberId* RemoveMemberOptions::release_id() {
  clear_has_id();
  ::bgs::protocol::club::v1::MemberId* temp = id_;
  id_ = NULL;
  return temp;
}
inline void RemoveMemberOptions::set_allocated_id(::bgs::protocol::club::v1::MemberId* id) {
  delete id_;
  id_ = id;
  if (id) {
    set_has_id();
  } else {
    clear_has_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.RemoveMemberOptions.id)
}

// optional .bgs.protocol.club.v1.ClubRemovedReason reason = 2;
inline bool RemoveMemberOptions::has_reason() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void RemoveMemberOptions::set_has_reason() {
  _has_bits_[0] |= 0x00000002u;
}
inline void RemoveMemberOptions::clear_has_reason() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void RemoveMemberOptions::clear_reason() {
  reason_ = 0;
  clear_has_reason();
}
inline ::bgs::protocol::club::v1::ClubRemovedReason RemoveMemberOptions::reason() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RemoveMemberOptions.reason)
  return static_cast< ::bgs::protocol::club::v1::ClubRemovedReason >(reason_);
}
inline void RemoveMemberOptions::set_reason(::bgs::protocol::club::v1::ClubRemovedReason value) {
  assert(::bgs::protocol::club::v1::ClubRemovedReason_IsValid(value));
  set_has_reason();
  reason_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.RemoveMemberOptions.reason)
}

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

// MemberRemovedAssignment

// optional .bgs.protocol.club.v1.MemberId id = 1;
inline bool MemberRemovedAssignment::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberRemovedAssignment::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberRemovedAssignment::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberRemovedAssignment::clear_id() {
  if (id_ != NULL) id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_id();
}
inline const ::bgs::protocol::club::v1::MemberId& MemberRemovedAssignment::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberRemovedAssignment.id)
  return id_ != NULL ? *id_ : *default_instance_->id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberRemovedAssignment::mutable_id() {
  set_has_id();
  if (id_ == NULL) id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberRemovedAssignment.id)
  return id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberRemovedAssignment::release_id() {
  clear_has_id();
  ::bgs::protocol::club::v1::MemberId* temp = id_;
  id_ = NULL;
  return temp;
}
inline void MemberRemovedAssignment::set_allocated_id(::bgs::protocol::club::v1::MemberId* id) {
  delete id_;
  id_ = id;
  if (id) {
    set_has_id();
  } else {
    clear_has_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberRemovedAssignment.id)
}

// optional .bgs.protocol.club.v1.ClubRemovedReason reason = 2;
inline bool MemberRemovedAssignment::has_reason() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberRemovedAssignment::set_has_reason() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberRemovedAssignment::clear_has_reason() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberRemovedAssignment::clear_reason() {
  reason_ = 0;
  clear_has_reason();
}
inline ::bgs::protocol::club::v1::ClubRemovedReason MemberRemovedAssignment::reason() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberRemovedAssignment.reason)
  return static_cast< ::bgs::protocol::club::v1::ClubRemovedReason >(reason_);
}
inline void MemberRemovedAssignment::set_reason(::bgs::protocol::club::v1::ClubRemovedReason value) {
  assert(::bgs::protocol::club::v1::ClubRemovedReason_IsValid(value));
  set_has_reason();
  reason_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberRemovedAssignment.reason)
}

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

// MemberVoiceOptions

// optional uint64 stream_id = 1;
inline bool MemberVoiceOptions::has_stream_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberVoiceOptions::set_has_stream_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberVoiceOptions::clear_has_stream_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberVoiceOptions::clear_stream_id() {
  stream_id_ = GOOGLE_ULONGLONG(0);
  clear_has_stream_id();
}
inline ::google::protobuf::uint64 MemberVoiceOptions::stream_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceOptions.stream_id)
  return stream_id_;
}
inline void MemberVoiceOptions::set_stream_id(::google::protobuf::uint64 value) {
  set_has_stream_id();
  stream_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceOptions.stream_id)
}

// optional bool joined = 2;
inline bool MemberVoiceOptions::has_joined() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberVoiceOptions::set_has_joined() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberVoiceOptions::clear_has_joined() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberVoiceOptions::clear_joined() {
  joined_ = false;
  clear_has_joined();
}
inline bool MemberVoiceOptions::joined() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceOptions.joined)
  return joined_;
}
inline void MemberVoiceOptions::set_joined(bool value) {
  set_has_joined();
  joined_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceOptions.joined)
}

// optional .bgs.protocol.club.v1.VoiceMicrophoneState microphone = 3;
inline bool MemberVoiceOptions::has_microphone() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void MemberVoiceOptions::set_has_microphone() {
  _has_bits_[0] |= 0x00000004u;
}
inline void MemberVoiceOptions::clear_has_microphone() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void MemberVoiceOptions::clear_microphone() {
  microphone_ = 0;
  clear_has_microphone();
}
inline ::bgs::protocol::club::v1::VoiceMicrophoneState MemberVoiceOptions::microphone() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceOptions.microphone)
  return static_cast< ::bgs::protocol::club::v1::VoiceMicrophoneState >(microphone_);
}
inline void MemberVoiceOptions::set_microphone(::bgs::protocol::club::v1::VoiceMicrophoneState value) {
  assert(::bgs::protocol::club::v1::VoiceMicrophoneState_IsValid(value));
  set_has_microphone();
  microphone_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceOptions.microphone)
}

// optional bool active = 4;
inline bool MemberVoiceOptions::has_active() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void MemberVoiceOptions::set_has_active() {
  _has_bits_[0] |= 0x00000008u;
}
inline void MemberVoiceOptions::clear_has_active() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void MemberVoiceOptions::clear_active() {
  active_ = false;
  clear_has_active();
}
inline bool MemberVoiceOptions::active() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceOptions.active)
  return active_;
}
inline void MemberVoiceOptions::set_active(bool value) {
  set_has_active();
  active_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceOptions.active)
}

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

// MemberVoiceState

// optional string id = 1;
inline bool MemberVoiceState::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberVoiceState::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberVoiceState::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberVoiceState::clear_id() {
  if (id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_->clear();
  }
  clear_has_id();
}
inline const ::std::string& MemberVoiceState::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceState.id)
  return *id_;
}
inline void MemberVoiceState::set_id(const ::std::string& value) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceState.id)
}
inline void MemberVoiceState::set_id(const char* value) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.MemberVoiceState.id)
}
inline void MemberVoiceState::set_id(const char* value, size_t size) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.MemberVoiceState.id)
}
inline ::std::string* MemberVoiceState::mutable_id() {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberVoiceState.id)
  return id_;
}
inline ::std::string* MemberVoiceState::release_id() {
  clear_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = id_;
    id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void MemberVoiceState::set_allocated_id(::std::string* id) {
  if (id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete id_;
  }
  if (id) {
    set_has_id();
    id_ = id;
  } else {
    clear_has_id();
    id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberVoiceState.id)
}

// optional uint64 stream_id = 2;
inline bool MemberVoiceState::has_stream_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberVoiceState::set_has_stream_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberVoiceState::clear_has_stream_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberVoiceState::clear_stream_id() {
  stream_id_ = GOOGLE_ULONGLONG(0);
  clear_has_stream_id();
}
inline ::google::protobuf::uint64 MemberVoiceState::stream_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceState.stream_id)
  return stream_id_;
}
inline void MemberVoiceState::set_stream_id(::google::protobuf::uint64 value) {
  set_has_stream_id();
  stream_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceState.stream_id)
}

// optional bool joined = 3;
inline bool MemberVoiceState::has_joined() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void MemberVoiceState::set_has_joined() {
  _has_bits_[0] |= 0x00000004u;
}
inline void MemberVoiceState::clear_has_joined() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void MemberVoiceState::clear_joined() {
  joined_ = false;
  clear_has_joined();
}
inline bool MemberVoiceState::joined() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceState.joined)
  return joined_;
}
inline void MemberVoiceState::set_joined(bool value) {
  set_has_joined();
  joined_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceState.joined)
}

// optional .bgs.protocol.club.v1.VoiceMicrophoneState microphone = 4;
inline bool MemberVoiceState::has_microphone() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void MemberVoiceState::set_has_microphone() {
  _has_bits_[0] |= 0x00000008u;
}
inline void MemberVoiceState::clear_has_microphone() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void MemberVoiceState::clear_microphone() {
  microphone_ = 0;
  clear_has_microphone();
}
inline ::bgs::protocol::club::v1::VoiceMicrophoneState MemberVoiceState::microphone() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceState.microphone)
  return static_cast< ::bgs::protocol::club::v1::VoiceMicrophoneState >(microphone_);
}
inline void MemberVoiceState::set_microphone(::bgs::protocol::club::v1::VoiceMicrophoneState value) {
  assert(::bgs::protocol::club::v1::VoiceMicrophoneState_IsValid(value));
  set_has_microphone();
  microphone_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceState.microphone)
}

// optional bool active = 5;
inline bool MemberVoiceState::has_active() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void MemberVoiceState::set_has_active() {
  _has_bits_[0] |= 0x00000010u;
}
inline void MemberVoiceState::clear_has_active() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void MemberVoiceState::clear_active() {
  active_ = false;
  clear_has_active();
}
inline bool MemberVoiceState::active() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberVoiceState.active)
  return active_;
}
inline void MemberVoiceState::set_active(bool value) {
  set_has_active();
  active_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberVoiceState.active)
}

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

// CreateMemberOptions

// optional .bgs.protocol.club.v1.MemberId id = 1;
inline bool CreateMemberOptions::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CreateMemberOptions::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void CreateMemberOptions::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void CreateMemberOptions::clear_id() {
  if (id_ != NULL) id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_id();
}
inline const ::bgs::protocol::club::v1::MemberId& CreateMemberOptions::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateMemberOptions.id)
  return id_ != NULL ? *id_ : *default_instance_->id_;
}
inline ::bgs::protocol::club::v1::MemberId* CreateMemberOptions::mutable_id() {
  set_has_id();
  if (id_ == NULL) id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.CreateMemberOptions.id)
  return id_;
}
inline ::bgs::protocol::club::v1::MemberId* CreateMemberOptions::release_id() {
  clear_has_id();
  ::bgs::protocol::club::v1::MemberId* temp = id_;
  id_ = NULL;
  return temp;
}
inline void CreateMemberOptions::set_allocated_id(::bgs::protocol::club::v1::MemberId* id) {
  delete id_;
  id_ = id;
  if (id) {
    set_has_id();
  } else {
    clear_has_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.CreateMemberOptions.id)
}

// repeated .bgs.protocol.v2.Attribute attribute = 2;
inline int CreateMemberOptions::attribute_size() const {
  return attribute_.size();
}
inline void CreateMemberOptions::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& CreateMemberOptions::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateMemberOptions.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* CreateMemberOptions::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.CreateMemberOptions.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* CreateMemberOptions::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.CreateMemberOptions.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
CreateMemberOptions::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.CreateMemberOptions.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
CreateMemberOptions::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.CreateMemberOptions.attribute)
  return &attribute_;
}

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

// MemberDescription

// optional .bgs.protocol.club.v1.MemberId id = 1;
inline bool MemberDescription::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberDescription::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberDescription::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberDescription::clear_id() {
  if (id_ != NULL) id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_id();
}
inline const ::bgs::protocol::club::v1::MemberId& MemberDescription::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberDescription.id)
  return id_ != NULL ? *id_ : *default_instance_->id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberDescription::mutable_id() {
  set_has_id();
  if (id_ == NULL) id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberDescription.id)
  return id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberDescription::release_id() {
  clear_has_id();
  ::bgs::protocol::club::v1::MemberId* temp = id_;
  id_ = NULL;
  return temp;
}
inline void MemberDescription::set_allocated_id(::bgs::protocol::club::v1::MemberId* id) {
  delete id_;
  id_ = id;
  if (id) {
    set_has_id();
  } else {
    clear_has_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberDescription.id)
}

// optional string battle_tag = 2;
inline bool MemberDescription::has_battle_tag() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberDescription::set_has_battle_tag() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberDescription::clear_has_battle_tag() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberDescription::clear_battle_tag() {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_->clear();
  }
  clear_has_battle_tag();
}
inline const ::std::string& MemberDescription::battle_tag() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberDescription.battle_tag)
  return *battle_tag_;
}
inline void MemberDescription::set_battle_tag(const ::std::string& value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberDescription.battle_tag)
}
inline void MemberDescription::set_battle_tag(const char* value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.MemberDescription.battle_tag)
}
inline void MemberDescription::set_battle_tag(const char* value, size_t size) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.MemberDescription.battle_tag)
}
inline ::std::string* MemberDescription::mutable_battle_tag() {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberDescription.battle_tag)
  return battle_tag_;
}
inline ::std::string* MemberDescription::release_battle_tag() {
  clear_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = battle_tag_;
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void MemberDescription::set_allocated_battle_tag(::std::string* battle_tag) {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete battle_tag_;
  }
  if (battle_tag) {
    set_has_battle_tag();
    battle_tag_ = battle_tag;
  } else {
    clear_has_battle_tag();
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberDescription.battle_tag)
}

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

// RoleOptions

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool RoleOptions::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void RoleOptions::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void RoleOptions::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void RoleOptions::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& RoleOptions::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RoleOptions.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* RoleOptions::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.RoleOptions.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* RoleOptions::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void RoleOptions::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.RoleOptions.member_id)
}

// repeated uint32 role = 2 [packed = true];
inline int RoleOptions::role_size() const {
  return role_.size();
}
inline void RoleOptions::clear_role() {
  role_.Clear();
}
inline ::google::protobuf::uint32 RoleOptions::role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RoleOptions.role)
  return role_.Get(index);
}
inline void RoleOptions::set_role(int index, ::google::protobuf::uint32 value) {
  role_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.RoleOptions.role)
}
inline void RoleOptions::add_role(::google::protobuf::uint32 value) {
  role_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.RoleOptions.role)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
RoleOptions::role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.RoleOptions.role)
  return role_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
RoleOptions::mutable_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.RoleOptions.role)
  return &role_;
}

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

// RoleAssignment

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool RoleAssignment::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void RoleAssignment::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void RoleAssignment::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void RoleAssignment::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& RoleAssignment::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RoleAssignment.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* RoleAssignment::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.RoleAssignment.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* RoleAssignment::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void RoleAssignment::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.RoleAssignment.member_id)
}

// repeated uint32 role = 2 [packed = true];
inline int RoleAssignment::role_size() const {
  return role_.size();
}
inline void RoleAssignment::clear_role() {
  role_.Clear();
}
inline ::google::protobuf::uint32 RoleAssignment::role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.RoleAssignment.role)
  return role_.Get(index);
}
inline void RoleAssignment::set_role(int index, ::google::protobuf::uint32 value) {
  role_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.RoleAssignment.role)
}
inline void RoleAssignment::add_role(::google::protobuf::uint32 value) {
  role_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.RoleAssignment.role)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
RoleAssignment::role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.RoleAssignment.role)
  return role_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
RoleAssignment::mutable_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.RoleAssignment.role)
  return &role_;
}

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

// MemberAttributeAssignment

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool MemberAttributeAssignment::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberAttributeAssignment::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberAttributeAssignment::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberAttributeAssignment::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& MemberAttributeAssignment::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberAttributeAssignment.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberAttributeAssignment::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberAttributeAssignment.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberAttributeAssignment::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void MemberAttributeAssignment::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberAttributeAssignment.member_id)
}

// repeated .bgs.protocol.v2.Attribute attribute = 2;
inline int MemberAttributeAssignment::attribute_size() const {
  return attribute_.size();
}
inline void MemberAttributeAssignment::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& MemberAttributeAssignment::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberAttributeAssignment.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* MemberAttributeAssignment::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberAttributeAssignment.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* MemberAttributeAssignment::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.MemberAttributeAssignment.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
MemberAttributeAssignment::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.MemberAttributeAssignment.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
MemberAttributeAssignment::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.MemberAttributeAssignment.attribute)
  return &attribute_;
}

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

// SubscriberStateOptions

// optional .bgs.protocol.club.v1.MemberVoiceOptions voice = 1;
inline bool SubscriberStateOptions::has_voice() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SubscriberStateOptions::set_has_voice() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SubscriberStateOptions::clear_has_voice() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SubscriberStateOptions::clear_voice() {
  if (voice_ != NULL) voice_->::bgs::protocol::club::v1::MemberVoiceOptions::Clear();
  clear_has_voice();
}
inline const ::bgs::protocol::club::v1::MemberVoiceOptions& SubscriberStateOptions::voice() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SubscriberStateOptions.voice)
  return voice_ != NULL ? *voice_ : *default_instance_->voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceOptions* SubscriberStateOptions::mutable_voice() {
  set_has_voice();
  if (voice_ == NULL) voice_ = new ::bgs::protocol::club::v1::MemberVoiceOptions;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SubscriberStateOptions.voice)
  return voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceOptions* SubscriberStateOptions::release_voice() {
  clear_has_voice();
  ::bgs::protocol::club::v1::MemberVoiceOptions* temp = voice_;
  voice_ = NULL;
  return temp;
}
inline void SubscriberStateOptions::set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceOptions* voice) {
  delete voice_;
  voice_ = voice;
  if (voice) {
    set_has_voice();
  } else {
    clear_has_voice();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SubscriberStateOptions.voice)
}

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

// SubscriberStateAssignment

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool SubscriberStateAssignment::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SubscriberStateAssignment::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SubscriberStateAssignment::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SubscriberStateAssignment::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& SubscriberStateAssignment::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SubscriberStateAssignment.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SubscriberStateAssignment::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SubscriberStateAssignment.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SubscriberStateAssignment::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void SubscriberStateAssignment::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SubscriberStateAssignment.member_id)
}

// optional bool active = 2;
inline bool SubscriberStateAssignment::has_active() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SubscriberStateAssignment::set_has_active() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SubscriberStateAssignment::clear_has_active() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SubscriberStateAssignment::clear_active() {
  active_ = false;
  clear_has_active();
}
inline bool SubscriberStateAssignment::active() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SubscriberStateAssignment.active)
  return active_;
}
inline void SubscriberStateAssignment::set_active(bool value) {
  set_has_active();
  active_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.SubscriberStateAssignment.active)
}

// optional .bgs.protocol.club.v1.MemberVoiceState voice = 3;
inline bool SubscriberStateAssignment::has_voice() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void SubscriberStateAssignment::set_has_voice() {
  _has_bits_[0] |= 0x00000004u;
}
inline void SubscriberStateAssignment::clear_has_voice() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void SubscriberStateAssignment::clear_voice() {
  if (voice_ != NULL) voice_->::bgs::protocol::club::v1::MemberVoiceState::Clear();
  clear_has_voice();
}
inline const ::bgs::protocol::club::v1::MemberVoiceState& SubscriberStateAssignment::voice() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SubscriberStateAssignment.voice)
  return voice_ != NULL ? *voice_ : *default_instance_->voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceState* SubscriberStateAssignment::mutable_voice() {
  set_has_voice();
  if (voice_ == NULL) voice_ = new ::bgs::protocol::club::v1::MemberVoiceState;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SubscriberStateAssignment.voice)
  return voice_;
}
inline ::bgs::protocol::club::v1::MemberVoiceState* SubscriberStateAssignment::release_voice() {
  clear_has_voice();
  ::bgs::protocol::club::v1::MemberVoiceState* temp = voice_;
  voice_ = NULL;
  return temp;
}
inline void SubscriberStateAssignment::set_allocated_voice(::bgs::protocol::club::v1::MemberVoiceState* voice) {
  delete voice_;
  voice_ = voice;
  if (voice) {
    set_has_voice();
  } else {
    clear_has_voice();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SubscriberStateAssignment.voice)
}

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

// MemberStateOptions

// repeated .bgs.protocol.v2.Attribute attribute = 1;
inline int MemberStateOptions::attribute_size() const {
  return attribute_.size();
}
inline void MemberStateOptions::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& MemberStateOptions::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateOptions.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* MemberStateOptions::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberStateOptions.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* MemberStateOptions::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.MemberStateOptions.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
MemberStateOptions::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.MemberStateOptions.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
MemberStateOptions::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.MemberStateOptions.attribute)
  return &attribute_;
}

// optional .bgs.protocol.club.v1.PresenceLevel presence_level = 2;
inline bool MemberStateOptions::has_presence_level() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void MemberStateOptions::set_has_presence_level() {
  _has_bits_[0] |= 0x00000002u;
}
inline void MemberStateOptions::clear_has_presence_level() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void MemberStateOptions::clear_presence_level() {
  presence_level_ = 0;
  clear_has_presence_level();
}
inline ::bgs::protocol::club::v1::PresenceLevel MemberStateOptions::presence_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateOptions.presence_level)
  return static_cast< ::bgs::protocol::club::v1::PresenceLevel >(presence_level_);
}
inline void MemberStateOptions::set_presence_level(::bgs::protocol::club::v1::PresenceLevel value) {
  assert(::bgs::protocol::club::v1::PresenceLevel_IsValid(value));
  set_has_presence_level();
  presence_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateOptions.presence_level)
}

// optional bool moderator_mute = 3;
inline bool MemberStateOptions::has_moderator_mute() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void MemberStateOptions::set_has_moderator_mute() {
  _has_bits_[0] |= 0x00000004u;
}
inline void MemberStateOptions::clear_has_moderator_mute() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void MemberStateOptions::clear_moderator_mute() {
  moderator_mute_ = false;
  clear_has_moderator_mute();
}
inline bool MemberStateOptions::moderator_mute() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateOptions.moderator_mute)
  return moderator_mute_;
}
inline void MemberStateOptions::set_moderator_mute(bool value) {
  set_has_moderator_mute();
  moderator_mute_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateOptions.moderator_mute)
}

// optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 4;
inline bool MemberStateOptions::has_whisper_level() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void MemberStateOptions::set_has_whisper_level() {
  _has_bits_[0] |= 0x00000008u;
}
inline void MemberStateOptions::clear_has_whisper_level() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void MemberStateOptions::clear_whisper_level() {
  whisper_level_ = 0;
  clear_has_whisper_level();
}
inline ::bgs::protocol::club::v1::WhisperLevel MemberStateOptions::whisper_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateOptions.whisper_level)
  return static_cast< ::bgs::protocol::club::v1::WhisperLevel >(whisper_level_);
}
inline void MemberStateOptions::set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value) {
  assert(::bgs::protocol::club::v1::WhisperLevel_IsValid(value));
  set_has_whisper_level();
  whisper_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateOptions.whisper_level)
}

// optional string note = 5;
inline bool MemberStateOptions::has_note() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void MemberStateOptions::set_has_note() {
  _has_bits_[0] |= 0x00000010u;
}
inline void MemberStateOptions::clear_has_note() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void MemberStateOptions::clear_note() {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_->clear();
  }
  clear_has_note();
}
inline const ::std::string& MemberStateOptions::note() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateOptions.note)
  return *note_;
}
inline void MemberStateOptions::set_note(const ::std::string& value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateOptions.note)
}
inline void MemberStateOptions::set_note(const char* value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.MemberStateOptions.note)
}
inline void MemberStateOptions::set_note(const char* value, size_t size) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.MemberStateOptions.note)
}
inline ::std::string* MemberStateOptions::mutable_note() {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberStateOptions.note)
  return note_;
}
inline ::std::string* MemberStateOptions::release_note() {
  clear_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = note_;
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void MemberStateOptions::set_allocated_note(::std::string* note) {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete note_;
  }
  if (note) {
    set_has_note();
    note_ = note;
  } else {
    clear_has_note();
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberStateOptions.note)
}

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

// MemberStateAssignment

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool MemberStateAssignment::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MemberStateAssignment::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MemberStateAssignment::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MemberStateAssignment::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& MemberStateAssignment::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberStateAssignment::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberStateAssignment.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* MemberStateAssignment::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void MemberStateAssignment::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberStateAssignment.member_id)
}

// repeated .bgs.protocol.v2.Attribute attribute = 2;
inline int MemberStateAssignment::attribute_size() const {
  return attribute_.size();
}
inline void MemberStateAssignment::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& MemberStateAssignment::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* MemberStateAssignment::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberStateAssignment.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* MemberStateAssignment::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.MemberStateAssignment.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
MemberStateAssignment::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.MemberStateAssignment.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
MemberStateAssignment::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.MemberStateAssignment.attribute)
  return &attribute_;
}

// optional .bgs.protocol.club.v1.PresenceLevel presence_level = 3;
inline bool MemberStateAssignment::has_presence_level() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void MemberStateAssignment::set_has_presence_level() {
  _has_bits_[0] |= 0x00000004u;
}
inline void MemberStateAssignment::clear_has_presence_level() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void MemberStateAssignment::clear_presence_level() {
  presence_level_ = 0;
  clear_has_presence_level();
}
inline ::bgs::protocol::club::v1::PresenceLevel MemberStateAssignment::presence_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.presence_level)
  return static_cast< ::bgs::protocol::club::v1::PresenceLevel >(presence_level_);
}
inline void MemberStateAssignment::set_presence_level(::bgs::protocol::club::v1::PresenceLevel value) {
  assert(::bgs::protocol::club::v1::PresenceLevel_IsValid(value));
  set_has_presence_level();
  presence_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateAssignment.presence_level)
}

// optional bool moderator_mute = 4;
inline bool MemberStateAssignment::has_moderator_mute() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void MemberStateAssignment::set_has_moderator_mute() {
  _has_bits_[0] |= 0x00000008u;
}
inline void MemberStateAssignment::clear_has_moderator_mute() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void MemberStateAssignment::clear_moderator_mute() {
  moderator_mute_ = false;
  clear_has_moderator_mute();
}
inline bool MemberStateAssignment::moderator_mute() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.moderator_mute)
  return moderator_mute_;
}
inline void MemberStateAssignment::set_moderator_mute(bool value) {
  set_has_moderator_mute();
  moderator_mute_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateAssignment.moderator_mute)
}

// optional .bgs.protocol.club.v1.WhisperLevel whisper_level = 5;
inline bool MemberStateAssignment::has_whisper_level() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void MemberStateAssignment::set_has_whisper_level() {
  _has_bits_[0] |= 0x00000010u;
}
inline void MemberStateAssignment::clear_has_whisper_level() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void MemberStateAssignment::clear_whisper_level() {
  whisper_level_ = 0;
  clear_has_whisper_level();
}
inline ::bgs::protocol::club::v1::WhisperLevel MemberStateAssignment::whisper_level() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.whisper_level)
  return static_cast< ::bgs::protocol::club::v1::WhisperLevel >(whisper_level_);
}
inline void MemberStateAssignment::set_whisper_level(::bgs::protocol::club::v1::WhisperLevel value) {
  assert(::bgs::protocol::club::v1::WhisperLevel_IsValid(value));
  set_has_whisper_level();
  whisper_level_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateAssignment.whisper_level)
}

// optional string note = 6;
inline bool MemberStateAssignment::has_note() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void MemberStateAssignment::set_has_note() {
  _has_bits_[0] |= 0x00000020u;
}
inline void MemberStateAssignment::clear_has_note() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void MemberStateAssignment::clear_note() {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_->clear();
  }
  clear_has_note();
}
inline const ::std::string& MemberStateAssignment::note() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.MemberStateAssignment.note)
  return *note_;
}
inline void MemberStateAssignment::set_note(const ::std::string& value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.MemberStateAssignment.note)
}
inline void MemberStateAssignment::set_note(const char* value) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.MemberStateAssignment.note)
}
inline void MemberStateAssignment::set_note(const char* value, size_t size) {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  note_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.MemberStateAssignment.note)
}
inline ::std::string* MemberStateAssignment::mutable_note() {
  set_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    note_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.MemberStateAssignment.note)
  return note_;
}
inline ::std::string* MemberStateAssignment::release_note() {
  clear_has_note();
  if (note_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = note_;
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void MemberStateAssignment::set_allocated_note(::std::string* note) {
  if (note_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete note_;
  }
  if (note) {
    set_has_note();
    note_ = note;
  } else {
    clear_has_note();
    note_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.MemberStateAssignment.note)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace v1
}  // namespace club
}  // namespace protocol
}  // namespace bgs

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_club_5fmember_2eproto__INCLUDED
