// Code generated by protoc-gen-go. DO NOT EDIT.
// source: orderer/tbft/consensus.proto

package tbft

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	common "github.com/hyperledger/fabric-protos-go/common"
	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.ProtoPackageIsVersion3 // please upgrade the proto package

// Step represents consensus step in tbft
type Step int32

const (
	Step_PROPOSE   Step = 0
	Step_PREVOTE   Step = 1
	Step_PRECOMMIT Step = 2
)

var Step_name = map[int32]string{
	0: "PROPOSE",
	1: "PREVOTE",
	2: "PRECOMMIT",
}

var Step_value = map[string]int32{
	"PROPOSE":   0,
	"PREVOTE":   1,
	"PRECOMMIT": 2,
}

func (x Step) String() string {
	return proto.EnumName(Step_name, int32(x))
}

func (Step) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{0}
}

type ResponseCode int32

const (
	ResponseCode_OK   ResponseCode = 0
	ResponseCode_FAIL ResponseCode = 1
)

var ResponseCode_name = map[int32]string{
	0: "OK",
	1: "FAIL",
}

var ResponseCode_value = map[string]int32{
	"OK":   0,
	"FAIL": 1,
}

func (x ResponseCode) String() string {
	return proto.EnumName(ResponseCode_name, int32(x))
}

func (ResponseCode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{1}
}

type Propose struct {
	ValidRound           uint64        `protobuf:"varint,1,opt,name=valid_round,json=validRound,proto3" json:"valid_round,omitempty"`
	Proposal             *common.Block `protobuf:"bytes,2,opt,name=proposal,proto3" json:"proposal,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *Propose) Reset()         { *m = Propose{} }
func (m *Propose) String() string { return proto.CompactTextString(m) }
func (*Propose) ProtoMessage()    {}
func (*Propose) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{0}
}

func (m *Propose) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Propose.Unmarshal(m, b)
}
func (m *Propose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Propose.Marshal(b, m, deterministic)
}
func (m *Propose) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Propose.Merge(m, src)
}
func (m *Propose) XXX_Size() int {
	return xxx_messageInfo_Propose.Size(m)
}
func (m *Propose) XXX_DiscardUnknown() {
	xxx_messageInfo_Propose.DiscardUnknown(m)
}

var xxx_messageInfo_Propose proto.InternalMessageInfo

func (m *Propose) GetValidRound() uint64 {
	if m != nil {
		return m.ValidRound
	}
	return 0
}

func (m *Propose) GetProposal() *common.Block {
	if m != nil {
		return m.Proposal
	}
	return nil
}

type Prevote struct {
	Hash                 []byte   `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Prevote) Reset()         { *m = Prevote{} }
func (m *Prevote) String() string { return proto.CompactTextString(m) }
func (*Prevote) ProtoMessage()    {}
func (*Prevote) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{1}
}

func (m *Prevote) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Prevote.Unmarshal(m, b)
}
func (m *Prevote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Prevote.Marshal(b, m, deterministic)
}
func (m *Prevote) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Prevote.Merge(m, src)
}
func (m *Prevote) XXX_Size() int {
	return xxx_messageInfo_Prevote.Size(m)
}
func (m *Prevote) XXX_DiscardUnknown() {
	xxx_messageInfo_Prevote.DiscardUnknown(m)
}

var xxx_messageInfo_Prevote proto.InternalMessageInfo

func (m *Prevote) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

type Precommit struct {
	Hash                 []byte   `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Precommit) Reset()         { *m = Precommit{} }
func (m *Precommit) String() string { return proto.CompactTextString(m) }
func (*Precommit) ProtoMessage()    {}
func (*Precommit) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{2}
}

func (m *Precommit) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Precommit.Unmarshal(m, b)
}
func (m *Precommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Precommit.Marshal(b, m, deterministic)
}
func (m *Precommit) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Precommit.Merge(m, src)
}
func (m *Precommit) XXX_Size() int {
	return xxx_messageInfo_Precommit.Size(m)
}
func (m *Precommit) XXX_DiscardUnknown() {
	xxx_messageInfo_Precommit.DiscardUnknown(m)
}

var xxx_messageInfo_Precommit proto.InternalMessageInfo

func (m *Precommit) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

type Response struct {
	Code                 ResponseCode `protobuf:"varint,1,opt,name=code,proto3,enum=tbft.ResponseCode" json:"code,omitempty"`
	RequestSeq           uint64       `protobuf:"varint,2,opt,name=request_seq,json=requestSeq,proto3" json:"request_seq,omitempty"`
	RequestHeight        uint64       `protobuf:"varint,3,opt,name=request_height,json=requestHeight,proto3" json:"request_height,omitempty"`
	RequestRound         uint64       `protobuf:"varint,4,opt,name=request_round,json=requestRound,proto3" json:"request_round,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *Response) Reset()         { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage()    {}
func (*Response) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{3}
}

func (m *Response) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Response.Unmarshal(m, b)
}
func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Response.Marshal(b, m, deterministic)
}
func (m *Response) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Response.Merge(m, src)
}
func (m *Response) XXX_Size() int {
	return xxx_messageInfo_Response.Size(m)
}
func (m *Response) XXX_DiscardUnknown() {
	xxx_messageInfo_Response.DiscardUnknown(m)
}

var xxx_messageInfo_Response proto.InternalMessageInfo

func (m *Response) GetCode() ResponseCode {
	if m != nil {
		return m.Code
	}
	return ResponseCode_OK
}

func (m *Response) GetRequestSeq() uint64 {
	if m != nil {
		return m.RequestSeq
	}
	return 0
}

func (m *Response) GetRequestHeight() uint64 {
	if m != nil {
		return m.RequestHeight
	}
	return 0
}

func (m *Response) GetRequestRound() uint64 {
	if m != nil {
		return m.RequestRound
	}
	return 0
}

type Msg struct {
	Seq    uint64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
	Id     uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	Round  uint64 `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
	// Types that are valid to be assigned to Payload:
	//	*Msg_Propose
	//	*Msg_Prevote
	//	*Msg_Precommit
	//	*Msg_Response
	Payload              isMsg_Payload `protobuf_oneof:"payload"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *Msg) Reset()         { *m = Msg{} }
func (m *Msg) String() string { return proto.CompactTextString(m) }
func (*Msg) ProtoMessage()    {}
func (*Msg) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{4}
}

func (m *Msg) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Msg.Unmarshal(m, b)
}
func (m *Msg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Msg.Marshal(b, m, deterministic)
}
func (m *Msg) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Msg.Merge(m, src)
}
func (m *Msg) XXX_Size() int {
	return xxx_messageInfo_Msg.Size(m)
}
func (m *Msg) XXX_DiscardUnknown() {
	xxx_messageInfo_Msg.DiscardUnknown(m)
}

var xxx_messageInfo_Msg proto.InternalMessageInfo

func (m *Msg) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *Msg) GetId() uint64 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *Msg) GetHeight() uint64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *Msg) GetRound() uint64 {
	if m != nil {
		return m.Round
	}
	return 0
}

type isMsg_Payload interface {
	isMsg_Payload()
}

type Msg_Propose struct {
	Propose *Propose `protobuf:"bytes,5,opt,name=propose,proto3,oneof"`
}

type Msg_Prevote struct {
	Prevote *Prevote `protobuf:"bytes,6,opt,name=prevote,proto3,oneof"`
}

type Msg_Precommit struct {
	Precommit *Precommit `protobuf:"bytes,7,opt,name=precommit,proto3,oneof"`
}

type Msg_Response struct {
	Response *Response `protobuf:"bytes,8,opt,name=response,proto3,oneof"`
}

func (*Msg_Propose) isMsg_Payload() {}

func (*Msg_Prevote) isMsg_Payload() {}

func (*Msg_Precommit) isMsg_Payload() {}

func (*Msg_Response) isMsg_Payload() {}

func (m *Msg) GetPayload() isMsg_Payload {
	if m != nil {
		return m.Payload
	}
	return nil
}

func (m *Msg) GetPropose() *Propose {
	if x, ok := m.GetPayload().(*Msg_Propose); ok {
		return x.Propose
	}
	return nil
}

func (m *Msg) GetPrevote() *Prevote {
	if x, ok := m.GetPayload().(*Msg_Prevote); ok {
		return x.Prevote
	}
	return nil
}

func (m *Msg) GetPrecommit() *Precommit {
	if x, ok := m.GetPayload().(*Msg_Precommit); ok {
		return x.Precommit
	}
	return nil
}

func (m *Msg) GetResponse() *Response {
	if x, ok := m.GetPayload().(*Msg_Response); ok {
		return x.Response
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Msg) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Msg_Propose)(nil),
		(*Msg_Prevote)(nil),
		(*Msg_Precommit)(nil),
		(*Msg_Response)(nil),
	}
}

type TimeEvent struct {
	Height               uint64   `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                uint64   `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Step                 Step     `protobuf:"varint,3,opt,name=step,proto3,enum=tbft.Step" json:"step,omitempty"`
	Timeout              int64    `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TimeEvent) Reset()         { *m = TimeEvent{} }
func (m *TimeEvent) String() string { return proto.CompactTextString(m) }
func (*TimeEvent) ProtoMessage()    {}
func (*TimeEvent) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{5}
}

func (m *TimeEvent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TimeEvent.Unmarshal(m, b)
}
func (m *TimeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TimeEvent.Marshal(b, m, deterministic)
}
func (m *TimeEvent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TimeEvent.Merge(m, src)
}
func (m *TimeEvent) XXX_Size() int {
	return xxx_messageInfo_TimeEvent.Size(m)
}
func (m *TimeEvent) XXX_DiscardUnknown() {
	xxx_messageInfo_TimeEvent.DiscardUnknown(m)
}

var xxx_messageInfo_TimeEvent proto.InternalMessageInfo

func (m *TimeEvent) GetHeight() uint64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *TimeEvent) GetRound() uint64 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *TimeEvent) GetStep() Step {
	if m != nil {
		return m.Step
	}
	return Step_PROPOSE
}

func (m *TimeEvent) GetTimeout() int64 {
	if m != nil {
		return m.Timeout
	}
	return 0
}

type WalEntry struct {
	Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Sender uint64 `protobuf:"varint,2,opt,name=sender,proto3" json:"sender,omitempty"`
	// Types that are valid to be assigned to Payload:
	//	*WalEntry_Msg
	//	*WalEntry_TimeEvent
	Payload              isWalEntry_Payload `protobuf_oneof:"payload"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *WalEntry) Reset()         { *m = WalEntry{} }
func (m *WalEntry) String() string { return proto.CompactTextString(m) }
func (*WalEntry) ProtoMessage()    {}
func (*WalEntry) Descriptor() ([]byte, []int) {
	return fileDescriptor_40699e50c6c073b1, []int{6}
}

func (m *WalEntry) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WalEntry.Unmarshal(m, b)
}
func (m *WalEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WalEntry.Marshal(b, m, deterministic)
}
func (m *WalEntry) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WalEntry.Merge(m, src)
}
func (m *WalEntry) XXX_Size() int {
	return xxx_messageInfo_WalEntry.Size(m)
}
func (m *WalEntry) XXX_DiscardUnknown() {
	xxx_messageInfo_WalEntry.DiscardUnknown(m)
}

var xxx_messageInfo_WalEntry proto.InternalMessageInfo

func (m *WalEntry) GetHeight() uint64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *WalEntry) GetSender() uint64 {
	if m != nil {
		return m.Sender
	}
	return 0
}

type isWalEntry_Payload interface {
	isWalEntry_Payload()
}

type WalEntry_Msg struct {
	Msg *Msg `protobuf:"bytes,3,opt,name=msg,proto3,oneof"`
}

type WalEntry_TimeEvent struct {
	TimeEvent *TimeEvent `protobuf:"bytes,4,opt,name=time_event,json=timeEvent,proto3,oneof"`
}

func (*WalEntry_Msg) isWalEntry_Payload() {}

func (*WalEntry_TimeEvent) isWalEntry_Payload() {}

func (m *WalEntry) GetPayload() isWalEntry_Payload {
	if m != nil {
		return m.Payload
	}
	return nil
}

func (m *WalEntry) GetMsg() *Msg {
	if x, ok := m.GetPayload().(*WalEntry_Msg); ok {
		return x.Msg
	}
	return nil
}

func (m *WalEntry) GetTimeEvent() *TimeEvent {
	if x, ok := m.GetPayload().(*WalEntry_TimeEvent); ok {
		return x.TimeEvent
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*WalEntry) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*WalEntry_Msg)(nil),
		(*WalEntry_TimeEvent)(nil),
	}
}

func init() {
	proto.RegisterEnum("tbft.Step", Step_name, Step_value)
	proto.RegisterEnum("tbft.ResponseCode", ResponseCode_name, ResponseCode_value)
	proto.RegisterType((*Propose)(nil), "tbft.Propose")
	proto.RegisterType((*Prevote)(nil), "tbft.Prevote")
	proto.RegisterType((*Precommit)(nil), "tbft.Precommit")
	proto.RegisterType((*Response)(nil), "tbft.Response")
	proto.RegisterType((*Msg)(nil), "tbft.Msg")
	proto.RegisterType((*TimeEvent)(nil), "tbft.TimeEvent")
	proto.RegisterType((*WalEntry)(nil), "tbft.WalEntry")
}

func init() { proto.RegisterFile("orderer/tbft/consensus.proto", fileDescriptor_40699e50c6c073b1) }

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