// Code generated by protoc-gen-go. DO NOT EDIT.
// source: user/user.proto

package user

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// 验证码类型
type CodeType int32

const (
	CodeType_DEFAULT CodeType = 0
	CodeType_LOGIN   CodeType = 1
	CodeType_FINDPWD CodeType = 2
)

var CodeType_name = map[int32]string{
	0: "DEFAULT",
	1: "LOGIN",
	2: "FINDPWD",
}
var CodeType_value = map[string]int32{
	"DEFAULT": 0,
	"LOGIN":   1,
	"FINDPWD": 2,
}

func (x CodeType) String() string {
	return proto.EnumName(CodeType_name, int32(x))
}
func (CodeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{0}
}

// 登陆类型
type LoginType int32

const (
	LoginType_Default LoginType = 0
	// 验证码登陆
	LoginType_Code LoginType = 1
	// 账户登陆
	LoginType_Account LoginType = 2
)

var LoginType_name = map[int32]string{
	0: "Default",
	1: "Code",
	2: "Account",
}
var LoginType_value = map[string]int32{
	"Default": 0,
	"Code":    1,
	"Account": 2,
}

func (x LoginType) String() string {
	return proto.EnumName(LoginType_name, int32(x))
}
func (LoginType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{1}
}

// 冻结类型
type Status int32

const (
	Status_StatusDefault Status = 0
	Status_Unfreeze      Status = 1
	Status_Freeze        Status = 2
)

var Status_name = map[int32]string{
	0: "StatusDefault",
	1: "Unfreeze",
	2: "Freeze",
}
var Status_value = map[string]int32{
	"StatusDefault": 0,
	"Unfreeze":      1,
	"Freeze":        2,
}

func (x Status) String() string {
	return proto.EnumName(Status_name, int32(x))
}
func (Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{2}
}

// 推送类型枚举
// 验证码类型
type HashChangeType int32

const (
	HashChangeType_HASH_CHANGE_DEFAULT HashChangeType = 0
	HashChangeType_BTC_CHANGE          HashChangeType = 1
	HashChangeType_LIKE_CHANGE         HashChangeType = 2
	HashChangeType_FOCUS_CHANGE        HashChangeType = 3
)

var HashChangeType_name = map[int32]string{
	0: "HASH_CHANGE_DEFAULT",
	1: "BTC_CHANGE",
	2: "LIKE_CHANGE",
	3: "FOCUS_CHANGE",
}
var HashChangeType_value = map[string]int32{
	"HASH_CHANGE_DEFAULT": 0,
	"BTC_CHANGE":          1,
	"LIKE_CHANGE":         2,
	"FOCUS_CHANGE":        3,
}

func (x HashChangeType) String() string {
	return proto.EnumName(HashChangeType_name, int32(x))
}
func (HashChangeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{3}
}

// 发送验证码
type SendCodeReq struct {
	// 手机号
	Tel string `protobuf:"bytes,1,opt,name=tel,proto3" json:"tel,omitempty"`
	// 验证码类型  --“register”：注册。”login“：登陆，“findpwd”:找回密码
	CodeTypes            CodeType `protobuf:"varint,2,opt,name=code_types,json=codeTypes,proto3,enum=user.CodeType" json:"code_types,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SendCodeReq) Reset()         { *m = SendCodeReq{} }
func (m *SendCodeReq) String() string { return proto.CompactTextString(m) }
func (*SendCodeReq) ProtoMessage()    {}
func (*SendCodeReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{0}
}
func (m *SendCodeReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SendCodeReq.Unmarshal(m, b)
}
func (m *SendCodeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SendCodeReq.Marshal(b, m, deterministic)
}
func (dst *SendCodeReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SendCodeReq.Merge(dst, src)
}
func (m *SendCodeReq) XXX_Size() int {
	return xxx_messageInfo_SendCodeReq.Size(m)
}
func (m *SendCodeReq) XXX_DiscardUnknown() {
	xxx_messageInfo_SendCodeReq.DiscardUnknown(m)
}

var xxx_messageInfo_SendCodeReq proto.InternalMessageInfo

func (m *SendCodeReq) GetTel() string {
	if m != nil {
		return m.Tel
	}
	return ""
}

func (m *SendCodeReq) GetCodeTypes() CodeType {
	if m != nil {
		return m.CodeTypes
	}
	return CodeType_DEFAULT
}

// 登陆
type LoginReq struct {
	// 手机号
	UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
	// 密码
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// 设备号
	DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// 验证码
	SmsCode string `protobuf:"bytes,4,opt,name=sms_code,json=smsCode,proto3" json:"sms_code,omitempty"`
	// 登陆类型
	LoginType            LoginType `protobuf:"varint,5,opt,name=login_type,json=loginType,proto3,enum=user.LoginType" json:"login_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *LoginReq) Reset()         { *m = LoginReq{} }
func (m *LoginReq) String() string { return proto.CompactTextString(m) }
func (*LoginReq) ProtoMessage()    {}
func (*LoginReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{1}
}
func (m *LoginReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoginReq.Unmarshal(m, b)
}
func (m *LoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoginReq.Marshal(b, m, deterministic)
}
func (dst *LoginReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoginReq.Merge(dst, src)
}
func (m *LoginReq) XXX_Size() int {
	return xxx_messageInfo_LoginReq.Size(m)
}
func (m *LoginReq) XXX_DiscardUnknown() {
	xxx_messageInfo_LoginReq.DiscardUnknown(m)
}

var xxx_messageInfo_LoginReq proto.InternalMessageInfo

func (m *LoginReq) GetUserName() string {
	if m != nil {
		return m.UserName
	}
	return ""
}

func (m *LoginReq) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *LoginReq) GetDeviceId() string {
	if m != nil {
		return m.DeviceId
	}
	return ""
}

func (m *LoginReq) GetSmsCode() string {
	if m != nil {
		return m.SmsCode
	}
	return ""
}

func (m *LoginReq) GetLoginType() LoginType {
	if m != nil {
		return m.LoginType
	}
	return LoginType_Default
}

// 登陆返回
type LoginRes struct {
	// id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 是否是新注册用户
	IsRegister           bool     `protobuf:"varint,2,opt,name=is_register,json=isRegister,proto3" json:"is_register,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoginRes) Reset()         { *m = LoginRes{} }
func (m *LoginRes) String() string { return proto.CompactTextString(m) }
func (*LoginRes) ProtoMessage()    {}
func (*LoginRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{2}
}
func (m *LoginRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoginRes.Unmarshal(m, b)
}
func (m *LoginRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoginRes.Marshal(b, m, deterministic)
}
func (dst *LoginRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoginRes.Merge(dst, src)
}
func (m *LoginRes) XXX_Size() int {
	return xxx_messageInfo_LoginRes.Size(m)
}
func (m *LoginRes) XXX_DiscardUnknown() {
	xxx_messageInfo_LoginRes.DiscardUnknown(m)
}

var xxx_messageInfo_LoginRes proto.InternalMessageInfo

func (m *LoginRes) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *LoginRes) GetIsRegister() bool {
	if m != nil {
		return m.IsRegister
	}
	return false
}

// 设置密码
type SetPasswordReq struct {
	// 密码
	Password             string   `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SetPasswordReq) Reset()         { *m = SetPasswordReq{} }
func (m *SetPasswordReq) String() string { return proto.CompactTextString(m) }
func (*SetPasswordReq) ProtoMessage()    {}
func (*SetPasswordReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{3}
}
func (m *SetPasswordReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetPasswordReq.Unmarshal(m, b)
}
func (m *SetPasswordReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetPasswordReq.Marshal(b, m, deterministic)
}
func (dst *SetPasswordReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetPasswordReq.Merge(dst, src)
}
func (m *SetPasswordReq) XXX_Size() int {
	return xxx_messageInfo_SetPasswordReq.Size(m)
}
func (m *SetPasswordReq) XXX_DiscardUnknown() {
	xxx_messageInfo_SetPasswordReq.DiscardUnknown(m)
}

var xxx_messageInfo_SetPasswordReq proto.InternalMessageInfo

func (m *SetPasswordReq) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

// 找回密码
type FindPasswordReq struct {
	// 手机号
	Tel string `protobuf:"bytes,1,opt,name=tel,proto3" json:"tel,omitempty"`
	// 密码
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// 验证码
	SmsCode              string   `protobuf:"bytes,3,opt,name=sms_code,json=smsCode,proto3" json:"sms_code,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FindPasswordReq) Reset()         { *m = FindPasswordReq{} }
func (m *FindPasswordReq) String() string { return proto.CompactTextString(m) }
func (*FindPasswordReq) ProtoMessage()    {}
func (*FindPasswordReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{4}
}
func (m *FindPasswordReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FindPasswordReq.Unmarshal(m, b)
}
func (m *FindPasswordReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FindPasswordReq.Marshal(b, m, deterministic)
}
func (dst *FindPasswordReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FindPasswordReq.Merge(dst, src)
}
func (m *FindPasswordReq) XXX_Size() int {
	return xxx_messageInfo_FindPasswordReq.Size(m)
}
func (m *FindPasswordReq) XXX_DiscardUnknown() {
	xxx_messageInfo_FindPasswordReq.DiscardUnknown(m)
}

var xxx_messageInfo_FindPasswordReq proto.InternalMessageInfo

func (m *FindPasswordReq) GetTel() string {
	if m != nil {
		return m.Tel
	}
	return ""
}

func (m *FindPasswordReq) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *FindPasswordReq) GetSmsCode() string {
	if m != nil {
		return m.SmsCode
	}
	return ""
}

// 修改密码
type ModifyPwdReq struct {
	// 手机号
	Tel string `protobuf:"bytes,1,opt,name=tel,proto3" json:"tel,omitempty"`
	// 密码
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// 验证码
	SmsCode string `protobuf:"bytes,3,opt,name=sms_code,json=smsCode,proto3" json:"sms_code,omitempty"`
	// 验证码类型 --“register”：注册。”login“：登陆，“findpwd”:找回密码
	CodeTypes            string   `protobuf:"bytes,4,opt,name=code_types,json=codeTypes,proto3" json:"code_types,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyPwdReq) Reset()         { *m = ModifyPwdReq{} }
func (m *ModifyPwdReq) String() string { return proto.CompactTextString(m) }
func (*ModifyPwdReq) ProtoMessage()    {}
func (*ModifyPwdReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{5}
}
func (m *ModifyPwdReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyPwdReq.Unmarshal(m, b)
}
func (m *ModifyPwdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyPwdReq.Marshal(b, m, deterministic)
}
func (dst *ModifyPwdReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyPwdReq.Merge(dst, src)
}
func (m *ModifyPwdReq) XXX_Size() int {
	return xxx_messageInfo_ModifyPwdReq.Size(m)
}
func (m *ModifyPwdReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyPwdReq.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyPwdReq proto.InternalMessageInfo

func (m *ModifyPwdReq) GetTel() string {
	if m != nil {
		return m.Tel
	}
	return ""
}

func (m *ModifyPwdReq) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *ModifyPwdReq) GetSmsCode() string {
	if m != nil {
		return m.SmsCode
	}
	return ""
}

func (m *ModifyPwdReq) GetCodeTypes() string {
	if m != nil {
		return m.CodeTypes
	}
	return ""
}

// 编辑用户
type EditUserReq struct {
	// 昵称
	NickName string `protobuf:"bytes,1,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
	// 头像
	Pic string `protobuf:"bytes,2,opt,name=pic,proto3" json:"pic,omitempty"`
	// 性别
	Gender int32 `protobuf:"varint,3,opt,name=gender,proto3" json:"gender,omitempty"`
	// 地址
	AddressId string `protobuf:"bytes,4,opt,name=address_id,json=addressId,proto3" json:"address_id,omitempty"`
	// 生日
	Birthday string `protobuf:"bytes,5,opt,name=birthday,proto3" json:"birthday,omitempty"`
	// 学校
	School               string   `protobuf:"bytes,6,opt,name=school,proto3" json:"school,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditUserReq) Reset()         { *m = EditUserReq{} }
func (m *EditUserReq) String() string { return proto.CompactTextString(m) }
func (*EditUserReq) ProtoMessage()    {}
func (*EditUserReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{6}
}
func (m *EditUserReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditUserReq.Unmarshal(m, b)
}
func (m *EditUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditUserReq.Marshal(b, m, deterministic)
}
func (dst *EditUserReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditUserReq.Merge(dst, src)
}
func (m *EditUserReq) XXX_Size() int {
	return xxx_messageInfo_EditUserReq.Size(m)
}
func (m *EditUserReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditUserReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditUserReq proto.InternalMessageInfo

func (m *EditUserReq) GetNickName() string {
	if m != nil {
		return m.NickName
	}
	return ""
}

func (m *EditUserReq) GetPic() string {
	if m != nil {
		return m.Pic
	}
	return ""
}

func (m *EditUserReq) GetGender() int32 {
	if m != nil {
		return m.Gender
	}
	return 0
}

func (m *EditUserReq) GetAddressId() string {
	if m != nil {
		return m.AddressId
	}
	return ""
}

func (m *EditUserReq) GetBirthday() string {
	if m != nil {
		return m.Birthday
	}
	return ""
}

func (m *EditUserReq) GetSchool() string {
	if m != nil {
		return m.School
	}
	return ""
}

// 启用禁用
type ModifyStatusReq struct {
	// 用户id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 状态 1.启用 2.禁用
	Status               Status   `protobuf:"varint,2,opt,name=status,proto3,enum=user.Status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyStatusReq) Reset()         { *m = ModifyStatusReq{} }
func (m *ModifyStatusReq) String() string { return proto.CompactTextString(m) }
func (*ModifyStatusReq) ProtoMessage()    {}
func (*ModifyStatusReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{7}
}
func (m *ModifyStatusReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyStatusReq.Unmarshal(m, b)
}
func (m *ModifyStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyStatusReq.Marshal(b, m, deterministic)
}
func (dst *ModifyStatusReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyStatusReq.Merge(dst, src)
}
func (m *ModifyStatusReq) XXX_Size() int {
	return xxx_messageInfo_ModifyStatusReq.Size(m)
}
func (m *ModifyStatusReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyStatusReq.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyStatusReq proto.InternalMessageInfo

func (m *ModifyStatusReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *ModifyStatusReq) GetStatus() Status {
	if m != nil {
		return m.Status
	}
	return Status_StatusDefault
}

// 戳泡泡启用禁用
type ModifyBubbleStatusReq struct {
	// 用户id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 状态 1.启用 2.禁用
	Status               Status   `protobuf:"varint,2,opt,name=status,proto3,enum=user.Status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyBubbleStatusReq) Reset()         { *m = ModifyBubbleStatusReq{} }
func (m *ModifyBubbleStatusReq) String() string { return proto.CompactTextString(m) }
func (*ModifyBubbleStatusReq) ProtoMessage()    {}
func (*ModifyBubbleStatusReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{8}
}
func (m *ModifyBubbleStatusReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyBubbleStatusReq.Unmarshal(m, b)
}
func (m *ModifyBubbleStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyBubbleStatusReq.Marshal(b, m, deterministic)
}
func (dst *ModifyBubbleStatusReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyBubbleStatusReq.Merge(dst, src)
}
func (m *ModifyBubbleStatusReq) XXX_Size() int {
	return xxx_messageInfo_ModifyBubbleStatusReq.Size(m)
}
func (m *ModifyBubbleStatusReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyBubbleStatusReq.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyBubbleStatusReq proto.InternalMessageInfo

func (m *ModifyBubbleStatusReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *ModifyBubbleStatusReq) GetStatus() Status {
	if m != nil {
		return m.Status
	}
	return Status_StatusDefault
}

// 老司机启用禁用
type ModifyDriveStatusReq struct {
	// 用户id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 状态 1.启用 2.禁用
	Status               Status   `protobuf:"varint,2,opt,name=status,proto3,enum=user.Status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ModifyDriveStatusReq) Reset()         { *m = ModifyDriveStatusReq{} }
func (m *ModifyDriveStatusReq) String() string { return proto.CompactTextString(m) }
func (*ModifyDriveStatusReq) ProtoMessage()    {}
func (*ModifyDriveStatusReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{9}
}
func (m *ModifyDriveStatusReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModifyDriveStatusReq.Unmarshal(m, b)
}
func (m *ModifyDriveStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModifyDriveStatusReq.Marshal(b, m, deterministic)
}
func (dst *ModifyDriveStatusReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModifyDriveStatusReq.Merge(dst, src)
}
func (m *ModifyDriveStatusReq) XXX_Size() int {
	return xxx_messageInfo_ModifyDriveStatusReq.Size(m)
}
func (m *ModifyDriveStatusReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ModifyDriveStatusReq.DiscardUnknown(m)
}

var xxx_messageInfo_ModifyDriveStatusReq proto.InternalMessageInfo

func (m *ModifyDriveStatusReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *ModifyDriveStatusReq) GetStatus() Status {
	if m != nil {
		return m.Status
	}
	return Status_StatusDefault
}

// 用户分页列表
type UserListReq struct {
	// 第几页
	Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	// 每页条数
	Length int32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
	// 最小hash等级
	MinLevel int32 `protobuf:"varint,3,opt,name=min_level,json=minLevel,proto3" json:"min_level,omitempty"`
	// 最大hash等级
	MaxLevel int32 `protobuf:"varint,4,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
	// 最小fans
	MinFans              int64    `protobuf:"varint,5,opt,name=min_fans,json=minFans,proto3" json:"min_fans,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserListReq) Reset()         { *m = UserListReq{} }
func (m *UserListReq) String() string { return proto.CompactTextString(m) }
func (*UserListReq) ProtoMessage()    {}
func (*UserListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{10}
}
func (m *UserListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserListReq.Unmarshal(m, b)
}
func (m *UserListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserListReq.Marshal(b, m, deterministic)
}
func (dst *UserListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserListReq.Merge(dst, src)
}
func (m *UserListReq) XXX_Size() int {
	return xxx_messageInfo_UserListReq.Size(m)
}
func (m *UserListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserListReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserListReq proto.InternalMessageInfo

func (m *UserListReq) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *UserListReq) GetLength() int32 {
	if m != nil {
		return m.Length
	}
	return 0
}

func (m *UserListReq) GetMinLevel() int32 {
	if m != nil {
		return m.MinLevel
	}
	return 0
}

func (m *UserListReq) GetMaxLevel() int32 {
	if m != nil {
		return m.MaxLevel
	}
	return 0
}

func (m *UserListReq) GetMinFans() int64 {
	if m != nil {
		return m.MinFans
	}
	return 0
}

// 用户分页列表返回值
type UserListRes struct {
	// 用户列表
	UserList             []*User  `protobuf:"bytes,1,rep,name=user_list,json=userList,proto3" json:"user_list,omitempty"`
	Total                int64    `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserListRes) Reset()         { *m = UserListRes{} }
func (m *UserListRes) String() string { return proto.CompactTextString(m) }
func (*UserListRes) ProtoMessage()    {}
func (*UserListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{11}
}
func (m *UserListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserListRes.Unmarshal(m, b)
}
func (m *UserListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserListRes.Marshal(b, m, deterministic)
}
func (dst *UserListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserListRes.Merge(dst, src)
}
func (m *UserListRes) XXX_Size() int {
	return xxx_messageInfo_UserListRes.Size(m)
}
func (m *UserListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_UserListRes.DiscardUnknown(m)
}

var xxx_messageInfo_UserListRes proto.InternalMessageInfo

func (m *UserListRes) GetUserList() []*User {
	if m != nil {
		return m.UserList
	}
	return nil
}

func (m *UserListRes) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

// 用户实体
type User struct {
	// 用户id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 哈希id
	HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"`
	// 昵称
	NickName string `protobuf:"bytes,3,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
	// 头像
	Pic string `protobuf:"bytes,4,opt,name=pic,proto3" json:"pic,omitempty"`
	// 实名认证 0.未认证 1.认证中 2.认证成功 3.认证失败
	Identify int32 `protobuf:"varint,5,opt,name=identify,proto3" json:"identify,omitempty"`
	// vip名称
	VipName string `protobuf:"bytes,6,opt,name=vip_name,json=vipName,proto3" json:"vip_name,omitempty"`
	// 性别 1.男 2.女
	Gender int32 `protobuf:"varint,7,opt,name=gender,proto3" json:"gender,omitempty"`
	// 标签
	Badge string `protobuf:"bytes,8,opt,name=badge,proto3" json:"badge,omitempty"`
	// 地址id
	AddressId string `protobuf:"bytes,9,opt,name=address_id,json=addressId,proto3" json:"address_id,omitempty"`
	// 手机号
	Tel string `protobuf:"bytes,10,opt,name=tel,proto3" json:"tel,omitempty"`
	// 生日
	Birthday string `protobuf:"bytes,11,opt,name=birthday,proto3" json:"birthday,omitempty"`
	// 状态 1.正常 2.冻结
	Status int32 `protobuf:"varint,12,opt,name=status,proto3" json:"status,omitempty"`
	// 戳泡泡状态
	BubbleStatus int32 `protobuf:"varint,13,opt,name=bubble_status,json=bubbleStatus,proto3" json:"bubble_status,omitempty"`
	// 老司机状态
	DriveStatus int32 `protobuf:"varint,14,opt,name=drive_status,json=driveStatus,proto3" json:"drive_status,omitempty"`
	// hash_level
	HashLevel int32 `protobuf:"varint,15,opt,name=hash_level,json=hashLevel,proto3" json:"hash_level,omitempty"`
	// fans数量
	FansNum              int64    `protobuf:"varint,16,opt,name=fans_num,json=fansNum,proto3" json:"fans_num,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *User) Reset()         { *m = User{} }
func (m *User) String() string { return proto.CompactTextString(m) }
func (*User) ProtoMessage()    {}
func (*User) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{12}
}
func (m *User) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_User.Unmarshal(m, b)
}
func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_User.Marshal(b, m, deterministic)
}
func (dst *User) XXX_Merge(src proto.Message) {
	xxx_messageInfo_User.Merge(dst, src)
}
func (m *User) XXX_Size() int {
	return xxx_messageInfo_User.Size(m)
}
func (m *User) XXX_DiscardUnknown() {
	xxx_messageInfo_User.DiscardUnknown(m)
}

var xxx_messageInfo_User proto.InternalMessageInfo

func (m *User) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *User) GetHashId() string {
	if m != nil {
		return m.HashId
	}
	return ""
}

func (m *User) GetNickName() string {
	if m != nil {
		return m.NickName
	}
	return ""
}

func (m *User) GetPic() string {
	if m != nil {
		return m.Pic
	}
	return ""
}

func (m *User) GetIdentify() int32 {
	if m != nil {
		return m.Identify
	}
	return 0
}

func (m *User) GetVipName() string {
	if m != nil {
		return m.VipName
	}
	return ""
}

func (m *User) GetGender() int32 {
	if m != nil {
		return m.Gender
	}
	return 0
}

func (m *User) GetBadge() string {
	if m != nil {
		return m.Badge
	}
	return ""
}

func (m *User) GetAddressId() string {
	if m != nil {
		return m.AddressId
	}
	return ""
}

func (m *User) GetTel() string {
	if m != nil {
		return m.Tel
	}
	return ""
}

func (m *User) GetBirthday() string {
	if m != nil {
		return m.Birthday
	}
	return ""
}

func (m *User) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *User) GetBubbleStatus() int32 {
	if m != nil {
		return m.BubbleStatus
	}
	return 0
}

func (m *User) GetDriveStatus() int32 {
	if m != nil {
		return m.DriveStatus
	}
	return 0
}

func (m *User) GetHashLevel() int32 {
	if m != nil {
		return m.HashLevel
	}
	return 0
}

func (m *User) GetFansNum() int64 {
	if m != nil {
		return m.FansNum
	}
	return 0
}

// 关注
type FocusUserReq struct {
	// 被关注人
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FocusUserReq) Reset()         { *m = FocusUserReq{} }
func (m *FocusUserReq) String() string { return proto.CompactTextString(m) }
func (*FocusUserReq) ProtoMessage()    {}
func (*FocusUserReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{13}
}
func (m *FocusUserReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FocusUserReq.Unmarshal(m, b)
}
func (m *FocusUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FocusUserReq.Marshal(b, m, deterministic)
}
func (dst *FocusUserReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FocusUserReq.Merge(dst, src)
}
func (m *FocusUserReq) XXX_Size() int {
	return xxx_messageInfo_FocusUserReq.Size(m)
}
func (m *FocusUserReq) XXX_DiscardUnknown() {
	xxx_messageInfo_FocusUserReq.DiscardUnknown(m)
}

var xxx_messageInfo_FocusUserReq proto.InternalMessageInfo

func (m *FocusUserReq) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

// 取消关注
type UnFocusUserReq struct {
	// 被关注人
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnFocusUserReq) Reset()         { *m = UnFocusUserReq{} }
func (m *UnFocusUserReq) String() string { return proto.CompactTextString(m) }
func (*UnFocusUserReq) ProtoMessage()    {}
func (*UnFocusUserReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{14}
}
func (m *UnFocusUserReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnFocusUserReq.Unmarshal(m, b)
}
func (m *UnFocusUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnFocusUserReq.Marshal(b, m, deterministic)
}
func (dst *UnFocusUserReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnFocusUserReq.Merge(dst, src)
}
func (m *UnFocusUserReq) XXX_Size() int {
	return xxx_messageInfo_UnFocusUserReq.Size(m)
}
func (m *UnFocusUserReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UnFocusUserReq.DiscardUnknown(m)
}

var xxx_messageInfo_UnFocusUserReq proto.InternalMessageInfo

func (m *UnFocusUserReq) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

// 添加联系人
type AddFriendReq struct {
	// 用户2
	User2Id              int64    `protobuf:"varint,2,opt,name=user2_id,json=user2Id,proto3" json:"user2_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddFriendReq) Reset()         { *m = AddFriendReq{} }
func (m *AddFriendReq) String() string { return proto.CompactTextString(m) }
func (*AddFriendReq) ProtoMessage()    {}
func (*AddFriendReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{15}
}
func (m *AddFriendReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddFriendReq.Unmarshal(m, b)
}
func (m *AddFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddFriendReq.Marshal(b, m, deterministic)
}
func (dst *AddFriendReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddFriendReq.Merge(dst, src)
}
func (m *AddFriendReq) XXX_Size() int {
	return xxx_messageInfo_AddFriendReq.Size(m)
}
func (m *AddFriendReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddFriendReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddFriendReq proto.InternalMessageInfo

func (m *AddFriendReq) GetUser2Id() int64 {
	if m != nil {
		return m.User2Id
	}
	return 0
}

// 删除联系人
type DelFriendReq struct {
	// 用户2
	User2Id              int64    `protobuf:"varint,2,opt,name=user2_id,json=user2Id,proto3" json:"user2_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DelFriendReq) Reset()         { *m = DelFriendReq{} }
func (m *DelFriendReq) String() string { return proto.CompactTextString(m) }
func (*DelFriendReq) ProtoMessage()    {}
func (*DelFriendReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{16}
}
func (m *DelFriendReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DelFriendReq.Unmarshal(m, b)
}
func (m *DelFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DelFriendReq.Marshal(b, m, deterministic)
}
func (dst *DelFriendReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DelFriendReq.Merge(dst, src)
}
func (m *DelFriendReq) XXX_Size() int {
	return xxx_messageInfo_DelFriendReq.Size(m)
}
func (m *DelFriendReq) XXX_DiscardUnknown() {
	xxx_messageInfo_DelFriendReq.DiscardUnknown(m)
}

var xxx_messageInfo_DelFriendReq proto.InternalMessageInfo

func (m *DelFriendReq) GetUser2Id() int64 {
	if m != nil {
		return m.User2Id
	}
	return 0
}

// 加入黑名单
type BlockUserReq struct {
	// 被拉黑用户
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockUserReq) Reset()         { *m = BlockUserReq{} }
func (m *BlockUserReq) String() string { return proto.CompactTextString(m) }
func (*BlockUserReq) ProtoMessage()    {}
func (*BlockUserReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{17}
}
func (m *BlockUserReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlockUserReq.Unmarshal(m, b)
}
func (m *BlockUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlockUserReq.Marshal(b, m, deterministic)
}
func (dst *BlockUserReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlockUserReq.Merge(dst, src)
}
func (m *BlockUserReq) XXX_Size() int {
	return xxx_messageInfo_BlockUserReq.Size(m)
}
func (m *BlockUserReq) XXX_DiscardUnknown() {
	xxx_messageInfo_BlockUserReq.DiscardUnknown(m)
}

var xxx_messageInfo_BlockUserReq proto.InternalMessageInfo

func (m *BlockUserReq) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

// 移除黑名单
type UnblockUserReq struct {
	// 被拉黑用户
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnblockUserReq) Reset()         { *m = UnblockUserReq{} }
func (m *UnblockUserReq) String() string { return proto.CompactTextString(m) }
func (*UnblockUserReq) ProtoMessage()    {}
func (*UnblockUserReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{18}
}
func (m *UnblockUserReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnblockUserReq.Unmarshal(m, b)
}
func (m *UnblockUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnblockUserReq.Marshal(b, m, deterministic)
}
func (dst *UnblockUserReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnblockUserReq.Merge(dst, src)
}
func (m *UnblockUserReq) XXX_Size() int {
	return xxx_messageInfo_UnblockUserReq.Size(m)
}
func (m *UnblockUserReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UnblockUserReq.DiscardUnknown(m)
}

var xxx_messageInfo_UnblockUserReq proto.InternalMessageInfo

func (m *UnblockUserReq) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

// 用户卡包列表
type UserCardListReq struct {
	// 用户id
	UserId               int64    `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserCardListReq) Reset()         { *m = UserCardListReq{} }
func (m *UserCardListReq) String() string { return proto.CompactTextString(m) }
func (*UserCardListReq) ProtoMessage()    {}
func (*UserCardListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{19}
}
func (m *UserCardListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserCardListReq.Unmarshal(m, b)
}
func (m *UserCardListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserCardListReq.Marshal(b, m, deterministic)
}
func (dst *UserCardListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserCardListReq.Merge(dst, src)
}
func (m *UserCardListReq) XXX_Size() int {
	return xxx_messageInfo_UserCardListReq.Size(m)
}
func (m *UserCardListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserCardListReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserCardListReq proto.InternalMessageInfo

func (m *UserCardListReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

// 用户卡包列表--返回值
type UserCardListRes struct {
	// 卡列表
	CardList             []*UserCard `protobuf:"bytes,1,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *UserCardListRes) Reset()         { *m = UserCardListRes{} }
func (m *UserCardListRes) String() string { return proto.CompactTextString(m) }
func (*UserCardListRes) ProtoMessage()    {}
func (*UserCardListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{20}
}
func (m *UserCardListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserCardListRes.Unmarshal(m, b)
}
func (m *UserCardListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserCardListRes.Marshal(b, m, deterministic)
}
func (dst *UserCardListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserCardListRes.Merge(dst, src)
}
func (m *UserCardListRes) XXX_Size() int {
	return xxx_messageInfo_UserCardListRes.Size(m)
}
func (m *UserCardListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_UserCardListRes.DiscardUnknown(m)
}

var xxx_messageInfo_UserCardListRes proto.InternalMessageInfo

func (m *UserCardListRes) GetCardList() []*UserCard {
	if m != nil {
		return m.CardList
	}
	return nil
}

// 暴击卡实体
type UserCard struct {
	// 卡id
	CardId int64 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
	// 卡类型
	CardType string `protobuf:"bytes,2,opt,name=card_type,json=cardType,proto3" json:"card_type,omitempty"`
	// 卡名称
	CardName string `protobuf:"bytes,3,opt,name=card_name,json=cardName,proto3" json:"card_name,omitempty"`
	// 暴击倍数
	Times                int64    `protobuf:"varint,4,opt,name=times,proto3" json:"times,omitempty"`
	UserCardId           int64    `protobuf:"varint,5,opt,name=user_card_id,json=userCardId,proto3" json:"user_card_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserCard) Reset()         { *m = UserCard{} }
func (m *UserCard) String() string { return proto.CompactTextString(m) }
func (*UserCard) ProtoMessage()    {}
func (*UserCard) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{21}
}
func (m *UserCard) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserCard.Unmarshal(m, b)
}
func (m *UserCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserCard.Marshal(b, m, deterministic)
}
func (dst *UserCard) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserCard.Merge(dst, src)
}
func (m *UserCard) XXX_Size() int {
	return xxx_messageInfo_UserCard.Size(m)
}
func (m *UserCard) XXX_DiscardUnknown() {
	xxx_messageInfo_UserCard.DiscardUnknown(m)
}

var xxx_messageInfo_UserCard proto.InternalMessageInfo

func (m *UserCard) GetCardId() int64 {
	if m != nil {
		return m.CardId
	}
	return 0
}

func (m *UserCard) GetCardType() string {
	if m != nil {
		return m.CardType
	}
	return ""
}

func (m *UserCard) GetCardName() string {
	if m != nil {
		return m.CardName
	}
	return ""
}

func (m *UserCard) GetTimes() int64 {
	if m != nil {
		return m.Times
	}
	return 0
}

func (m *UserCard) GetUserCardId() int64 {
	if m != nil {
		return m.UserCardId
	}
	return 0
}

// 使用卡
type UseCardReq struct {
	// 用户暴击卡id
	UserCardId           int64    `protobuf:"varint,1,opt,name=user_card_id,json=userCardId,proto3" json:"user_card_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UseCardReq) Reset()         { *m = UseCardReq{} }
func (m *UseCardReq) String() string { return proto.CompactTextString(m) }
func (*UseCardReq) ProtoMessage()    {}
func (*UseCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{22}
}
func (m *UseCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UseCardReq.Unmarshal(m, b)
}
func (m *UseCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UseCardReq.Marshal(b, m, deterministic)
}
func (dst *UseCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UseCardReq.Merge(dst, src)
}
func (m *UseCardReq) XXX_Size() int {
	return xxx_messageInfo_UseCardReq.Size(m)
}
func (m *UseCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UseCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_UseCardReq proto.InternalMessageInfo

func (m *UseCardReq) GetUserCardId() int64 {
	if m != nil {
		return m.UserCardId
	}
	return 0
}

// 发送卡
type SendCardReq struct {
	// 用户暴击卡id
	UserCardId int64 `protobuf:"varint,1,opt,name=user_card_id,json=userCardId,proto3" json:"user_card_id,omitempty"`
	// 接收人或者群id
	ReciveId             string   `protobuf:"bytes,2,opt,name=recive_id,json=reciveId,proto3" json:"recive_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SendCardReq) Reset()         { *m = SendCardReq{} }
func (m *SendCardReq) String() string { return proto.CompactTextString(m) }
func (*SendCardReq) ProtoMessage()    {}
func (*SendCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{23}
}
func (m *SendCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SendCardReq.Unmarshal(m, b)
}
func (m *SendCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SendCardReq.Marshal(b, m, deterministic)
}
func (dst *SendCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SendCardReq.Merge(dst, src)
}
func (m *SendCardReq) XXX_Size() int {
	return xxx_messageInfo_SendCardReq.Size(m)
}
func (m *SendCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_SendCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_SendCardReq proto.InternalMessageInfo

func (m *SendCardReq) GetUserCardId() int64 {
	if m != nil {
		return m.UserCardId
	}
	return 0
}

func (m *SendCardReq) GetReciveId() string {
	if m != nil {
		return m.ReciveId
	}
	return ""
}

// 接收卡
type ReciveCardReq struct {
	// 用户暴击卡id
	UserCardId           int64    `protobuf:"varint,1,opt,name=user_card_id,json=userCardId,proto3" json:"user_card_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReciveCardReq) Reset()         { *m = ReciveCardReq{} }
func (m *ReciveCardReq) String() string { return proto.CompactTextString(m) }
func (*ReciveCardReq) ProtoMessage()    {}
func (*ReciveCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{24}
}
func (m *ReciveCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReciveCardReq.Unmarshal(m, b)
}
func (m *ReciveCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReciveCardReq.Marshal(b, m, deterministic)
}
func (dst *ReciveCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReciveCardReq.Merge(dst, src)
}
func (m *ReciveCardReq) XXX_Size() int {
	return xxx_messageInfo_ReciveCardReq.Size(m)
}
func (m *ReciveCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ReciveCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_ReciveCardReq proto.InternalMessageInfo

func (m *ReciveCardReq) GetUserCardId() int64 {
	if m != nil {
		return m.UserCardId
	}
	return 0
}

type CardListRes struct {
	// 暴击卡列表
	CardList             []*Card  `protobuf:"bytes,1,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CardListRes) Reset()         { *m = CardListRes{} }
func (m *CardListRes) String() string { return proto.CompactTextString(m) }
func (*CardListRes) ProtoMessage()    {}
func (*CardListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{25}
}
func (m *CardListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CardListRes.Unmarshal(m, b)
}
func (m *CardListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CardListRes.Marshal(b, m, deterministic)
}
func (dst *CardListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CardListRes.Merge(dst, src)
}
func (m *CardListRes) XXX_Size() int {
	return xxx_messageInfo_CardListRes.Size(m)
}
func (m *CardListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_CardListRes.DiscardUnknown(m)
}

var xxx_messageInfo_CardListRes proto.InternalMessageInfo

func (m *CardListRes) GetCardList() []*Card {
	if m != nil {
		return m.CardList
	}
	return nil
}

// 暴击卡实体
type Card struct {
	// 卡id
	CardId int64 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
	// 卡类型
	CardType string `protobuf:"bytes,2,opt,name=card_type,json=cardType,proto3" json:"card_type,omitempty"`
	// 卡名称
	CardName string `protobuf:"bytes,3,opt,name=card_name,json=cardName,proto3" json:"card_name,omitempty"`
	// 备注
	Note string `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"`
	// 暴击倍数
	Times                int64    `protobuf:"varint,5,opt,name=times,proto3" json:"times,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Card) Reset()         { *m = Card{} }
func (m *Card) String() string { return proto.CompactTextString(m) }
func (*Card) ProtoMessage()    {}
func (*Card) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{26}
}
func (m *Card) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Card.Unmarshal(m, b)
}
func (m *Card) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Card.Marshal(b, m, deterministic)
}
func (dst *Card) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Card.Merge(dst, src)
}
func (m *Card) XXX_Size() int {
	return xxx_messageInfo_Card.Size(m)
}
func (m *Card) XXX_DiscardUnknown() {
	xxx_messageInfo_Card.DiscardUnknown(m)
}

var xxx_messageInfo_Card proto.InternalMessageInfo

func (m *Card) GetCardId() int64 {
	if m != nil {
		return m.CardId
	}
	return 0
}

func (m *Card) GetCardType() string {
	if m != nil {
		return m.CardType
	}
	return ""
}

func (m *Card) GetCardName() string {
	if m != nil {
		return m.CardName
	}
	return ""
}

func (m *Card) GetNote() string {
	if m != nil {
		return m.Note
	}
	return ""
}

func (m *Card) GetTimes() int64 {
	if m != nil {
		return m.Times
	}
	return 0
}

// 添加暴击卡
type AddCardReq struct {
	// 卡类型
	CardType string `protobuf:"bytes,1,opt,name=card_type,json=cardType,proto3" json:"card_type,omitempty"`
	// 卡名称
	CardName string `protobuf:"bytes,2,opt,name=card_name,json=cardName,proto3" json:"card_name,omitempty"`
	// 暴击倍数
	Times int64 `protobuf:"varint,3,opt,name=times,proto3" json:"times,omitempty"`
	// 备注
	Note                 string   `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddCardReq) Reset()         { *m = AddCardReq{} }
func (m *AddCardReq) String() string { return proto.CompactTextString(m) }
func (*AddCardReq) ProtoMessage()    {}
func (*AddCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{27}
}
func (m *AddCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddCardReq.Unmarshal(m, b)
}
func (m *AddCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddCardReq.Marshal(b, m, deterministic)
}
func (dst *AddCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddCardReq.Merge(dst, src)
}
func (m *AddCardReq) XXX_Size() int {
	return xxx_messageInfo_AddCardReq.Size(m)
}
func (m *AddCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddCardReq proto.InternalMessageInfo

func (m *AddCardReq) GetCardType() string {
	if m != nil {
		return m.CardType
	}
	return ""
}

func (m *AddCardReq) GetCardName() string {
	if m != nil {
		return m.CardName
	}
	return ""
}

func (m *AddCardReq) GetTimes() int64 {
	if m != nil {
		return m.Times
	}
	return 0
}

func (m *AddCardReq) GetNote() string {
	if m != nil {
		return m.Note
	}
	return ""
}

// 编辑暴击卡
type EditCardReq struct {
	// 卡id
	CardId int64 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
	// 卡名称
	CardName string `protobuf:"bytes,2,opt,name=card_name,json=cardName,proto3" json:"card_name,omitempty"`
	// 备注
	Note                 string   `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditCardReq) Reset()         { *m = EditCardReq{} }
func (m *EditCardReq) String() string { return proto.CompactTextString(m) }
func (*EditCardReq) ProtoMessage()    {}
func (*EditCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{28}
}
func (m *EditCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditCardReq.Unmarshal(m, b)
}
func (m *EditCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditCardReq.Marshal(b, m, deterministic)
}
func (dst *EditCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditCardReq.Merge(dst, src)
}
func (m *EditCardReq) XXX_Size() int {
	return xxx_messageInfo_EditCardReq.Size(m)
}
func (m *EditCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditCardReq proto.InternalMessageInfo

func (m *EditCardReq) GetCardId() int64 {
	if m != nil {
		return m.CardId
	}
	return 0
}

func (m *EditCardReq) GetCardName() string {
	if m != nil {
		return m.CardName
	}
	return ""
}

func (m *EditCardReq) GetNote() string {
	if m != nil {
		return m.Note
	}
	return ""
}

// 添加卡片
type AddUserCardReq struct {
	// 卡id
	CardId               int64    `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddUserCardReq) Reset()         { *m = AddUserCardReq{} }
func (m *AddUserCardReq) String() string { return proto.CompactTextString(m) }
func (*AddUserCardReq) ProtoMessage()    {}
func (*AddUserCardReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{29}
}
func (m *AddUserCardReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddUserCardReq.Unmarshal(m, b)
}
func (m *AddUserCardReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddUserCardReq.Marshal(b, m, deterministic)
}
func (dst *AddUserCardReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddUserCardReq.Merge(dst, src)
}
func (m *AddUserCardReq) XXX_Size() int {
	return xxx_messageInfo_AddUserCardReq.Size(m)
}
func (m *AddUserCardReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddUserCardReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddUserCardReq proto.InternalMessageInfo

func (m *AddUserCardReq) GetCardId() int64 {
	if m != nil {
		return m.CardId
	}
	return 0
}

// 标签列表--返回值
type TagListRes struct {
	// 标签列表
	TagList              []*Tag   `protobuf:"bytes,1,rep,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TagListRes) Reset()         { *m = TagListRes{} }
func (m *TagListRes) String() string { return proto.CompactTextString(m) }
func (*TagListRes) ProtoMessage()    {}
func (*TagListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{30}
}
func (m *TagListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TagListRes.Unmarshal(m, b)
}
func (m *TagListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TagListRes.Marshal(b, m, deterministic)
}
func (dst *TagListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TagListRes.Merge(dst, src)
}
func (m *TagListRes) XXX_Size() int {
	return xxx_messageInfo_TagListRes.Size(m)
}
func (m *TagListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_TagListRes.DiscardUnknown(m)
}

var xxx_messageInfo_TagListRes proto.InternalMessageInfo

func (m *TagListRes) GetTagList() []*Tag {
	if m != nil {
		return m.TagList
	}
	return nil
}

// 标签实体
type Tag struct {
	// 标签名称
	TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
	// 标签id
	TagId                int64    `protobuf:"varint,2,opt,name=tag_id,json=tagId,proto3" json:"tag_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Tag) Reset()         { *m = Tag{} }
func (m *Tag) String() string { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage()    {}
func (*Tag) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{31}
}
func (m *Tag) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Tag.Unmarshal(m, b)
}
func (m *Tag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Tag.Marshal(b, m, deterministic)
}
func (dst *Tag) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Tag.Merge(dst, src)
}
func (m *Tag) XXX_Size() int {
	return xxx_messageInfo_Tag.Size(m)
}
func (m *Tag) XXX_DiscardUnknown() {
	xxx_messageInfo_Tag.DiscardUnknown(m)
}

var xxx_messageInfo_Tag proto.InternalMessageInfo

func (m *Tag) GetTagName() string {
	if m != nil {
		return m.TagName
	}
	return ""
}

func (m *Tag) GetTagId() int64 {
	if m != nil {
		return m.TagId
	}
	return 0
}

// 添加标签
type AddTagReq struct {
	// 标签名称
	TagName              string   `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddTagReq) Reset()         { *m = AddTagReq{} }
func (m *AddTagReq) String() string { return proto.CompactTextString(m) }
func (*AddTagReq) ProtoMessage()    {}
func (*AddTagReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{32}
}
func (m *AddTagReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddTagReq.Unmarshal(m, b)
}
func (m *AddTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddTagReq.Marshal(b, m, deterministic)
}
func (dst *AddTagReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddTagReq.Merge(dst, src)
}
func (m *AddTagReq) XXX_Size() int {
	return xxx_messageInfo_AddTagReq.Size(m)
}
func (m *AddTagReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddTagReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddTagReq proto.InternalMessageInfo

func (m *AddTagReq) GetTagName() string {
	if m != nil {
		return m.TagName
	}
	return ""
}

// 编辑标签
type EditTagReq struct {
	// 标签id
	TagId int64 `protobuf:"varint,1,opt,name=tag_id,json=tagId,proto3" json:"tag_id,omitempty"`
	// 标签名称
	TagName              string   `protobuf:"bytes,2,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditTagReq) Reset()         { *m = EditTagReq{} }
func (m *EditTagReq) String() string { return proto.CompactTextString(m) }
func (*EditTagReq) ProtoMessage()    {}
func (*EditTagReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{33}
}
func (m *EditTagReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditTagReq.Unmarshal(m, b)
}
func (m *EditTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditTagReq.Marshal(b, m, deterministic)
}
func (dst *EditTagReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditTagReq.Merge(dst, src)
}
func (m *EditTagReq) XXX_Size() int {
	return xxx_messageInfo_EditTagReq.Size(m)
}
func (m *EditTagReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditTagReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditTagReq proto.InternalMessageInfo

func (m *EditTagReq) GetTagId() int64 {
	if m != nil {
		return m.TagId
	}
	return 0
}

func (m *EditTagReq) GetTagName() string {
	if m != nil {
		return m.TagName
	}
	return ""
}

// 删除标签
type DelTagReq struct {
	// 标签id
	TagId                int64    `protobuf:"varint,1,opt,name=tag_id,json=tagId,proto3" json:"tag_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DelTagReq) Reset()         { *m = DelTagReq{} }
func (m *DelTagReq) String() string { return proto.CompactTextString(m) }
func (*DelTagReq) ProtoMessage()    {}
func (*DelTagReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{34}
}
func (m *DelTagReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DelTagReq.Unmarshal(m, b)
}
func (m *DelTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DelTagReq.Marshal(b, m, deterministic)
}
func (dst *DelTagReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DelTagReq.Merge(dst, src)
}
func (m *DelTagReq) XXX_Size() int {
	return xxx_messageInfo_DelTagReq.Size(m)
}
func (m *DelTagReq) XXX_DiscardUnknown() {
	xxx_messageInfo_DelTagReq.DiscardUnknown(m)
}

var xxx_messageInfo_DelTagReq proto.InternalMessageInfo

func (m *DelTagReq) GetTagId() int64 {
	if m != nil {
		return m.TagId
	}
	return 0
}

// 编辑用户标签
type UpdateUserTagReq struct {
	// 标签列表
	TagList              []*Tag   `protobuf:"bytes,1,rep,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UpdateUserTagReq) Reset()         { *m = UpdateUserTagReq{} }
func (m *UpdateUserTagReq) String() string { return proto.CompactTextString(m) }
func (*UpdateUserTagReq) ProtoMessage()    {}
func (*UpdateUserTagReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{35}
}
func (m *UpdateUserTagReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateUserTagReq.Unmarshal(m, b)
}
func (m *UpdateUserTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateUserTagReq.Marshal(b, m, deterministic)
}
func (dst *UpdateUserTagReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateUserTagReq.Merge(dst, src)
}
func (m *UpdateUserTagReq) XXX_Size() int {
	return xxx_messageInfo_UpdateUserTagReq.Size(m)
}
func (m *UpdateUserTagReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateUserTagReq.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateUserTagReq proto.InternalMessageInfo

func (m *UpdateUserTagReq) GetTagList() []*Tag {
	if m != nil {
		return m.TagList
	}
	return nil
}

// 用户标签列表
type UserTagListReq struct {
	// 用户id
	UserId               int64    `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserTagListReq) Reset()         { *m = UserTagListReq{} }
func (m *UserTagListReq) String() string { return proto.CompactTextString(m) }
func (*UserTagListReq) ProtoMessage()    {}
func (*UserTagListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{36}
}
func (m *UserTagListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserTagListReq.Unmarshal(m, b)
}
func (m *UserTagListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserTagListReq.Marshal(b, m, deterministic)
}
func (dst *UserTagListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserTagListReq.Merge(dst, src)
}
func (m *UserTagListReq) XXX_Size() int {
	return xxx_messageInfo_UserTagListReq.Size(m)
}
func (m *UserTagListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserTagListReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserTagListReq proto.InternalMessageInfo

func (m *UserTagListReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

// 用户标签列表 -- 返回值
type UserTagListRes struct {
	// 标签列表
	TagList              []*Tag   `protobuf:"bytes,1,rep,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserTagListRes) Reset()         { *m = UserTagListRes{} }
func (m *UserTagListRes) String() string { return proto.CompactTextString(m) }
func (*UserTagListRes) ProtoMessage()    {}
func (*UserTagListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{37}
}
func (m *UserTagListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserTagListRes.Unmarshal(m, b)
}
func (m *UserTagListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserTagListRes.Marshal(b, m, deterministic)
}
func (dst *UserTagListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserTagListRes.Merge(dst, src)
}
func (m *UserTagListRes) XXX_Size() int {
	return xxx_messageInfo_UserTagListRes.Size(m)
}
func (m *UserTagListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_UserTagListRes.DiscardUnknown(m)
}

var xxx_messageInfo_UserTagListRes proto.InternalMessageInfo

func (m *UserTagListRes) GetTagList() []*Tag {
	if m != nil {
		return m.TagList
	}
	return nil
}

// 实名认证
type UserIdentifyReq struct {
	// 支付宝auth_token
	AuthToken            string   `protobuf:"bytes,1,opt,name=auth_token,json=authToken,proto3" json:"auth_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserIdentifyReq) Reset()         { *m = UserIdentifyReq{} }
func (m *UserIdentifyReq) String() string { return proto.CompactTextString(m) }
func (*UserIdentifyReq) ProtoMessage()    {}
func (*UserIdentifyReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{38}
}
func (m *UserIdentifyReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserIdentifyReq.Unmarshal(m, b)
}
func (m *UserIdentifyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserIdentifyReq.Marshal(b, m, deterministic)
}
func (dst *UserIdentifyReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserIdentifyReq.Merge(dst, src)
}
func (m *UserIdentifyReq) XXX_Size() int {
	return xxx_messageInfo_UserIdentifyReq.Size(m)
}
func (m *UserIdentifyReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserIdentifyReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserIdentifyReq proto.InternalMessageInfo

func (m *UserIdentifyReq) GetAuthToken() string {
	if m != nil {
		return m.AuthToken
	}
	return ""
}

// 添加内容
type AddComplaintReq struct {
	// 投诉内容
	Content              string   `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddComplaintReq) Reset()         { *m = AddComplaintReq{} }
func (m *AddComplaintReq) String() string { return proto.CompactTextString(m) }
func (*AddComplaintReq) ProtoMessage()    {}
func (*AddComplaintReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{39}
}
func (m *AddComplaintReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddComplaintReq.Unmarshal(m, b)
}
func (m *AddComplaintReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddComplaintReq.Marshal(b, m, deterministic)
}
func (dst *AddComplaintReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddComplaintReq.Merge(dst, src)
}
func (m *AddComplaintReq) XXX_Size() int {
	return xxx_messageInfo_AddComplaintReq.Size(m)
}
func (m *AddComplaintReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddComplaintReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddComplaintReq proto.InternalMessageInfo

func (m *AddComplaintReq) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

// 删除内容
type DelComplaintReq struct {
	// 投诉内容id
	ComplaintId          int64    `protobuf:"varint,1,opt,name=complaint_id,json=complaintId,proto3" json:"complaint_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DelComplaintReq) Reset()         { *m = DelComplaintReq{} }
func (m *DelComplaintReq) String() string { return proto.CompactTextString(m) }
func (*DelComplaintReq) ProtoMessage()    {}
func (*DelComplaintReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{40}
}
func (m *DelComplaintReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DelComplaintReq.Unmarshal(m, b)
}
func (m *DelComplaintReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DelComplaintReq.Marshal(b, m, deterministic)
}
func (dst *DelComplaintReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DelComplaintReq.Merge(dst, src)
}
func (m *DelComplaintReq) XXX_Size() int {
	return xxx_messageInfo_DelComplaintReq.Size(m)
}
func (m *DelComplaintReq) XXX_DiscardUnknown() {
	xxx_messageInfo_DelComplaintReq.DiscardUnknown(m)
}

var xxx_messageInfo_DelComplaintReq proto.InternalMessageInfo

func (m *DelComplaintReq) GetComplaintId() int64 {
	if m != nil {
		return m.ComplaintId
	}
	return 0
}

// 修改内容
type EditComplaintReq struct {
	// 投诉内容
	Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	// 投诉内容id
	ComplaintId          int64    `protobuf:"varint,2,opt,name=complaint_id,json=complaintId,proto3" json:"complaint_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditComplaintReq) Reset()         { *m = EditComplaintReq{} }
func (m *EditComplaintReq) String() string { return proto.CompactTextString(m) }
func (*EditComplaintReq) ProtoMessage()    {}
func (*EditComplaintReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{41}
}
func (m *EditComplaintReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditComplaintReq.Unmarshal(m, b)
}
func (m *EditComplaintReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditComplaintReq.Marshal(b, m, deterministic)
}
func (dst *EditComplaintReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditComplaintReq.Merge(dst, src)
}
func (m *EditComplaintReq) XXX_Size() int {
	return xxx_messageInfo_EditComplaintReq.Size(m)
}
func (m *EditComplaintReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditComplaintReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditComplaintReq proto.InternalMessageInfo

func (m *EditComplaintReq) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

func (m *EditComplaintReq) GetComplaintId() int64 {
	if m != nil {
		return m.ComplaintId
	}
	return 0
}

// 内容列表
type ComplaintListReq struct {
	// 第几页
	Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	// 页数
	Length               int64    `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ComplaintListReq) Reset()         { *m = ComplaintListReq{} }
func (m *ComplaintListReq) String() string { return proto.CompactTextString(m) }
func (*ComplaintListReq) ProtoMessage()    {}
func (*ComplaintListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{42}
}
func (m *ComplaintListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ComplaintListReq.Unmarshal(m, b)
}
func (m *ComplaintListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ComplaintListReq.Marshal(b, m, deterministic)
}
func (dst *ComplaintListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ComplaintListReq.Merge(dst, src)
}
func (m *ComplaintListReq) XXX_Size() int {
	return xxx_messageInfo_ComplaintListReq.Size(m)
}
func (m *ComplaintListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_ComplaintListReq.DiscardUnknown(m)
}

var xxx_messageInfo_ComplaintListReq proto.InternalMessageInfo

func (m *ComplaintListReq) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *ComplaintListReq) GetLength() int64 {
	if m != nil {
		return m.Length
	}
	return 0
}

type ComplaintListRes struct {
	ComplaintList        []*Complaint `protobuf:"bytes,1,rep,name=complaint_list,json=complaintList,proto3" json:"complaint_list,omitempty"`
	Total                int64        `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ComplaintListRes) Reset()         { *m = ComplaintListRes{} }
func (m *ComplaintListRes) String() string { return proto.CompactTextString(m) }
func (*ComplaintListRes) ProtoMessage()    {}
func (*ComplaintListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{43}
}
func (m *ComplaintListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ComplaintListRes.Unmarshal(m, b)
}
func (m *ComplaintListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ComplaintListRes.Marshal(b, m, deterministic)
}
func (dst *ComplaintListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ComplaintListRes.Merge(dst, src)
}
func (m *ComplaintListRes) XXX_Size() int {
	return xxx_messageInfo_ComplaintListRes.Size(m)
}
func (m *ComplaintListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_ComplaintListRes.DiscardUnknown(m)
}

var xxx_messageInfo_ComplaintListRes proto.InternalMessageInfo

func (m *ComplaintListRes) GetComplaintList() []*Complaint {
	if m != nil {
		return m.ComplaintList
	}
	return nil
}

func (m *ComplaintListRes) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

type Complaint struct {
	// 投诉内容
	Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	// 投诉内容id
	ComplaintId          int64    `protobuf:"varint,2,opt,name=complaint_id,json=complaintId,proto3" json:"complaint_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Complaint) Reset()         { *m = Complaint{} }
func (m *Complaint) String() string { return proto.CompactTextString(m) }
func (*Complaint) ProtoMessage()    {}
func (*Complaint) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{44}
}
func (m *Complaint) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Complaint.Unmarshal(m, b)
}
func (m *Complaint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Complaint.Marshal(b, m, deterministic)
}
func (dst *Complaint) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Complaint.Merge(dst, src)
}
func (m *Complaint) XXX_Size() int {
	return xxx_messageInfo_Complaint.Size(m)
}
func (m *Complaint) XXX_DiscardUnknown() {
	xxx_messageInfo_Complaint.DiscardUnknown(m)
}

var xxx_messageInfo_Complaint proto.InternalMessageInfo

func (m *Complaint) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

func (m *Complaint) GetComplaintId() int64 {
	if m != nil {
		return m.ComplaintId
	}
	return 0
}

type UserComplaintReq struct {
	Content              string   `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserComplaintReq) Reset()         { *m = UserComplaintReq{} }
func (m *UserComplaintReq) String() string { return proto.CompactTextString(m) }
func (*UserComplaintReq) ProtoMessage()    {}
func (*UserComplaintReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{45}
}
func (m *UserComplaintReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserComplaintReq.Unmarshal(m, b)
}
func (m *UserComplaintReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserComplaintReq.Marshal(b, m, deterministic)
}
func (dst *UserComplaintReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserComplaintReq.Merge(dst, src)
}
func (m *UserComplaintReq) XXX_Size() int {
	return xxx_messageInfo_UserComplaintReq.Size(m)
}
func (m *UserComplaintReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserComplaintReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserComplaintReq proto.InternalMessageInfo

func (m *UserComplaintReq) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

func (m *UserComplaintReq) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

type EditUserComplaintReq struct {
	ComplaintId          int64    `protobuf:"varint,1,opt,name=complaint_id,json=complaintId,proto3" json:"complaint_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditUserComplaintReq) Reset()         { *m = EditUserComplaintReq{} }
func (m *EditUserComplaintReq) String() string { return proto.CompactTextString(m) }
func (*EditUserComplaintReq) ProtoMessage()    {}
func (*EditUserComplaintReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{46}
}
func (m *EditUserComplaintReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditUserComplaintReq.Unmarshal(m, b)
}
func (m *EditUserComplaintReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditUserComplaintReq.Marshal(b, m, deterministic)
}
func (dst *EditUserComplaintReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditUserComplaintReq.Merge(dst, src)
}
func (m *EditUserComplaintReq) XXX_Size() int {
	return xxx_messageInfo_EditUserComplaintReq.Size(m)
}
func (m *EditUserComplaintReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditUserComplaintReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditUserComplaintReq proto.InternalMessageInfo

func (m *EditUserComplaintReq) GetComplaintId() int64 {
	if m != nil {
		return m.ComplaintId
	}
	return 0
}

type UserComplaintListReq struct {
	// 第几页
	Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	// 页数
	Length               int64    `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserComplaintListReq) Reset()         { *m = UserComplaintListReq{} }
func (m *UserComplaintListReq) String() string { return proto.CompactTextString(m) }
func (*UserComplaintListReq) ProtoMessage()    {}
func (*UserComplaintListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{47}
}
func (m *UserComplaintListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserComplaintListReq.Unmarshal(m, b)
}
func (m *UserComplaintListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserComplaintListReq.Marshal(b, m, deterministic)
}
func (dst *UserComplaintListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserComplaintListReq.Merge(dst, src)
}
func (m *UserComplaintListReq) XXX_Size() int {
	return xxx_messageInfo_UserComplaintListReq.Size(m)
}
func (m *UserComplaintListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_UserComplaintListReq.DiscardUnknown(m)
}

var xxx_messageInfo_UserComplaintListReq proto.InternalMessageInfo

func (m *UserComplaintListReq) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *UserComplaintListReq) GetLength() int64 {
	if m != nil {
		return m.Length
	}
	return 0
}

type UserComplaintListRes struct {
	ComplaintList        []*UserComplaint `protobuf:"bytes,1,rep,name=complaint_list,json=complaintList,proto3" json:"complaint_list,omitempty"`
	Total                int64            `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *UserComplaintListRes) Reset()         { *m = UserComplaintListRes{} }
func (m *UserComplaintListRes) String() string { return proto.CompactTextString(m) }
func (*UserComplaintListRes) ProtoMessage()    {}
func (*UserComplaintListRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{48}
}
func (m *UserComplaintListRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserComplaintListRes.Unmarshal(m, b)
}
func (m *UserComplaintListRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserComplaintListRes.Marshal(b, m, deterministic)
}
func (dst *UserComplaintListRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserComplaintListRes.Merge(dst, src)
}
func (m *UserComplaintListRes) XXX_Size() int {
	return xxx_messageInfo_UserComplaintListRes.Size(m)
}
func (m *UserComplaintListRes) XXX_DiscardUnknown() {
	xxx_messageInfo_UserComplaintListRes.DiscardUnknown(m)
}

var xxx_messageInfo_UserComplaintListRes proto.InternalMessageInfo

func (m *UserComplaintListRes) GetComplaintList() []*UserComplaint {
	if m != nil {
		return m.ComplaintList
	}
	return nil
}

func (m *UserComplaintListRes) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

type UserComplaint struct {
	// 投诉内容
	Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	// 投诉内容id
	ComplaintId int64  `protobuf:"varint,2,opt,name=complaint_id,json=complaintId,proto3" json:"complaint_id,omitempty"`
	FromUser    string `protobuf:"bytes,3,opt,name=from_user,json=fromUser,proto3" json:"from_user,omitempty"`
	ToUser      string `protobuf:"bytes,4,opt,name=to_user,json=toUser,proto3" json:"to_user,omitempty"`
	// 1.未处理 2.处理
	Status               int32    `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	CreateTime           int64    `protobuf:"varint,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserComplaint) Reset()         { *m = UserComplaint{} }
func (m *UserComplaint) String() string { return proto.CompactTextString(m) }
func (*UserComplaint) ProtoMessage()    {}
func (*UserComplaint) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{49}
}
func (m *UserComplaint) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserComplaint.Unmarshal(m, b)
}
func (m *UserComplaint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserComplaint.Marshal(b, m, deterministic)
}
func (dst *UserComplaint) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserComplaint.Merge(dst, src)
}
func (m *UserComplaint) XXX_Size() int {
	return xxx_messageInfo_UserComplaint.Size(m)
}
func (m *UserComplaint) XXX_DiscardUnknown() {
	xxx_messageInfo_UserComplaint.DiscardUnknown(m)
}

var xxx_messageInfo_UserComplaint proto.InternalMessageInfo

func (m *UserComplaint) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

func (m *UserComplaint) GetComplaintId() int64 {
	if m != nil {
		return m.ComplaintId
	}
	return 0
}

func (m *UserComplaint) GetFromUser() string {
	if m != nil {
		return m.FromUser
	}
	return ""
}

func (m *UserComplaint) GetToUser() string {
	if m != nil {
		return m.ToUser
	}
	return ""
}

func (m *UserComplaint) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *UserComplaint) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

// 建议
type AddSuggestReq struct {
	Content              string   `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	UserId               int64    `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	PicList              []*Pic   `protobuf:"bytes,3,rep,name=pic_list,json=picList,proto3" json:"pic_list,omitempty"`
	EmailOrTel           string   `protobuf:"bytes,4,opt,name=email_or_tel,json=emailOrTel,proto3" json:"email_or_tel,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddSuggestReq) Reset()         { *m = AddSuggestReq{} }
func (m *AddSuggestReq) String() string { return proto.CompactTextString(m) }
func (*AddSuggestReq) ProtoMessage()    {}
func (*AddSuggestReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{50}
}
func (m *AddSuggestReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddSuggestReq.Unmarshal(m, b)
}
func (m *AddSuggestReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddSuggestReq.Marshal(b, m, deterministic)
}
func (dst *AddSuggestReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddSuggestReq.Merge(dst, src)
}
func (m *AddSuggestReq) XXX_Size() int {
	return xxx_messageInfo_AddSuggestReq.Size(m)
}
func (m *AddSuggestReq) XXX_DiscardUnknown() {
	xxx_messageInfo_AddSuggestReq.DiscardUnknown(m)
}

var xxx_messageInfo_AddSuggestReq proto.InternalMessageInfo

func (m *AddSuggestReq) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

func (m *AddSuggestReq) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *AddSuggestReq) GetPicList() []*Pic {
	if m != nil {
		return m.PicList
	}
	return nil
}

func (m *AddSuggestReq) GetEmailOrTel() string {
	if m != nil {
		return m.EmailOrTel
	}
	return ""
}

// 图片
type Pic struct {
	Bucket               string   `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Region               string   `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	FileName             string   `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Pic) Reset()         { *m = Pic{} }
func (m *Pic) String() string { return proto.CompactTextString(m) }
func (*Pic) ProtoMessage()    {}
func (*Pic) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{51}
}
func (m *Pic) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Pic.Unmarshal(m, b)
}
func (m *Pic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Pic.Marshal(b, m, deterministic)
}
func (dst *Pic) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Pic.Merge(dst, src)
}
func (m *Pic) XXX_Size() int {
	return xxx_messageInfo_Pic.Size(m)
}
func (m *Pic) XXX_DiscardUnknown() {
	xxx_messageInfo_Pic.DiscardUnknown(m)
}

var xxx_messageInfo_Pic proto.InternalMessageInfo

func (m *Pic) GetBucket() string {
	if m != nil {
		return m.Bucket
	}
	return ""
}

func (m *Pic) GetRegion() string {
	if m != nil {
		return m.Region
	}
	return ""
}

func (m *Pic) GetFileName() string {
	if m != nil {
		return m.FileName
	}
	return ""
}

type CommitTxReq struct {
	// 用户地址
	FromAddress string `protobuf:"bytes,1,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty"`
	// 官方地址
	ToAddress string `protobuf:"bytes,2,opt,name=to_address,json=toAddress,proto3" json:"to_address,omitempty"`
	// 交易hash
	TxHash string `protobuf:"bytes,3,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
	// 交易数量
	Amount float64 `protobuf:"fixed64,4,opt,name=amount,proto3" json:"amount,omitempty"`
	// 币种
	CoinType             string   `protobuf:"bytes,5,opt,name=coin_type,json=coinType,proto3" json:"coin_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommitTxReq) Reset()         { *m = CommitTxReq{} }
func (m *CommitTxReq) String() string { return proto.CompactTextString(m) }
func (*CommitTxReq) ProtoMessage()    {}
func (*CommitTxReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{52}
}
func (m *CommitTxReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommitTxReq.Unmarshal(m, b)
}
func (m *CommitTxReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommitTxReq.Marshal(b, m, deterministic)
}
func (dst *CommitTxReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommitTxReq.Merge(dst, src)
}
func (m *CommitTxReq) XXX_Size() int {
	return xxx_messageInfo_CommitTxReq.Size(m)
}
func (m *CommitTxReq) XXX_DiscardUnknown() {
	xxx_messageInfo_CommitTxReq.DiscardUnknown(m)
}

var xxx_messageInfo_CommitTxReq proto.InternalMessageInfo

func (m *CommitTxReq) GetFromAddress() string {
	if m != nil {
		return m.FromAddress
	}
	return ""
}

func (m *CommitTxReq) GetToAddress() string {
	if m != nil {
		return m.ToAddress
	}
	return ""
}

func (m *CommitTxReq) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

func (m *CommitTxReq) GetAmount() float64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *CommitTxReq) GetCoinType() string {
	if m != nil {
		return m.CoinType
	}
	return ""
}

type GetOfficeAddrReq struct {
	// 币种类型
	CoinType             string   `protobuf:"bytes,1,opt,name=coin_type,json=coinType,proto3" json:"coin_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetOfficeAddrReq) Reset()         { *m = GetOfficeAddrReq{} }
func (m *GetOfficeAddrReq) String() string { return proto.CompactTextString(m) }
func (*GetOfficeAddrReq) ProtoMessage()    {}
func (*GetOfficeAddrReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{53}
}
func (m *GetOfficeAddrReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetOfficeAddrReq.Unmarshal(m, b)
}
func (m *GetOfficeAddrReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetOfficeAddrReq.Marshal(b, m, deterministic)
}
func (dst *GetOfficeAddrReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetOfficeAddrReq.Merge(dst, src)
}
func (m *GetOfficeAddrReq) XXX_Size() int {
	return xxx_messageInfo_GetOfficeAddrReq.Size(m)
}
func (m *GetOfficeAddrReq) XXX_DiscardUnknown() {
	xxx_messageInfo_GetOfficeAddrReq.DiscardUnknown(m)
}

var xxx_messageInfo_GetOfficeAddrReq proto.InternalMessageInfo

func (m *GetOfficeAddrReq) GetCoinType() string {
	if m != nil {
		return m.CoinType
	}
	return ""
}

type GetOfficeAddrRes struct {
	// 地址
	Addr                 string   `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetOfficeAddrRes) Reset()         { *m = GetOfficeAddrRes{} }
func (m *GetOfficeAddrRes) String() string { return proto.CompactTextString(m) }
func (*GetOfficeAddrRes) ProtoMessage()    {}
func (*GetOfficeAddrRes) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{54}
}
func (m *GetOfficeAddrRes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetOfficeAddrRes.Unmarshal(m, b)
}
func (m *GetOfficeAddrRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetOfficeAddrRes.Marshal(b, m, deterministic)
}
func (dst *GetOfficeAddrRes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetOfficeAddrRes.Merge(dst, src)
}
func (m *GetOfficeAddrRes) XXX_Size() int {
	return xxx_messageInfo_GetOfficeAddrRes.Size(m)
}
func (m *GetOfficeAddrRes) XXX_DiscardUnknown() {
	xxx_messageInfo_GetOfficeAddrRes.DiscardUnknown(m)
}

var xxx_messageInfo_GetOfficeAddrRes proto.InternalMessageInfo

func (m *GetOfficeAddrRes) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

// 用户点赞
type LikeChange struct {
	// 来自点赞人
	FromId int64 `protobuf:"varint,1,opt,name=from_id,json=fromId,proto3" json:"from_id,omitempty"`
	// 给谁点赞
	ToId int64 `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	// 点赞数量
	Num                  int64    `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LikeChange) Reset()         { *m = LikeChange{} }
func (m *LikeChange) String() string { return proto.CompactTextString(m) }
func (*LikeChange) ProtoMessage()    {}
func (*LikeChange) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{55}
}
func (m *LikeChange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LikeChange.Unmarshal(m, b)
}
func (m *LikeChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LikeChange.Marshal(b, m, deterministic)
}
func (dst *LikeChange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LikeChange.Merge(dst, src)
}
func (m *LikeChange) XXX_Size() int {
	return xxx_messageInfo_LikeChange.Size(m)
}
func (m *LikeChange) XXX_DiscardUnknown() {
	xxx_messageInfo_LikeChange.DiscardUnknown(m)
}

var xxx_messageInfo_LikeChange proto.InternalMessageInfo

func (m *LikeChange) GetFromId() int64 {
	if m != nil {
		return m.FromId
	}
	return 0
}

func (m *LikeChange) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

func (m *LikeChange) GetNum() int64 {
	if m != nil {
		return m.Num
	}
	return 0
}

// 比特币变动
type BtcLevelChange struct {
	// 用户id
	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 原来的比特币等级
	BeforeBtcLevel int64 `protobuf:"varint,2,opt,name=before_btc_level,json=beforeBtcLevel,proto3" json:"before_btc_level,omitempty"`
	// 现在的比特币等级
	NowBtcLevel          int64    `protobuf:"varint,3,opt,name=now_btc_level,json=nowBtcLevel,proto3" json:"now_btc_level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BtcLevelChange) Reset()         { *m = BtcLevelChange{} }
func (m *BtcLevelChange) String() string { return proto.CompactTextString(m) }
func (*BtcLevelChange) ProtoMessage()    {}
func (*BtcLevelChange) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{56}
}
func (m *BtcLevelChange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BtcLevelChange.Unmarshal(m, b)
}
func (m *BtcLevelChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BtcLevelChange.Marshal(b, m, deterministic)
}
func (dst *BtcLevelChange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BtcLevelChange.Merge(dst, src)
}
func (m *BtcLevelChange) XXX_Size() int {
	return xxx_messageInfo_BtcLevelChange.Size(m)
}
func (m *BtcLevelChange) XXX_DiscardUnknown() {
	xxx_messageInfo_BtcLevelChange.DiscardUnknown(m)
}

var xxx_messageInfo_BtcLevelChange proto.InternalMessageInfo

func (m *BtcLevelChange) GetUserId() int64 {
	if m != nil {
		return m.UserId
	}
	return 0
}

func (m *BtcLevelChange) GetBeforeBtcLevel() int64 {
	if m != nil {
		return m.BeforeBtcLevel
	}
	return 0
}

func (m *BtcLevelChange) GetNowBtcLevel() int64 {
	if m != nil {
		return m.NowBtcLevel
	}
	return 0
}

// 关注取消关注
type FocusChange struct {
	FromId               int64    `protobuf:"varint,1,opt,name=from_id,json=fromId,proto3" json:"from_id,omitempty"`
	ToId                 int64    `protobuf:"varint,2,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"`
	Status               int64    `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FocusChange) Reset()         { *m = FocusChange{} }
func (m *FocusChange) String() string { return proto.CompactTextString(m) }
func (*FocusChange) ProtoMessage()    {}
func (*FocusChange) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{57}
}
func (m *FocusChange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FocusChange.Unmarshal(m, b)
}
func (m *FocusChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FocusChange.Marshal(b, m, deterministic)
}
func (dst *FocusChange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FocusChange.Merge(dst, src)
}
func (m *FocusChange) XXX_Size() int {
	return xxx_messageInfo_FocusChange.Size(m)
}
func (m *FocusChange) XXX_DiscardUnknown() {
	xxx_messageInfo_FocusChange.DiscardUnknown(m)
}

var xxx_messageInfo_FocusChange proto.InternalMessageInfo

func (m *FocusChange) GetFromId() int64 {
	if m != nil {
		return m.FromId
	}
	return 0
}

func (m *FocusChange) GetToId() int64 {
	if m != nil {
		return m.ToId
	}
	return 0
}

func (m *FocusChange) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

// 建议
type EditSuggestReq struct {
	SuggestId            int64    `protobuf:"varint,1,opt,name=suggest_id,json=suggestId,proto3" json:"suggest_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EditSuggestReq) Reset()         { *m = EditSuggestReq{} }
func (m *EditSuggestReq) String() string { return proto.CompactTextString(m) }
func (*EditSuggestReq) ProtoMessage()    {}
func (*EditSuggestReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_user_b6e7d89e3a2eee68, []int{58}
}
func (m *EditSuggestReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EditSuggestReq.Unmarshal(m, b)
}
func (m *EditSuggestReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EditSuggestReq.Marshal(b, m, deterministic)
}
func (dst *EditSuggestReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EditSuggestReq.Merge(dst, src)
}
func (m *EditSuggestReq) XXX_Size() int {
	return xxx_messageInfo_EditSuggestReq.Size(m)
}
func (m *EditSuggestReq) XXX_DiscardUnknown() {
	xxx_messageInfo_EditSuggestReq.DiscardUnknown(m)
}

var xxx_messageInfo_EditSuggestReq proto.InternalMessageInfo

func (m *EditSuggestReq) GetSuggestId() int64 {
	if m != nil {
		return m.SuggestId
	}
	return 0
}

func init() {
	proto.RegisterType((*SendCodeReq)(nil), "user.SendCodeReq")
	proto.RegisterType((*LoginReq)(nil), "user.LoginReq")
	proto.RegisterType((*LoginRes)(nil), "user.LoginRes")
	proto.RegisterType((*SetPasswordReq)(nil), "user.SetPasswordReq")
	proto.RegisterType((*FindPasswordReq)(nil), "user.FindPasswordReq")
	proto.RegisterType((*ModifyPwdReq)(nil), "user.ModifyPwdReq")
	proto.RegisterType((*EditUserReq)(nil), "user.EditUserReq")
	proto.RegisterType((*ModifyStatusReq)(nil), "user.ModifyStatusReq")
	proto.RegisterType((*ModifyBubbleStatusReq)(nil), "user.ModifyBubbleStatusReq")
	proto.RegisterType((*ModifyDriveStatusReq)(nil), "user.ModifyDriveStatusReq")
	proto.RegisterType((*UserListReq)(nil), "user.UserListReq")
	proto.RegisterType((*UserListRes)(nil), "user.UserListRes")
	proto.RegisterType((*User)(nil), "user.User")
	proto.RegisterType((*FocusUserReq)(nil), "user.FocusUserReq")
	proto.RegisterType((*UnFocusUserReq)(nil), "user.UnFocusUserReq")
	proto.RegisterType((*AddFriendReq)(nil), "user.AddFriendReq")
	proto.RegisterType((*DelFriendReq)(nil), "user.DelFriendReq")
	proto.RegisterType((*BlockUserReq)(nil), "user.BlockUserReq")
	proto.RegisterType((*UnblockUserReq)(nil), "user.UnblockUserReq")
	proto.RegisterType((*UserCardListReq)(nil), "user.UserCardListReq")
	proto.RegisterType((*UserCardListRes)(nil), "user.UserCardListRes")
	proto.RegisterType((*UserCard)(nil), "user.userCard")
	proto.RegisterType((*UseCardReq)(nil), "user.UseCardReq")
	proto.RegisterType((*SendCardReq)(nil), "user.SendCardReq")
	proto.RegisterType((*ReciveCardReq)(nil), "user.ReciveCardReq")
	proto.RegisterType((*CardListRes)(nil), "user.CardListRes")
	proto.RegisterType((*Card)(nil), "user.card")
	proto.RegisterType((*AddCardReq)(nil), "user.AddCardReq")
	proto.RegisterType((*EditCardReq)(nil), "user.EditCardReq")
	proto.RegisterType((*AddUserCardReq)(nil), "user.AddUserCardReq")
	proto.RegisterType((*TagListRes)(nil), "user.TagListRes")
	proto.RegisterType((*Tag)(nil), "user.tag")
	proto.RegisterType((*AddTagReq)(nil), "user.AddTagReq")
	proto.RegisterType((*EditTagReq)(nil), "user.EditTagReq")
	proto.RegisterType((*DelTagReq)(nil), "user.DelTagReq")
	proto.RegisterType((*UpdateUserTagReq)(nil), "user.UpdateUserTagReq")
	proto.RegisterType((*UserTagListReq)(nil), "user.UserTagListReq")
	proto.RegisterType((*UserTagListRes)(nil), "user.UserTagListRes")
	proto.RegisterType((*UserIdentifyReq)(nil), "user.UserIdentifyReq")
	proto.RegisterType((*AddComplaintReq)(nil), "user.AddComplaintReq")
	proto.RegisterType((*DelComplaintReq)(nil), "user.DelComplaintReq")
	proto.RegisterType((*EditComplaintReq)(nil), "user.EditComplaintReq")
	proto.RegisterType((*ComplaintListReq)(nil), "user.ComplaintListReq")
	proto.RegisterType((*ComplaintListRes)(nil), "user.ComplaintListRes")
	proto.RegisterType((*Complaint)(nil), "user.Complaint")
	proto.RegisterType((*UserComplaintReq)(nil), "user.UserComplaintReq")
	proto.RegisterType((*EditUserComplaintReq)(nil), "user.EditUserComplaintReq")
	proto.RegisterType((*UserComplaintListReq)(nil), "user.UserComplaintListReq")
	proto.RegisterType((*UserComplaintListRes)(nil), "user.UserComplaintListRes")
	proto.RegisterType((*UserComplaint)(nil), "user.UserComplaint")
	proto.RegisterType((*AddSuggestReq)(nil), "user.AddSuggestReq")
	proto.RegisterType((*Pic)(nil), "user.Pic")
	proto.RegisterType((*CommitTxReq)(nil), "user.CommitTxReq")
	proto.RegisterType((*GetOfficeAddrReq)(nil), "user.GetOfficeAddrReq")
	proto.RegisterType((*GetOfficeAddrRes)(nil), "user.GetOfficeAddrRes")
	proto.RegisterType((*LikeChange)(nil), "user.LikeChange")
	proto.RegisterType((*BtcLevelChange)(nil), "user.BtcLevelChange")
	proto.RegisterType((*FocusChange)(nil), "user.FocusChange")
	proto.RegisterType((*EditSuggestReq)(nil), "user.EditSuggestReq")
	proto.RegisterEnum("user.CodeType", CodeType_name, CodeType_value)
	proto.RegisterEnum("user.LoginType", LoginType_name, LoginType_value)
	proto.RegisterEnum("user.Status", Status_name, Status_value)
	proto.RegisterEnum("user.HashChangeType", HashChangeType_name, HashChangeType_value)
}

func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_b6e7d89e3a2eee68) }

var fileDescriptor_user_b6e7d89e3a2eee68 = []byte{
	// 1805 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x18, 0x4b, 0x73, 0x23, 0x47,
	0x39, 0xa3, 0xd1, 0x6b, 0x3e, 0xc9, 0x92, 0x98, 0x75, 0x58, 0x6d, 0xa8, 0x54, 0x9c, 0xde, 0x90,
	0xec, 0x3a, 0xb0, 0x06, 0x03, 0xcb, 0xe3, 0x90, 0x42, 0x6b, 0xad, 0xd7, 0x2a, 0x84, 0xed, 0x1a,
	0xcb, 0xa4, 0x8a, 0xa2, 0x6a, 0x18, 0x4d, 0xb7, 0xa4, 0x2e, 0xcf, 0x43, 0x99, 0x69, 0xd9, 0x5e,
	0xae, 0xdc, 0x38, 0x71, 0xe1, 0xc8, 0x99, 0x03, 0x47, 0x8e, 0xfc, 0x39, 0xea, 0xeb, 0xee, 0xd1,
	0x8c, 0x2c, 0xf9, 0x91, 0xec, 0x72, 0x51, 0xcd, 0xf7, 0xfe, 0xfa, 0x7b, 0xf5, 0xd7, 0x82, 0xf6,
	0x22, 0x65, 0xc9, 0x1e, 0xfe, 0xbc, 0x98, 0x27, 0xb1, 0x88, 0xed, 0x32, 0x7e, 0x93, 0x63, 0x68,
	0x9c, 0xb1, 0x88, 0x1e, 0xc4, 0x94, 0x39, 0xec, 0x1b, 0xbb, 0x03, 0xa6, 0x60, 0x41, 0xd7, 0xd8,
	0x31, 0x9e, 0x59, 0x0e, 0x7e, 0xda, 0x3f, 0x06, 0xf0, 0x63, 0xca, 0x5c, 0xf1, 0x76, 0xce, 0xd2,
	0x6e, 0x69, 0xc7, 0x78, 0xd6, 0xda, 0x6f, 0xbd, 0x90, 0x7a, 0x50, 0x68, 0xf4, 0x76, 0xce, 0x1c,
	0xcb, 0xd7, 0x5f, 0x29, 0xf9, 0xb7, 0x01, 0xf5, 0x61, 0x3c, 0xe5, 0x11, 0x6a, 0xfb, 0x01, 0x58,
	0xc8, 0xe8, 0x46, 0x5e, 0xc8, 0xb4, 0xce, 0x3a, 0x22, 0x8e, 0xbd, 0x90, 0xd9, 0x1f, 0x41, 0x7d,
	0xee, 0xa5, 0xe9, 0x55, 0x9c, 0x50, 0xa9, 0xd6, 0x72, 0x96, 0x30, 0x0a, 0x52, 0x76, 0xc9, 0x7d,
	0xe6, 0x72, 0xda, 0x35, 0x15, 0x51, 0x21, 0x06, 0xd4, 0x7e, 0x02, 0xf5, 0x34, 0x4c, 0x5d, 0xb4,
	0xd9, 0x2d, 0x4b, 0x5a, 0x2d, 0x0d, 0x53, 0x74, 0xc6, 0x7e, 0x01, 0x10, 0xa0, 0x71, 0xe9, 0x6d,
	0xb7, 0x22, 0x9d, 0x6d, 0x2b, 0x67, 0xa5, 0x53, 0xca, 0xdb, 0x20, 0xfb, 0x24, 0xfd, 0xa5, 0xb3,
	0xa9, 0xfd, 0x18, 0x6a, 0xd2, 0x59, 0x4e, 0xa5, 0xab, 0xa6, 0x53, 0x45, 0x70, 0x40, 0xed, 0x4f,
	0xa0, 0xc1, 0x53, 0x37, 0x61, 0x53, 0x9e, 0x0a, 0x96, 0x48, 0x5f, 0xeb, 0x0e, 0xf0, 0xd4, 0xd1,
	0x18, 0xf2, 0x23, 0x68, 0x9d, 0x31, 0x71, 0xaa, 0x9d, 0xc7, 0x83, 0x17, 0xcf, 0x66, 0xac, 0x9e,
	0x8d, 0xfc, 0x11, 0xda, 0x87, 0x3c, 0xa2, 0x45, 0xf6, 0xf5, 0xa8, 0xdf, 0x15, 0x9c, 0xe2, 0xf9,
	0xcd, 0x95, 0xf3, 0x93, 0x4b, 0x68, 0xfe, 0x3e, 0xa6, 0x7c, 0xf2, 0xf6, 0xf4, 0xea, 0xbd, 0x2a,
	0xb6, 0x3f, 0x5e, 0xa9, 0x02, 0x15, 0xf5, 0x42, 0xd6, 0xff, 0x65, 0x40, 0xe3, 0x35, 0xe5, 0xe2,
	0x3c, 0x65, 0x89, 0x4e, 0x7c, 0xc4, 0xfd, 0x8b, 0x95, 0xc4, 0x23, 0x42, 0x26, 0xbe, 0x03, 0xe6,
	0x9c, 0xfb, 0xda, 0x3a, 0x7e, 0xda, 0xdf, 0x87, 0xea, 0x94, 0x45, 0x94, 0x25, 0xd2, 0x6c, 0xc5,
	0xd1, 0x10, 0x5a, 0xf5, 0x28, 0x4d, 0x58, 0x9a, 0x62, 0x56, 0xb4, 0x55, 0x8d, 0x19, 0x50, 0x3c,
	0xcb, 0x98, 0x27, 0x62, 0x46, 0xbd, 0xb7, 0x32, 0xd7, 0x96, 0xb3, 0x84, 0x51, 0x65, 0xea, 0xcf,
	0xe2, 0x38, 0xe8, 0x56, 0x25, 0x45, 0x43, 0xe4, 0x14, 0xda, 0x2a, 0x42, 0x67, 0xc2, 0x13, 0x8b,
	0x14, 0x9d, 0xbd, 0x35, 0xf1, 0x9f, 0x41, 0x35, 0x95, 0x5c, 0xba, 0xec, 0x9b, 0xaa, 0x92, 0xb4,
	0xa4, 0xa6, 0x91, 0x3f, 0xc0, 0x87, 0x4a, 0xe3, 0xab, 0xc5, 0x78, 0x1c, 0xb0, 0xf7, 0xa6, 0xf7,
	0x1c, 0xb6, 0x95, 0xde, 0x7e, 0xc2, 0x2f, 0xdf, 0x9f, 0xda, 0xbf, 0x1b, 0xd0, 0xc0, 0x34, 0x0d,
	0x79, 0x2a, 0x50, 0xdd, 0x36, 0x54, 0x78, 0x44, 0xd9, 0xb5, 0x54, 0x56, 0x71, 0x14, 0x80, 0xe1,
	0x0b, 0x58, 0x34, 0x15, 0x33, 0xa9, 0xab, 0xe2, 0x68, 0x08, 0x13, 0x1b, 0xf2, 0xc8, 0x0d, 0xd8,
	0x25, 0x0b, 0x74, 0xb2, 0xea, 0x21, 0x8f, 0x86, 0x08, 0x4b, 0xa2, 0x77, 0xad, 0x89, 0x65, 0x4d,
	0xf4, 0xae, 0x15, 0xf1, 0x09, 0x20, 0xa3, 0x3b, 0xf1, 0xa2, 0x54, 0x26, 0xcb, 0x74, 0x6a, 0x21,
	0x8f, 0x0e, 0xbd, 0x28, 0x25, 0xc3, 0xa2, 0x47, 0xa9, 0xfd, 0x85, 0x9e, 0x1a, 0x01, 0x4f, 0x45,
	0xd7, 0xd8, 0x31, 0x9f, 0x35, 0xf6, 0x41, 0x1d, 0x45, 0x96, 0x97, 0x9c, 0x20, 0xc8, 0x8b, 0xae,
	0x8b, 0x58, 0x78, 0x81, 0xf4, 0xd1, 0x74, 0x14, 0x40, 0xfe, 0x63, 0x42, 0x19, 0x19, 0x6f, 0x0f,
	0xd4, 0x63, 0xa8, 0xcd, 0xbc, 0x74, 0x86, 0x04, 0x55, 0x84, 0x55, 0x04, 0x07, 0x74, 0xb5, 0x6c,
	0xcd, 0xcd, 0x65, 0x5b, 0xce, 0xcb, 0xf6, 0x23, 0xa8, 0x73, 0xca, 0x22, 0xc1, 0x27, 0xaa, 0xfe,
	0x2a, 0xce, 0x12, 0xc6, 0xe3, 0x5e, 0xf2, 0xb9, 0xd2, 0xa4, 0x2a, 0xb0, 0x76, 0xc9, 0xe7, 0x52,
	0x51, 0x5e, 0xed, 0xb5, 0x95, 0x6a, 0xdf, 0x86, 0xca, 0xd8, 0xa3, 0x53, 0xd6, 0xad, 0x4b, 0x7e,
	0x05, 0xdc, 0xe8, 0x01, 0xeb, 0x66, 0x0f, 0xe8, 0x0e, 0x87, 0x95, 0x0e, 0x5f, 0x76, 0x45, 0x63,
	0x43, 0x57, 0xa8, 0x12, 0x69, 0x2a, 0xd3, 0x0a, 0xb2, 0x9f, 0xc2, 0xd6, 0x58, 0x56, 0xaf, 0xab,
	0xc9, 0x5b, 0x92, 0xdc, 0x1c, 0x17, 0x4a, 0xda, 0xfe, 0x14, 0x9a, 0x14, 0x4b, 0x31, 0xe3, 0x69,
	0x49, 0x9e, 0x06, 0xcd, 0xcb, 0x13, 0x9d, 0x95, 0x91, 0x55, 0x25, 0xd0, 0x96, 0x0c, 0x16, 0x62,
	0x96, 0x35, 0x80, 0xf9, 0x77, 0xa3, 0x45, 0xd8, 0xed, 0xa8, 0x1a, 0x40, 0xf8, 0x78, 0x11, 0x92,
	0xa7, 0xd0, 0x3c, 0x8c, 0xfd, 0x45, 0x9a, 0x4d, 0x90, 0x47, 0x98, 0xdb, 0x2c, 0x43, 0xa6, 0x53,
	0x16, 0xf1, 0x80, 0x92, 0x1f, 0x42, 0xeb, 0x3c, 0xba, 0x9f, 0xed, 0x39, 0x34, 0x7b, 0x94, 0x1e,
	0x26, 0x9c, 0x45, 0x72, 0x0a, 0x3e, 0x01, 0x59, 0x33, 0xfb, 0x39, 0x9f, 0x2c, 0x8c, 0x7d, 0xc5,
	0xda, 0x67, 0xc1, 0x83, 0x58, 0x9f, 0x42, 0xf3, 0x55, 0x10, 0xfb, 0x17, 0xf7, 0x7b, 0x38, 0xbe,
	0x97, 0x6d, 0x17, 0xda, 0x48, 0x3f, 0xf0, 0x12, 0x9a, 0xf5, 0xe1, 0x6d, 0xd5, 0x4a, 0xbe, 0xba,
	0xc9, 0x9b, 0xda, 0x5f, 0x82, 0xe5, 0x7b, 0x09, 0x2d, 0x76, 0x88, 0xbe, 0x92, 0x17, 0x9a, 0xd3,
	0xa9, 0xfb, 0x9a, 0x9f, 0xfc, 0xc3, 0x50, 0x67, 0x42, 0x34, 0x5a, 0x91, 0x92, 0xb9, 0x15, 0x04,
	0x55, 0xe9, 0x4b, 0x82, 0xbc, 0x38, 0xf5, 0xc5, 0x80, 0x08, 0x9c, 0xef, 0x4b, 0x62, 0xb1, 0x2f,
	0x10, 0x21, 0xcb, 0x19, 0xbb, 0x90, 0x87, 0xfa, 0x56, 0xc0, 0x2e, 0x44, 0xc0, 0xde, 0x81, 0xa6,
	0x3c, 0x4e, 0x66, 0x4d, 0xb5, 0x3c, 0x64, 0x8e, 0x0c, 0x28, 0x79, 0x01, 0x70, 0x9e, 0x32, 0xe9,
	0x2c, 0xfb, 0x66, 0x8d, 0xdf, 0x58, 0xe3, 0x1f, 0xea, 0x4d, 0xe5, 0xa1, 0x02, 0xe8, 0x75, 0xc2,
	0x7c, 0x2c, 0xd8, 0x65, 0xa3, 0xd7, 0x15, 0x62, 0x40, 0xc9, 0x4f, 0x61, 0xcb, 0x91, 0xdf, 0x0f,
	0x77, 0xe0, 0x25, 0x34, 0x8a, 0x49, 0xf8, 0x62, 0x3d, 0x09, 0x7a, 0x4c, 0xf9, 0xab, 0x09, 0xf8,
	0xab, 0x01, 0x65, 0xff, 0xff, 0x14, 0x7c, 0x1b, 0xca, 0x51, 0x2c, 0xb2, 0x3d, 0x48, 0x7e, 0xe7,
	0x09, 0xa9, 0x14, 0x12, 0x42, 0xe6, 0x00, 0x3d, 0xba, 0x8c, 0xde, 0x8a, 0x45, 0xe3, 0x2e, 0x8b,
	0xa5, 0xdb, 0xd2, 0x6d, 0x16, 0xd3, 0xbd, 0xc1, 0x0f, 0xf2, 0xb5, 0xda, 0x09, 0x32, 0x93, 0xf7,
	0x9e, 0x7e, 0xa3, 0xb9, 0x4c, 0xb1, 0x59, 0x50, 0xfc, 0x1c, 0x5a, 0x3d, 0x4a, 0xb3, 0xa6, 0xb8,
	0x4b, 0x37, 0xd9, 0x07, 0x18, 0x79, 0xd3, 0x2c, 0x65, 0x9f, 0x41, 0x5d, 0x78, 0xd3, 0x62, 0xc6,
	0x2c, 0x95, 0x31, 0xe1, 0x4d, 0x9d, 0x9a, 0x50, 0x8c, 0xe4, 0x97, 0x60, 0x0a, 0x6f, 0x8a, 0xa3,
	0x00, 0x99, 0x0b, 0x2b, 0x0c, 0x72, 0x48, 0xa7, 0x3e, 0x84, 0x2a, 0x92, 0x96, 0x4d, 0x5d, 0x11,
	0xde, 0x74, 0x40, 0xc9, 0xe7, 0x60, 0xf5, 0x28, 0x1d, 0x79, 0x53, 0x3d, 0x49, 0x6e, 0x11, 0x27,
	0x5f, 0x01, 0x60, 0x60, 0x34, 0x63, 0xae, 0xcc, 0x28, 0x28, 0x5b, 0x91, 0x2f, 0xad, 0xca, 0x13,
	0xb0, 0xfa, 0x2c, 0xb8, 0x53, 0x9c, 0xfc, 0x0a, 0x3a, 0xe7, 0x73, 0xea, 0x09, 0x86, 0x61, 0xd2,
	0xac, 0x0f, 0x3b, 0xfe, 0x73, 0x68, 0x69, 0x99, 0x7b, 0x47, 0xd3, 0xcb, 0x1b, 0xac, 0x0f, 0x8d,
	0xf0, 0x4f, 0xd4, 0x48, 0x1b, 0xe8, 0xcb, 0x12, 0x6d, 0xe0, 0x35, 0xb7, 0x10, 0x33, 0x57, 0xc4,
	0x17, 0x2c, 0xd2, 0x01, 0xb3, 0x10, 0x33, 0x42, 0x04, 0xf9, 0x12, 0xda, 0x58, 0xbd, 0x71, 0x38,
	0x0f, 0x3c, 0x1e, 0x49, 0xaf, 0xba, 0x50, 0xf3, 0xe3, 0x48, 0xb0, 0x48, 0x64, 0xf1, 0xd5, 0x20,
	0xf9, 0x39, 0xb4, 0xfb, 0x2c, 0x58, 0x61, 0xfe, 0x14, 0x9a, 0x7e, 0x06, 0xe7, 0xe7, 0x68, 0x2c,
	0x71, 0x03, 0x4a, 0x4e, 0xa0, 0x23, 0xcb, 0xf5, 0x41, 0x36, 0xd6, 0x14, 0x96, 0xd6, 0x15, 0xfe,
	0x16, 0x3a, 0x4b, 0x65, 0x1b, 0xb7, 0x2d, 0x73, 0xf3, 0xb6, 0x65, 0x66, 0xdb, 0x16, 0xf9, 0xf3,
	0x9a, 0x86, 0xd4, 0x7e, 0x09, 0xad, 0xdc, 0x70, 0x21, 0xce, 0xed, 0xec, 0x4d, 0x96, 0xb9, 0xbf,
	0xe5, 0x17, 0x45, 0x6f, 0x59, 0x96, 0x8e, 0xc0, 0x5a, 0x4a, 0xbc, 0xdb, 0x69, 0x7b, 0xd0, 0x91,
	0x1d, 0xf9, 0xb0, 0xf0, 0x6d, 0xbc, 0x15, 0x7f, 0x0d, 0xdb, 0xd9, 0x23, 0xe2, 0xdb, 0x26, 0xaf,
	0x0f, 0xdb, 0x2b, 0x62, 0xdf, 0x2d, 0xde, 0xb3, 0x8d, 0x5a, 0x52, 0xfb, 0x37, 0xb7, 0xc4, 0xfc,
	0x51, 0xbe, 0x96, 0x7e, 0xcb, 0xb8, 0xff, 0xd7, 0x80, 0xad, 0x15, 0xb1, 0x77, 0x0a, 0x3e, 0x8e,
	0xd0, 0x49, 0x12, 0x87, 0x2e, 0xba, 0x93, 0xdd, 0x11, 0x88, 0xc8, 0xf6, 0x60, 0x11, 0x2b, 0x92,
	0x1a, 0xcf, 0x55, 0x11, 0x4b, 0x42, 0xbe, 0x0d, 0x56, 0x56, 0xb6, 0xc1, 0x4f, 0xa0, 0xe1, 0x27,
	0xcc, 0x13, 0xcc, 0xc5, 0xe1, 0x2e, 0xd7, 0x57, 0xd3, 0x01, 0x85, 0x1a, 0xf1, 0x90, 0x91, 0xbf,
	0x19, 0xb0, 0xd5, 0xa3, 0xf4, 0x6c, 0x31, 0x9d, 0xb2, 0xf4, 0x9e, 0x4c, 0x17, 0x86, 0x47, 0xe9,
	0xc6, 0x73, 0xa5, 0x3e, 0xe7, 0xbe, 0x0a, 0xa7, 0x59, 0x1c, 0x15, 0xa7, 0xdc, 0x77, 0x6a, 0x73,
	0xee, 0xcb, 0xf0, 0xed, 0x40, 0x93, 0x85, 0x1e, 0x0f, 0xdc, 0x38, 0x71, 0x85, 0x7e, 0x56, 0x58,
	0x0e, 0x48, 0xdc, 0x49, 0x32, 0x62, 0x01, 0x71, 0xc0, 0x3c, 0x55, 0x6f, 0xc8, 0xf1, 0xc2, 0xbf,
	0x60, 0x99, 0x03, 0x1a, 0x42, 0x3c, 0x3e, 0xdd, 0xe3, 0x28, 0xdb, 0xf5, 0x15, 0x24, 0x43, 0xc6,
	0x03, 0xb6, 0x72, 0xad, 0x22, 0x42, 0x4e, 0xd8, 0x7f, 0x1a, 0xd0, 0x38, 0x88, 0xc3, 0x90, 0x8b,
	0xd1, 0xb5, 0xae, 0x40, 0x19, 0x5f, 0xbd, 0x77, 0x6b, 0x13, 0x0d, 0xc4, 0xf5, 0x14, 0x0a, 0x07,
	0x98, 0x88, 0x97, 0x0c, 0xca, 0x96, 0x25, 0xe2, 0x8c, 0x8c, 0x49, 0xb8, 0x76, 0x71, 0x15, 0xd6,
	0xc6, 0xaa, 0xe2, 0xfa, 0xc8, 0x4b, 0x67, 0xe8, 0x9f, 0x17, 0xc6, 0x8b, 0x48, 0xc8, 0xa3, 0x19,
	0x8e, 0x86, 0xe4, 0xad, 0x18, 0x17, 0xff, 0xc9, 0xc0, 0x5b, 0x31, 0xd6, 0xff, 0x5b, 0xec, 0x41,
	0xe7, 0x0d, 0x13, 0x27, 0x93, 0x09, 0xf7, 0x19, 0x5a, 0xc8, 0xae, 0xf4, 0xa5, 0x80, 0x71, 0x43,
	0xe0, 0xf3, 0x35, 0x01, 0x79, 0x67, 0xa3, 0xbb, 0x9a, 0x57, 0x7e, 0x93, 0x21, 0xc0, 0x90, 0x5f,
	0xb0, 0x83, 0x99, 0x17, 0x4d, 0x19, 0x3a, 0x2d, 0x8f, 0x9d, 0x0f, 0x7e, 0x04, 0x07, 0x74, 0x63,
	0xfb, 0xe2, 0x53, 0x04, 0x17, 0x7b, 0xb5, 0x17, 0xe0, 0x27, 0xb9, 0x82, 0xd6, 0x2b, 0xe1, 0xcb,
	0xdd, 0x3f, 0xd7, 0xb8, 0xf9, 0x4d, 0xf6, 0x0c, 0x3a, 0x63, 0x36, 0x89, 0x13, 0xe6, 0x8e, 0x85,
	0xaf, 0xdf, 0x0f, 0x4a, 0x79, 0x4b, 0xe1, 0x33, 0x45, 0x36, 0x81, 0xad, 0x28, 0xbe, 0x2a, 0xb0,
	0x29, 0x83, 0x8d, 0x28, 0xbe, 0xca, 0x78, 0xc8, 0x19, 0x34, 0xe4, 0x33, 0xe1, 0x3b, 0x9d, 0x23,
	0x6f, 0x0b, 0xa5, 0x39, 0x7b, 0x39, 0xef, 0x41, 0x0b, 0xc7, 0x53, 0xa1, 0xea, 0x3f, 0x06, 0x48,
	0x15, 0x94, 0xab, 0xb6, 0x34, 0x66, 0x40, 0x77, 0xf7, 0xa0, 0x9e, 0xfd, 0x45, 0x66, 0x37, 0xa0,
	0xd6, 0x7f, 0x7d, 0xd8, 0x3b, 0x1f, 0x8e, 0x3a, 0x1f, 0xd8, 0x16, 0x54, 0x86, 0x27, 0x6f, 0x06,
	0xc7, 0x1d, 0x03, 0xf1, 0x87, 0x83, 0xe3, 0xfe, 0xe9, 0xd7, 0xfd, 0x4e, 0x69, 0x77, 0x0f, 0xac,
	0xe5, 0xdf, 0x54, 0x52, 0x82, 0x4d, 0xbc, 0x45, 0x20, 0x3a, 0x1f, 0xd8, 0x75, 0x28, 0xa3, 0x2a,
	0x25, 0xd0, 0xf3, 0x7d, 0x2c, 0x91, 0x4e, 0x69, 0xf7, 0x17, 0x50, 0xd5, 0x2f, 0xaf, 0xef, 0xc1,
	0x96, 0xfa, 0xca, 0x65, 0x9a, 0x50, 0x3f, 0x8f, 0x26, 0x09, 0x63, 0x7f, 0x41, 0x39, 0x80, 0xea,
	0xa1, 0xfa, 0x2e, 0xed, 0xfe, 0x09, 0x5a, 0x58, 0x7b, 0x2a, 0x3a, 0xd2, 0xd8, 0x63, 0x78, 0x74,
	0xd4, 0x3b, 0x3b, 0x72, 0x0f, 0x8e, 0x7a, 0xc7, 0x6f, 0x5e, 0xbb, 0xb9, 0xab, 0x2d, 0x80, 0x57,
	0xa3, 0x03, 0x8d, 0xef, 0x18, 0x76, 0x1b, 0x1a, 0xc3, 0xc1, 0xef, 0x5e, 0x67, 0x88, 0x92, 0xdd,
	0x81, 0xe6, 0xe1, 0xc9, 0xc1, 0xf9, 0x59, 0x86, 0x31, 0xc7, 0x55, 0xf9, 0xff, 0xe2, 0xcf, 0xfe,
	0x17, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xde, 0x33, 0xd5, 0x72, 0x14, 0x00, 0x00,
}
