make MaxAge nonnullable

This commit is contained in:
Anton Kaliaev 2018-10-15 12:05:58 +04:00
parent 7e7e4c74ca
commit 166dc01ab5
No known key found for this signature in database
GPG Key ID: 7B6881D965918214
7 changed files with 272 additions and 285 deletions

1
Gopkg.lock generated
View File

@ -517,6 +517,7 @@
"github.com/gogo/protobuf/proto",
"github.com/gogo/protobuf/types",
"github.com/golang/protobuf/proto",
"github.com/golang/protobuf/ptypes/duration",
"github.com/golang/protobuf/ptypes/timestamp",
"github.com/gorilla/websocket",
"github.com/jmhodges/levigo",

View File

@ -62,7 +62,7 @@ func (m *Request) Reset() { *m = Request{} }
func (m *Request) String() string { return proto.CompactTextString(m) }
func (*Request) ProtoMessage() {}
func (*Request) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{0}
return fileDescriptor_types_6169dac75ac75953, []int{0}
}
func (m *Request) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -484,7 +484,7 @@ func (m *RequestEcho) Reset() { *m = RequestEcho{} }
func (m *RequestEcho) String() string { return proto.CompactTextString(m) }
func (*RequestEcho) ProtoMessage() {}
func (*RequestEcho) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{1}
return fileDescriptor_types_6169dac75ac75953, []int{1}
}
func (m *RequestEcho) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -530,7 +530,7 @@ func (m *RequestFlush) Reset() { *m = RequestFlush{} }
func (m *RequestFlush) String() string { return proto.CompactTextString(m) }
func (*RequestFlush) ProtoMessage() {}
func (*RequestFlush) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{2}
return fileDescriptor_types_6169dac75ac75953, []int{2}
}
func (m *RequestFlush) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -570,7 +570,7 @@ func (m *RequestInfo) Reset() { *m = RequestInfo{} }
func (m *RequestInfo) String() string { return proto.CompactTextString(m) }
func (*RequestInfo) ProtoMessage() {}
func (*RequestInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{3}
return fileDescriptor_types_6169dac75ac75953, []int{3}
}
func (m *RequestInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -619,7 +619,7 @@ func (m *RequestSetOption) Reset() { *m = RequestSetOption{} }
func (m *RequestSetOption) String() string { return proto.CompactTextString(m) }
func (*RequestSetOption) ProtoMessage() {}
func (*RequestSetOption) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{4}
return fileDescriptor_types_6169dac75ac75953, []int{4}
}
func (m *RequestSetOption) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -677,7 +677,7 @@ func (m *RequestInitChain) Reset() { *m = RequestInitChain{} }
func (m *RequestInitChain) String() string { return proto.CompactTextString(m) }
func (*RequestInitChain) ProtoMessage() {}
func (*RequestInitChain) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{5}
return fileDescriptor_types_6169dac75ac75953, []int{5}
}
func (m *RequestInitChain) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -755,7 +755,7 @@ func (m *RequestQuery) Reset() { *m = RequestQuery{} }
func (m *RequestQuery) String() string { return proto.CompactTextString(m) }
func (*RequestQuery) ProtoMessage() {}
func (*RequestQuery) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{6}
return fileDescriptor_types_6169dac75ac75953, []int{6}
}
func (m *RequestQuery) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -827,7 +827,7 @@ func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} }
func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) }
func (*RequestBeginBlock) ProtoMessage() {}
func (*RequestBeginBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{7}
return fileDescriptor_types_6169dac75ac75953, []int{7}
}
func (m *RequestBeginBlock) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -895,7 +895,7 @@ func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} }
func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) }
func (*RequestCheckTx) ProtoMessage() {}
func (*RequestCheckTx) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{8}
return fileDescriptor_types_6169dac75ac75953, []int{8}
}
func (m *RequestCheckTx) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -942,7 +942,7 @@ func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} }
func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) }
func (*RequestDeliverTx) ProtoMessage() {}
func (*RequestDeliverTx) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{9}
return fileDescriptor_types_6169dac75ac75953, []int{9}
}
func (m *RequestDeliverTx) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -989,7 +989,7 @@ func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} }
func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) }
func (*RequestEndBlock) ProtoMessage() {}
func (*RequestEndBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{10}
return fileDescriptor_types_6169dac75ac75953, []int{10}
}
func (m *RequestEndBlock) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1035,7 +1035,7 @@ func (m *RequestCommit) Reset() { *m = RequestCommit{} }
func (m *RequestCommit) String() string { return proto.CompactTextString(m) }
func (*RequestCommit) ProtoMessage() {}
func (*RequestCommit) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{11}
return fileDescriptor_types_6169dac75ac75953, []int{11}
}
func (m *RequestCommit) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1088,7 +1088,7 @@ 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_types_484dc917594bf763, []int{12}
return fileDescriptor_types_6169dac75ac75953, []int{12}
}
func (m *Response) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1541,7 +1541,7 @@ func (m *ResponseException) Reset() { *m = ResponseException{} }
func (m *ResponseException) String() string { return proto.CompactTextString(m) }
func (*ResponseException) ProtoMessage() {}
func (*ResponseException) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{13}
return fileDescriptor_types_6169dac75ac75953, []int{13}
}
func (m *ResponseException) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1588,7 +1588,7 @@ func (m *ResponseEcho) Reset() { *m = ResponseEcho{} }
func (m *ResponseEcho) String() string { return proto.CompactTextString(m) }
func (*ResponseEcho) ProtoMessage() {}
func (*ResponseEcho) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{14}
return fileDescriptor_types_6169dac75ac75953, []int{14}
}
func (m *ResponseEcho) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1634,7 +1634,7 @@ func (m *ResponseFlush) Reset() { *m = ResponseFlush{} }
func (m *ResponseFlush) String() string { return proto.CompactTextString(m) }
func (*ResponseFlush) ProtoMessage() {}
func (*ResponseFlush) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{15}
return fileDescriptor_types_6169dac75ac75953, []int{15}
}
func (m *ResponseFlush) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1677,7 +1677,7 @@ func (m *ResponseInfo) Reset() { *m = ResponseInfo{} }
func (m *ResponseInfo) String() string { return proto.CompactTextString(m) }
func (*ResponseInfo) ProtoMessage() {}
func (*ResponseInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{16}
return fileDescriptor_types_6169dac75ac75953, []int{16}
}
func (m *ResponseInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1749,7 +1749,7 @@ func (m *ResponseSetOption) Reset() { *m = ResponseSetOption{} }
func (m *ResponseSetOption) String() string { return proto.CompactTextString(m) }
func (*ResponseSetOption) ProtoMessage() {}
func (*ResponseSetOption) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{17}
return fileDescriptor_types_6169dac75ac75953, []int{17}
}
func (m *ResponseSetOption) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1811,7 +1811,7 @@ func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} }
func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) }
func (*ResponseInitChain) ProtoMessage() {}
func (*ResponseInitChain) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{18}
return fileDescriptor_types_6169dac75ac75953, []int{18}
}
func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1874,7 +1874,7 @@ func (m *ResponseQuery) Reset() { *m = ResponseQuery{} }
func (m *ResponseQuery) String() string { return proto.CompactTextString(m) }
func (*ResponseQuery) ProtoMessage() {}
func (*ResponseQuery) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{19}
return fileDescriptor_types_6169dac75ac75953, []int{19}
}
func (m *ResponseQuery) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1977,7 +1977,7 @@ func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} }
func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) }
func (*ResponseBeginBlock) ProtoMessage() {}
func (*ResponseBeginBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{20}
return fileDescriptor_types_6169dac75ac75953, []int{20}
}
func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2031,7 +2031,7 @@ func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} }
func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) }
func (*ResponseCheckTx) ProtoMessage() {}
func (*ResponseCheckTx) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{21}
return fileDescriptor_types_6169dac75ac75953, []int{21}
}
func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2134,7 +2134,7 @@ func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} }
func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) }
func (*ResponseDeliverTx) ProtoMessage() {}
func (*ResponseDeliverTx) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{22}
return fileDescriptor_types_6169dac75ac75953, []int{22}
}
func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2232,7 +2232,7 @@ func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} }
func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) }
func (*ResponseEndBlock) ProtoMessage() {}
func (*ResponseEndBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{23}
return fileDescriptor_types_6169dac75ac75953, []int{23}
}
func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2294,7 +2294,7 @@ func (m *ResponseCommit) Reset() { *m = ResponseCommit{} }
func (m *ResponseCommit) String() string { return proto.CompactTextString(m) }
func (*ResponseCommit) ProtoMessage() {}
func (*ResponseCommit) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{24}
return fileDescriptor_types_6169dac75ac75953, []int{24}
}
func (m *ResponseCommit) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2344,7 +2344,7 @@ func (m *ConsensusParams) Reset() { *m = ConsensusParams{} }
func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
func (*ConsensusParams) ProtoMessage() {}
func (*ConsensusParams) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{25}
return fileDescriptor_types_6169dac75ac75953, []int{25}
}
func (m *ConsensusParams) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2402,7 +2402,7 @@ func (m *BlockSize) Reset() { *m = BlockSize{} }
func (m *BlockSize) String() string { return proto.CompactTextString(m) }
func (*BlockSize) ProtoMessage() {}
func (*BlockSize) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{26}
return fileDescriptor_types_6169dac75ac75953, []int{26}
}
func (m *BlockSize) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2448,17 +2448,17 @@ func (m *BlockSize) GetMaxGas() int64 {
// EvidenceParams contains limits on the evidence.
type EvidenceParams struct {
// Note: must be greater than 0 if provided
MaxAge *time.Duration `protobuf:"bytes,1,opt,name=max_age,json=maxAge,stdduration" json:"max_age,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
MaxAge time.Duration `protobuf:"bytes,1,opt,name=max_age,json=maxAge,stdduration" json:"max_age"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EvidenceParams) Reset() { *m = EvidenceParams{} }
func (m *EvidenceParams) String() string { return proto.CompactTextString(m) }
func (*EvidenceParams) ProtoMessage() {}
func (*EvidenceParams) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{27}
return fileDescriptor_types_6169dac75ac75953, []int{27}
}
func (m *EvidenceParams) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2487,11 +2487,11 @@ func (m *EvidenceParams) XXX_DiscardUnknown() {
var xxx_messageInfo_EvidenceParams proto.InternalMessageInfo
func (m *EvidenceParams) GetMaxAge() *time.Duration {
func (m *EvidenceParams) GetMaxAge() time.Duration {
if m != nil {
return m.MaxAge
}
return nil
return 0
}
type LastCommitInfo struct {
@ -2506,7 +2506,7 @@ func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} }
func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) }
func (*LastCommitInfo) ProtoMessage() {}
func (*LastCommitInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{28}
return fileDescriptor_types_6169dac75ac75953, []int{28}
}
func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2579,7 +2579,7 @@ func (m *Header) Reset() { *m = Header{} }
func (m *Header) String() string { return proto.CompactTextString(m) }
func (*Header) ProtoMessage() {}
func (*Header) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{29}
return fileDescriptor_types_6169dac75ac75953, []int{29}
}
func (m *Header) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2725,7 +2725,7 @@ func (m *BlockID) Reset() { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage() {}
func (*BlockID) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{30}
return fileDescriptor_types_6169dac75ac75953, []int{30}
}
func (m *BlockID) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2780,7 +2780,7 @@ func (m *PartSetHeader) Reset() { *m = PartSetHeader{} }
func (m *PartSetHeader) String() string { return proto.CompactTextString(m) }
func (*PartSetHeader) ProtoMessage() {}
func (*PartSetHeader) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{31}
return fileDescriptor_types_6169dac75ac75953, []int{31}
}
func (m *PartSetHeader) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2837,7 +2837,7 @@ func (m *Validator) Reset() { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage() {}
func (*Validator) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{32}
return fileDescriptor_types_6169dac75ac75953, []int{32}
}
func (m *Validator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2893,7 +2893,7 @@ func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} }
func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) }
func (*ValidatorUpdate) ProtoMessage() {}
func (*ValidatorUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{33}
return fileDescriptor_types_6169dac75ac75953, []int{33}
}
func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2949,7 +2949,7 @@ func (m *VoteInfo) Reset() { *m = VoteInfo{} }
func (m *VoteInfo) String() string { return proto.CompactTextString(m) }
func (*VoteInfo) ProtoMessage() {}
func (*VoteInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{34}
return fileDescriptor_types_6169dac75ac75953, []int{34}
}
func (m *VoteInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -3004,7 +3004,7 @@ func (m *PubKey) Reset() { *m = PubKey{} }
func (m *PubKey) String() string { return proto.CompactTextString(m) }
func (*PubKey) ProtoMessage() {}
func (*PubKey) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{35}
return fileDescriptor_types_6169dac75ac75953, []int{35}
}
func (m *PubKey) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -3062,7 +3062,7 @@ func (m *Evidence) Reset() { *m = Evidence{} }
func (m *Evidence) String() string { return proto.CompactTextString(m) }
func (*Evidence) ProtoMessage() {}
func (*Evidence) Descriptor() ([]byte, []int) {
return fileDescriptor_types_484dc917594bf763, []int{36}
return fileDescriptor_types_6169dac75ac75953, []int{36}
}
func (m *Evidence) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -4674,13 +4674,7 @@ func (this *EvidenceParams) Equal(that interface{}) bool {
} else if this == nil {
return false
}
if this.MaxAge != nil && that1.MaxAge != nil {
if *this.MaxAge != *that1.MaxAge {
return false
}
} else if this.MaxAge != nil {
return false
} else if that1.MaxAge != nil {
if this.MaxAge != that1.MaxAge {
return false
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
@ -6791,16 +6785,14 @@ func (m *EvidenceParams) MarshalTo(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if m.MaxAge != nil {
dAtA[i] = 0xa
i++
i = encodeVarintTypes(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.MaxAge)))
n35, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.MaxAge, dAtA[i:])
if err != nil {
return 0, err
}
i += n35
dAtA[i] = 0xa
i++
i = encodeVarintTypes(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.MaxAge)))
n35, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MaxAge, dAtA[i:])
if err != nil {
return 0, err
}
i += n35
if m.XXX_unrecognized != nil {
i += copy(dAtA[i:], m.XXX_unrecognized)
}
@ -7822,9 +7814,8 @@ func NewPopulatedBlockSize(r randyTypes, easy bool) *BlockSize {
func NewPopulatedEvidenceParams(r randyTypes, easy bool) *EvidenceParams {
this := &EvidenceParams{}
if r.Intn(10) != 0 {
this.MaxAge = github_com_gogo_protobuf_types.NewPopulatedStdDuration(r, easy)
}
v31 := github_com_gogo_protobuf_types.NewPopulatedStdDuration(r, easy)
this.MaxAge = *v31
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedTypes(r, 2)
}
@ -7838,11 +7829,11 @@ func NewPopulatedLastCommitInfo(r randyTypes, easy bool) *LastCommitInfo {
this.Round *= -1
}
if r.Intn(10) != 0 {
v31 := r.Intn(5)
this.Votes = make([]VoteInfo, v31)
for i := 0; i < v31; i++ {
v32 := NewPopulatedVoteInfo(r, easy)
this.Votes[i] = *v32
v32 := r.Intn(5)
this.Votes = make([]VoteInfo, v32)
for i := 0; i < v32; i++ {
v33 := NewPopulatedVoteInfo(r, easy)
this.Votes[i] = *v33
}
}
if !easy && r.Intn(10) != 0 {
@ -7858,8 +7849,8 @@ func NewPopulatedHeader(r randyTypes, easy bool) *Header {
if r.Intn(2) == 0 {
this.Height *= -1
}
v33 := github_com_gogo_protobuf_types.NewPopulatedStdTime(r, easy)
this.Time = *v33
v34 := github_com_gogo_protobuf_types.NewPopulatedStdTime(r, easy)
this.Time = *v34
this.NumTxs = int64(r.Int63())
if r.Intn(2) == 0 {
this.NumTxs *= -1
@ -7868,51 +7859,51 @@ func NewPopulatedHeader(r randyTypes, easy bool) *Header {
if r.Intn(2) == 0 {
this.TotalTxs *= -1
}
v34 := NewPopulatedBlockID(r, easy)
this.LastBlockId = *v34
v35 := r.Intn(100)
this.LastCommitHash = make([]byte, v35)
for i := 0; i < v35; i++ {
v35 := NewPopulatedBlockID(r, easy)
this.LastBlockId = *v35
v36 := r.Intn(100)
this.LastCommitHash = make([]byte, v36)
for i := 0; i < v36; i++ {
this.LastCommitHash[i] = byte(r.Intn(256))
}
v36 := r.Intn(100)
this.DataHash = make([]byte, v36)
for i := 0; i < v36; i++ {
v37 := r.Intn(100)
this.DataHash = make([]byte, v37)
for i := 0; i < v37; i++ {
this.DataHash[i] = byte(r.Intn(256))
}
v37 := r.Intn(100)
this.ValidatorsHash = make([]byte, v37)
for i := 0; i < v37; i++ {
v38 := r.Intn(100)
this.ValidatorsHash = make([]byte, v38)
for i := 0; i < v38; i++ {
this.ValidatorsHash[i] = byte(r.Intn(256))
}
v38 := r.Intn(100)
this.NextValidatorsHash = make([]byte, v38)
for i := 0; i < v38; i++ {
v39 := r.Intn(100)
this.NextValidatorsHash = make([]byte, v39)
for i := 0; i < v39; i++ {
this.NextValidatorsHash[i] = byte(r.Intn(256))
}
v39 := r.Intn(100)
this.ConsensusHash = make([]byte, v39)
for i := 0; i < v39; i++ {
v40 := r.Intn(100)
this.ConsensusHash = make([]byte, v40)
for i := 0; i < v40; i++ {
this.ConsensusHash[i] = byte(r.Intn(256))
}
v40 := r.Intn(100)
this.AppHash = make([]byte, v40)
for i := 0; i < v40; i++ {
v41 := r.Intn(100)
this.AppHash = make([]byte, v41)
for i := 0; i < v41; i++ {
this.AppHash[i] = byte(r.Intn(256))
}
v41 := r.Intn(100)
this.LastResultsHash = make([]byte, v41)
for i := 0; i < v41; i++ {
v42 := r.Intn(100)
this.LastResultsHash = make([]byte, v42)
for i := 0; i < v42; i++ {
this.LastResultsHash[i] = byte(r.Intn(256))
}
v42 := r.Intn(100)
this.EvidenceHash = make([]byte, v42)
for i := 0; i < v42; i++ {
v43 := r.Intn(100)
this.EvidenceHash = make([]byte, v43)
for i := 0; i < v43; i++ {
this.EvidenceHash[i] = byte(r.Intn(256))
}
v43 := r.Intn(100)
this.ProposerAddress = make([]byte, v43)
for i := 0; i < v43; i++ {
v44 := r.Intn(100)
this.ProposerAddress = make([]byte, v44)
for i := 0; i < v44; i++ {
this.ProposerAddress[i] = byte(r.Intn(256))
}
if !easy && r.Intn(10) != 0 {
@ -7923,13 +7914,13 @@ func NewPopulatedHeader(r randyTypes, easy bool) *Header {
func NewPopulatedBlockID(r randyTypes, easy bool) *BlockID {
this := &BlockID{}
v44 := r.Intn(100)
this.Hash = make([]byte, v44)
for i := 0; i < v44; i++ {
v45 := r.Intn(100)
this.Hash = make([]byte, v45)
for i := 0; i < v45; i++ {
this.Hash[i] = byte(r.Intn(256))
}
v45 := NewPopulatedPartSetHeader(r, easy)
this.PartsHeader = *v45
v46 := NewPopulatedPartSetHeader(r, easy)
this.PartsHeader = *v46
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedTypes(r, 3)
}
@ -7942,9 +7933,9 @@ func NewPopulatedPartSetHeader(r randyTypes, easy bool) *PartSetHeader {
if r.Intn(2) == 0 {
this.Total *= -1
}
v46 := r.Intn(100)
this.Hash = make([]byte, v46)
for i := 0; i < v46; i++ {
v47 := r.Intn(100)
this.Hash = make([]byte, v47)
for i := 0; i < v47; i++ {
this.Hash[i] = byte(r.Intn(256))
}
if !easy && r.Intn(10) != 0 {
@ -7955,9 +7946,9 @@ func NewPopulatedPartSetHeader(r randyTypes, easy bool) *PartSetHeader {
func NewPopulatedValidator(r randyTypes, easy bool) *Validator {
this := &Validator{}
v47 := r.Intn(100)
this.Address = make([]byte, v47)
for i := 0; i < v47; i++ {
v48 := r.Intn(100)
this.Address = make([]byte, v48)
for i := 0; i < v48; i++ {
this.Address[i] = byte(r.Intn(256))
}
this.Power = int64(r.Int63())
@ -7972,8 +7963,8 @@ func NewPopulatedValidator(r randyTypes, easy bool) *Validator {
func NewPopulatedValidatorUpdate(r randyTypes, easy bool) *ValidatorUpdate {
this := &ValidatorUpdate{}
v48 := NewPopulatedPubKey(r, easy)
this.PubKey = *v48
v49 := NewPopulatedPubKey(r, easy)
this.PubKey = *v49
this.Power = int64(r.Int63())
if r.Intn(2) == 0 {
this.Power *= -1
@ -7986,8 +7977,8 @@ func NewPopulatedValidatorUpdate(r randyTypes, easy bool) *ValidatorUpdate {
func NewPopulatedVoteInfo(r randyTypes, easy bool) *VoteInfo {
this := &VoteInfo{}
v49 := NewPopulatedValidator(r, easy)
this.Validator = *v49
v50 := NewPopulatedValidator(r, easy)
this.Validator = *v50
this.SignedLastBlock = bool(bool(r.Intn(2) == 0))
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedTypes(r, 3)
@ -7998,9 +7989,9 @@ func NewPopulatedVoteInfo(r randyTypes, easy bool) *VoteInfo {
func NewPopulatedPubKey(r randyTypes, easy bool) *PubKey {
this := &PubKey{}
this.Type = string(randStringTypes(r))
v50 := r.Intn(100)
this.Data = make([]byte, v50)
for i := 0; i < v50; i++ {
v51 := r.Intn(100)
this.Data = make([]byte, v51)
for i := 0; i < v51; i++ {
this.Data[i] = byte(r.Intn(256))
}
if !easy && r.Intn(10) != 0 {
@ -8012,14 +8003,14 @@ func NewPopulatedPubKey(r randyTypes, easy bool) *PubKey {
func NewPopulatedEvidence(r randyTypes, easy bool) *Evidence {
this := &Evidence{}
this.Type = string(randStringTypes(r))
v51 := NewPopulatedValidator(r, easy)
this.Validator = *v51
v52 := NewPopulatedValidator(r, easy)
this.Validator = *v52
this.Height = int64(r.Int63())
if r.Intn(2) == 0 {
this.Height *= -1
}
v52 := github_com_gogo_protobuf_types.NewPopulatedStdTime(r, easy)
this.Time = *v52
v53 := github_com_gogo_protobuf_types.NewPopulatedStdTime(r, easy)
this.Time = *v53
this.TotalVotingPower = int64(r.Int63())
if r.Intn(2) == 0 {
this.TotalVotingPower *= -1
@ -8049,9 +8040,9 @@ func randUTF8RuneTypes(r randyTypes) rune {
return rune(ru + 61)
}
func randStringTypes(r randyTypes) string {
v53 := r.Intn(100)
tmps := make([]rune, v53)
for i := 0; i < v53; i++ {
v54 := r.Intn(100)
tmps := make([]rune, v54)
for i := 0; i < v54; i++ {
tmps[i] = randUTF8RuneTypes(r)
}
return string(tmps)
@ -8073,11 +8064,11 @@ func randFieldTypes(dAtA []byte, r randyTypes, fieldNumber int, wire int) []byte
switch wire {
case 0:
dAtA = encodeVarintPopulateTypes(dAtA, uint64(key))
v54 := r.Int63()
v55 := r.Int63()
if r.Intn(2) == 0 {
v54 *= -1
v55 *= -1
}
dAtA = encodeVarintPopulateTypes(dAtA, uint64(v54))
dAtA = encodeVarintPopulateTypes(dAtA, uint64(v55))
case 1:
dAtA = encodeVarintPopulateTypes(dAtA, uint64(key))
dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
@ -8968,10 +8959,8 @@ func (m *EvidenceParams) Size() (n int) {
}
var l int
_ = l
if m.MaxAge != nil {
l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.MaxAge)
n += 1 + l + sovTypes(uint64(l))
}
l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.MaxAge)
n += 1 + l + sovTypes(uint64(l))
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
@ -13172,10 +13161,7 @@ func (m *EvidenceParams) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.MaxAge == nil {
m.MaxAge = new(time.Duration)
}
if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.MaxAge, dAtA[iNdEx:postIndex]); err != nil {
if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.MaxAge, dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@ -14687,145 +14673,145 @@ var (
ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("abci/types/types.proto", fileDescriptor_types_484dc917594bf763) }
func init() { proto.RegisterFile("abci/types/types.proto", fileDescriptor_types_6169dac75ac75953) }
func init() {
golang_proto.RegisterFile("abci/types/types.proto", fileDescriptor_types_484dc917594bf763)
golang_proto.RegisterFile("abci/types/types.proto", fileDescriptor_types_6169dac75ac75953)
}
var fileDescriptor_types_484dc917594bf763 = []byte{
// 2132 bytes of a gzipped FileDescriptorProto
var fileDescriptor_types_6169dac75ac75953 = []byte{
// 2134 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcd, 0x73, 0x23, 0x57,
0x11, 0xf7, 0x48, 0xb2, 0xa4, 0x69, 0xdb, 0x92, 0xf7, 0xed, 0xae, 0xad, 0x15, 0xc1, 0xde, 0x9a,
0x40, 0x62, 0x13, 0x47, 0x4e, 0x39, 0x84, 0xf2, 0x66, 0x43, 0xaa, 0xac, 0xdd, 0x05, 0x9b, 0x04,
0x30, 0xb3, 0xbb, 0xe6, 0x42, 0xd5, 0xd4, 0x93, 0xe6, 0x59, 0x9a, 0x5a, 0x69, 0x66, 0x32, 0x33,
0x72, 0xe4, 0x3d, 0x72, 0xce, 0x21, 0x07, 0xaa, 0xe0, 0x4f, 0xe0, 0x4f, 0xe0, 0xc8, 0x89, 0xca,
0x91, 0xa2, 0x38, 0x2f, 0x60, 0x8a, 0x03, 0x5c, 0x29, 0xaa, 0x38, 0x52, 0xdd, 0xef, 0xcd, 0xa7,
0x47, 0x4b, 0x36, 0xdc, 0xb8, 0x48, 0xef, 0xf5, 0xc7, 0xfb, 0xe8, 0xe9, 0xee, 0x5f, 0xf7, 0x83,
0x0d, 0x3e, 0x18, 0x3a, 0xfb, 0xd1, 0xa5, 0x2f, 0x42, 0xf9, 0xdb, 0xf3, 0x03, 0x2f, 0xf2, 0xd8,
0x32, 0x4d, 0xba, 0x6f, 0x8f, 0x9c, 0x68, 0x3c, 0x1b, 0xf4, 0x86, 0xde, 0x74, 0x7f, 0xe4, 0x8d,
0xbc, 0x7d, 0xe2, 0x0e, 0x66, 0xe7, 0x34, 0xa3, 0x09, 0x8d, 0xa4, 0x56, 0x77, 0x7b, 0xe4, 0x79,
0xa3, 0x89, 0x48, 0xa5, 0x22, 0x67, 0x2a, 0xc2, 0x88, 0x4f, 0x7d, 0x25, 0xb0, 0x55, 0x14, 0xb0,
0x67, 0x01, 0x8f, 0x1c, 0xcf, 0x55, 0xfc, 0xc3, 0xcc, 0x7e, 0x91, 0x70, 0x6d, 0x11, 0x4c, 0x1d,
0x37, 0xca, 0x0e, 0x27, 0xce, 0x20, 0xdc, 0x1f, 0x7a, 0xd3, 0xa9, 0xe7, 0x66, 0x0f, 0xdc, 0xbd,
0xff, 0x5f, 0x35, 0x87, 0xc1, 0xa5, 0x1f, 0x79, 0xfb, 0x53, 0x11, 0x3c, 0x9b, 0x08, 0xf5, 0x27,
0x95, 0x8d, 0xdf, 0xd5, 0xa0, 0x61, 0x8a, 0x4f, 0x66, 0x22, 0x8c, 0xd8, 0x0e, 0xd4, 0xc4, 0x70,
0xec, 0x75, 0x2a, 0x77, 0xb5, 0x9d, 0x95, 0x03, 0xd6, 0x93, 0x9b, 0x28, 0xee, 0xa3, 0xe1, 0xd8,
0x3b, 0x5e, 0x32, 0x49, 0x82, 0xbd, 0x05, 0xcb, 0xe7, 0x93, 0x59, 0x38, 0xee, 0x54, 0x49, 0xf4,
0x66, 0x5e, 0xf4, 0x7b, 0xc8, 0x3a, 0x5e, 0x32, 0xa5, 0x0c, 0x2e, 0xeb, 0xb8, 0xe7, 0x5e, 0xa7,
0x56, 0xb6, 0xec, 0x89, 0x7b, 0x4e, 0xcb, 0xa2, 0x04, 0x3b, 0x04, 0x08, 0x45, 0x64, 0x79, 0x3e,
0xda, 0xa5, 0xb3, 0x4c, 0xf2, 0x9b, 0x79, 0xf9, 0xc7, 0x22, 0xfa, 0x31, 0xb1, 0x8f, 0x97, 0x4c,
0x3d, 0x8c, 0x27, 0xa8, 0xe9, 0xb8, 0x4e, 0x64, 0x0d, 0xc7, 0xdc, 0x71, 0x3b, 0xf5, 0x32, 0xcd,
0x13, 0xd7, 0x89, 0x1e, 0x20, 0x1b, 0x35, 0x9d, 0x78, 0x82, 0x57, 0xf9, 0x64, 0x26, 0x82, 0xcb,
0x4e, 0xa3, 0xec, 0x2a, 0x3f, 0x41, 0x16, 0x5e, 0x85, 0x64, 0xd8, 0x7d, 0x58, 0x19, 0x88, 0x91,
0xe3, 0x5a, 0x83, 0x89, 0x37, 0x7c, 0xd6, 0x69, 0x92, 0x4a, 0x27, 0xaf, 0xd2, 0x47, 0x81, 0x3e,
0xf2, 0x8f, 0x97, 0x4c, 0x18, 0x24, 0x33, 0x76, 0x00, 0xcd, 0xe1, 0x58, 0x0c, 0x9f, 0x59, 0xd1,
0xbc, 0xa3, 0x93, 0xe6, 0xed, 0xbc, 0xe6, 0x03, 0xe4, 0x3e, 0x99, 0x1f, 0x2f, 0x99, 0x8d, 0xa1,
0x1c, 0xb2, 0xf7, 0x40, 0x17, 0xae, 0xad, 0xb6, 0x5b, 0x21, 0xa5, 0x8d, 0xc2, 0x77, 0x71, 0xed,
0x78, 0xb3, 0xa6, 0x50, 0x63, 0xd6, 0x83, 0x3a, 0x3a, 0x8a, 0x13, 0x75, 0x56, 0x49, 0xe7, 0x56,
0x61, 0x23, 0xe2, 0x1d, 0x2f, 0x99, 0x4a, 0x0a, 0xcd, 0x67, 0x8b, 0x89, 0x73, 0x21, 0x02, 0x3c,
0xdc, 0xcd, 0x32, 0xf3, 0x3d, 0x94, 0x7c, 0x3a, 0x9e, 0x6e, 0xc7, 0x93, 0x7e, 0x03, 0x96, 0x2f,
0xf8, 0x64, 0x26, 0x8c, 0x37, 0x61, 0x25, 0xe3, 0x29, 0xac, 0x03, 0x8d, 0xa9, 0x08, 0x43, 0x3e,
0x12, 0x1d, 0xed, 0xae, 0xb6, 0xa3, 0x9b, 0xf1, 0xd4, 0x68, 0xc1, 0x6a, 0xd6, 0x4f, 0x32, 0x8a,
0xe8, 0x0b, 0xa8, 0x78, 0x21, 0x82, 0x10, 0x1d, 0x40, 0x29, 0xaa, 0xa9, 0xf1, 0x3e, 0xac, 0x17,
0x9d, 0x80, 0xad, 0x43, 0xf5, 0x99, 0xb8, 0x54, 0x92, 0x38, 0x64, 0xb7, 0xd4, 0x81, 0xc8, 0x8b,
0x75, 0x53, 0x9d, 0xee, 0xf3, 0x4a, 0xa2, 0x9c, 0xf8, 0x01, 0x3b, 0x84, 0x1a, 0x46, 0x29, 0x69,
0xaf, 0x1c, 0x74, 0x7b, 0x32, 0x42, 0x7b, 0x71, 0x84, 0xf6, 0x9e, 0xc4, 0x21, 0xdc, 0x6f, 0x7e,
0xf1, 0x62, 0x7b, 0xe9, 0xf3, 0x3f, 0x6d, 0x6b, 0x26, 0x69, 0xb0, 0x3b, 0xf8, 0x29, 0xb9, 0xe3,
0x5a, 0x8e, 0xad, 0xf6, 0x69, 0xd0, 0xfc, 0xc4, 0x66, 0x47, 0xb0, 0x3e, 0xf4, 0xdc, 0x50, 0xb8,
0xe1, 0x2c, 0xb4, 0x7c, 0x1e, 0xf0, 0x69, 0xa8, 0xa2, 0x24, 0xfe, 0x70, 0x0f, 0x62, 0xf6, 0x29,
0x71, 0xcd, 0xf6, 0x30, 0x4f, 0x60, 0x1f, 0x00, 0x5c, 0xf0, 0x89, 0x63, 0xf3, 0xc8, 0x0b, 0xc2,
0x4e, 0xed, 0x6e, 0x35, 0xa3, 0x7c, 0x16, 0x33, 0x9e, 0xfa, 0x36, 0x8f, 0x44, 0xbf, 0x86, 0x27,
0x33, 0x33, 0xf2, 0xec, 0x0d, 0x68, 0x73, 0xdf, 0xb7, 0xc2, 0x88, 0x47, 0xc2, 0x1a, 0x5c, 0x46,
0x22, 0xa4, 0x48, 0x5a, 0x35, 0xd7, 0xb8, 0xef, 0x3f, 0x46, 0x6a, 0x1f, 0x89, 0x86, 0x9d, 0x7c,
0x07, 0x72, 0x72, 0xc6, 0xa0, 0x66, 0xf3, 0x88, 0x93, 0x35, 0x56, 0x4d, 0x1a, 0x23, 0xcd, 0xe7,
0xd1, 0x58, 0xdd, 0x91, 0xc6, 0x6c, 0x03, 0xea, 0x63, 0xe1, 0x8c, 0xc6, 0x11, 0x5d, 0xab, 0x6a,
0xaa, 0x19, 0x1a, 0xde, 0x0f, 0xbc, 0x0b, 0x41, 0x71, 0xde, 0x34, 0xe5, 0xc4, 0xf8, 0x9b, 0x06,
0x37, 0xae, 0x05, 0x06, 0xae, 0x3b, 0xe6, 0xe1, 0x38, 0xde, 0x0b, 0xc7, 0xec, 0x2d, 0x5c, 0x97,
0xdb, 0x22, 0x50, 0xf9, 0x67, 0x4d, 0xdd, 0xf8, 0x98, 0x88, 0xea, 0xa2, 0x4a, 0x84, 0x3d, 0x82,
0xf5, 0x09, 0x0f, 0x23, 0x4b, 0xfa, 0xaf, 0x45, 0xf9, 0xa5, 0x9a, 0x8b, 0xa9, 0x8f, 0x79, 0xec,
0xe7, 0xe8, 0x56, 0x4a, 0xbd, 0x35, 0xc9, 0x51, 0xd9, 0x31, 0xdc, 0x1a, 0x5c, 0x3e, 0xe7, 0x6e,
0xe4, 0xb8, 0xc2, 0xba, 0x66, 0xf3, 0xb6, 0x5a, 0xea, 0xd1, 0x85, 0x63, 0x0b, 0x77, 0x18, 0x1b,
0xfb, 0x66, 0xa2, 0x92, 0x7c, 0x8c, 0xd0, 0xb8, 0x0b, 0xad, 0x7c, 0x14, 0xb3, 0x16, 0x54, 0xa2,
0xb9, 0xba, 0x61, 0x25, 0x9a, 0x1b, 0x46, 0xe2, 0x81, 0x49, 0x28, 0x5d, 0x93, 0xd9, 0x85, 0x76,
0x21, 0xac, 0x33, 0xe6, 0xd6, 0xb2, 0xe6, 0x36, 0xda, 0xb0, 0x96, 0x8b, 0x66, 0xe3, 0xb3, 0x65,
0x68, 0x9a, 0x22, 0xf4, 0xd1, 0x99, 0xd8, 0x21, 0xe8, 0x62, 0x3e, 0x14, 0x32, 0x91, 0x6a, 0x85,
0x34, 0x25, 0x65, 0x1e, 0xc5, 0x7c, 0x0c, 0xe8, 0x44, 0x98, 0xed, 0xe6, 0x40, 0xe0, 0x66, 0x51,
0x29, 0x8b, 0x02, 0x7b, 0x79, 0x14, 0xb8, 0x55, 0x90, 0x2d, 0xc0, 0xc0, 0x6e, 0x0e, 0x06, 0x8a,
0x0b, 0xe7, 0x70, 0xe0, 0x5e, 0x09, 0x0e, 0x14, 0x8f, 0xbf, 0x00, 0x08, 0xee, 0x95, 0x00, 0x41,
0xe7, 0xda, 0x5e, 0xa5, 0x48, 0xb0, 0x97, 0x47, 0x82, 0xe2, 0x75, 0x0a, 0x50, 0xf0, 0x41, 0x19,
0x14, 0xdc, 0x29, 0xe8, 0x2c, 0xc4, 0x82, 0x77, 0xaf, 0x61, 0xc1, 0x46, 0x41, 0xb5, 0x04, 0x0c,
0xee, 0xe5, 0xb2, 0x34, 0x94, 0xde, 0xad, 0x3c, 0x4d, 0xb3, 0xef, 0x5c, 0xc7, 0x91, 0xcd, 0xe2,
0xa7, 0x2d, 0x03, 0x92, 0xfd, 0x02, 0x90, 0xdc, 0x2e, 0x9e, 0xb2, 0x80, 0x24, 0x29, 0x1e, 0xec,
0x62, 0xdc, 0x17, 0x3c, 0x0d, 0x73, 0x84, 0x08, 0x02, 0x2f, 0x50, 0x09, 0x5b, 0x4e, 0x8c, 0x1d,
0xcc, 0x44, 0xa9, 0x7f, 0xbd, 0x04, 0x3b, 0xc8, 0xe9, 0x33, 0xde, 0x65, 0xfc, 0x52, 0x4b, 0x75,
0x29, 0xa2, 0xb3, 0x59, 0x4c, 0x57, 0x59, 0x2c, 0x03, 0x29, 0x95, 0x1c, 0xa4, 0xb0, 0x6f, 0xc1,
0x0d, 0x4a, 0x23, 0x64, 0x17, 0x2b, 0x97, 0xd6, 0xda, 0xc8, 0x90, 0x06, 0x91, 0xf9, 0xed, 0x6d,
0xb8, 0x99, 0x91, 0xc5, 0x14, 0x4b, 0x29, 0xac, 0x46, 0xc1, 0xbb, 0x9e, 0x48, 0x1f, 0xf9, 0xfe,
0x31, 0x0f, 0xc7, 0xc6, 0x0f, 0xd3, 0xfb, 0xa7, 0x70, 0xc5, 0xa0, 0x36, 0xf4, 0x6c, 0x79, 0xad,
0x35, 0x93, 0xc6, 0x08, 0x61, 0x13, 0x6f, 0x44, 0xbb, 0xea, 0x26, 0x0e, 0x51, 0x2a, 0x89, 0x14,
0x5d, 0x86, 0x84, 0xf1, 0x0b, 0x2d, 0x5d, 0x2f, 0x45, 0xb0, 0x32, 0xb0, 0xd1, 0xfe, 0x17, 0xb0,
0xa9, 0xbc, 0x1a, 0xd8, 0x18, 0x57, 0x5a, 0xfa, 0x45, 0x12, 0x18, 0xf9, 0x6a, 0x57, 0x44, 0xe7,
0x70, 0x5c, 0x5b, 0xcc, 0x29, 0xe0, 0xab, 0xa6, 0x9c, 0xc4, 0x08, 0x5f, 0x27, 0x33, 0xe7, 0x11,
0xbe, 0x41, 0x34, 0x39, 0x61, 0xaf, 0x13, 0xfc, 0x78, 0xe7, 0x2a, 0x12, 0xd7, 0x7a, 0xaa, 0xcc,
0x3d, 0x45, 0xa2, 0x29, 0x79, 0x99, 0x64, 0xaa, 0xe7, 0xb0, 0xeb, 0x35, 0xd0, 0xf1, 0xa0, 0xa1,
0xcf, 0x87, 0x82, 0x02, 0x4b, 0x37, 0x53, 0x82, 0x71, 0x0a, 0xec, 0x7a, 0x40, 0xb3, 0xf7, 0xa1,
0x16, 0xf1, 0x11, 0xda, 0x1b, 0x4d, 0xd6, 0xea, 0xc9, 0xca, 0xbc, 0xf7, 0xd1, 0xd9, 0x29, 0x77,
0x82, 0xfe, 0x06, 0x9a, 0xea, 0x1f, 0x2f, 0xb6, 0x5b, 0x28, 0xb3, 0xe7, 0x4d, 0x9d, 0x48, 0x4c,
0xfd, 0xe8, 0xd2, 0x24, 0x1d, 0xe3, 0x9f, 0x1a, 0x26, 0xfa, 0x5c, 0xa0, 0x97, 0x1a, 0x2e, 0xf6,
0xe6, 0x4a, 0x06, 0x93, 0xbf, 0x9c, 0x31, 0xbf, 0x0e, 0x30, 0xe2, 0xa1, 0xf5, 0x29, 0x77, 0x23,
0x61, 0x2b, 0x8b, 0xea, 0x23, 0x1e, 0xfe, 0x94, 0x08, 0x58, 0xc0, 0x20, 0x7b, 0x16, 0x0a, 0x9b,
0x4c, 0x5b, 0x35, 0x1b, 0x23, 0x1e, 0x3e, 0x0d, 0x85, 0x9d, 0xdc, 0xab, 0xf1, 0xea, 0xf7, 0xca,
0xdb, 0xb1, 0x59, 0xb4, 0xe3, 0xbf, 0x32, 0x3e, 0x9c, 0x62, 0xe0, 0xff, 0xff, 0xbd, 0xff, 0xae,
0x21, 0xf4, 0xe7, 0xb3, 0x2c, 0x3b, 0x81, 0x1b, 0x49, 0x1c, 0x59, 0x33, 0x8a, 0xaf, 0xd8, 0x97,
0x5e, 0x1e, 0x7e, 0xeb, 0x17, 0x79, 0x72, 0xc8, 0x7e, 0x04, 0x9b, 0x85, 0x2c, 0x90, 0x2c, 0x58,
0x79, 0x69, 0x32, 0xb8, 0x9d, 0x4f, 0x06, 0xf1, 0x7a, 0xb1, 0x25, 0xaa, 0x5f, 0xc1, 0xb3, 0xbf,
0x81, 0x75, 0x50, 0x16, 0x1b, 0xca, 0xbe, 0xa5, 0xf1, 0x73, 0x0d, 0xda, 0x85, 0xc3, 0xb0, 0x7d,
0x00, 0x99, 0x5a, 0x43, 0xe7, 0x79, 0x5c, 0x93, 0xaf, 0xab, 0x83, 0x93, 0xc9, 0x1e, 0x3b, 0xcf,
0x85, 0xa9, 0x0f, 0xe2, 0x21, 0xfb, 0x10, 0xda, 0x42, 0x55, 0x66, 0x71, 0xee, 0xab, 0xe4, 0x40,
0x2a, 0xae, 0xdb, 0xd4, 0x6d, 0x5b, 0x22, 0x37, 0x37, 0x8e, 0x40, 0x4f, 0xd6, 0x65, 0x5f, 0x03,
0x7d, 0xca, 0xe7, 0xaa, 0x5e, 0x96, 0x95, 0x56, 0x73, 0xca, 0xe7, 0x54, 0x2a, 0xb3, 0x4d, 0x68,
0x20, 0x73, 0xc4, 0xe5, 0x0e, 0x55, 0xb3, 0x3e, 0xe5, 0xf3, 0xef, 0xf3, 0xd0, 0xf8, 0x01, 0xb4,
0xf2, 0x9b, 0xb0, 0x43, 0x29, 0x1a, 0x63, 0x17, 0x96, 0x04, 0xc5, 0xb6, 0xe2, 0xa1, 0x6a, 0xfc,
0xfb, 0xb5, 0x5f, 0x61, 0x47, 0x81, 0x6b, 0x1d, 0x8d, 0x84, 0xf1, 0x18, 0x5a, 0xf9, 0x9a, 0x15,
0x13, 0x5d, 0xe0, 0xcd, 0x5c, 0x9b, 0x56, 0x5a, 0x36, 0xe5, 0x04, 0x1b, 0xd6, 0x0b, 0x4f, 0x7e,
0xdb, 0x6c, 0x91, 0x7a, 0xe6, 0x45, 0x22, 0x53, 0xe9, 0x4a, 0x19, 0xe3, 0x0f, 0x35, 0xa8, 0xcb,
0x02, 0x9a, 0xbd, 0x91, 0xe9, 0x59, 0x08, 0x1d, 0xfb, 0x2b, 0x57, 0x2f, 0xb6, 0x1b, 0x04, 0x24,
0x27, 0x0f, 0xd3, 0x06, 0x26, 0xcd, 0x91, 0x95, 0x5c, 0x8e, 0x8c, 0xbb, 0xa5, 0xea, 0x2b, 0x77,
0x4b, 0x9b, 0xd0, 0x70, 0x67, 0x53, 0x2b, 0x9a, 0x87, 0x14, 0xaa, 0x55, 0xb3, 0xee, 0xce, 0xa6,
0x4f, 0xe6, 0x21, 0x1a, 0x3d, 0xf2, 0x22, 0x3e, 0x21, 0x96, 0x8c, 0xd5, 0x26, 0x11, 0x90, 0x79,
0x08, 0x6b, 0x19, 0xbc, 0x75, 0x6c, 0x55, 0xcc, 0xb5, 0xb2, 0x2e, 0x71, 0xf2, 0x50, 0x5d, 0x77,
0x25, 0xc1, 0xdf, 0x13, 0x9b, 0xed, 0xe4, 0x9b, 0x03, 0x82, 0x69, 0x89, 0x15, 0x99, 0xfa, 0x1f,
0x41, 0x1a, 0x0f, 0x80, 0xfe, 0x28, 0x45, 0x9a, 0x24, 0xd2, 0x44, 0x02, 0x31, 0xdf, 0x84, 0x76,
0x8a, 0x74, 0x52, 0x44, 0x97, 0xab, 0xa4, 0x64, 0x12, 0x7c, 0x07, 0x6e, 0xb9, 0x62, 0x1e, 0x59,
0x45, 0x69, 0x20, 0x69, 0x86, 0xbc, 0xb3, 0xbc, 0xc6, 0x37, 0xa1, 0x95, 0x46, 0x2c, 0xc9, 0xae,
0xc8, 0x16, 0x2d, 0xa1, 0x92, 0xd8, 0x1d, 0x68, 0x26, 0x75, 0xc6, 0x2a, 0x09, 0x34, 0xb8, 0x2c,
0x2f, 0x92, 0xca, 0x25, 0x10, 0xe1, 0x6c, 0x12, 0xa9, 0x45, 0xd6, 0x48, 0x86, 0x2a, 0x17, 0x53,
0xd2, 0x49, 0xf6, 0x75, 0x58, 0x4b, 0x02, 0x85, 0xe4, 0x5a, 0x24, 0xb7, 0x1a, 0x13, 0x49, 0x68,
0x17, 0xd6, 0xfd, 0xc0, 0xf3, 0xbd, 0x50, 0x04, 0x16, 0xb7, 0xed, 0x40, 0x84, 0x61, 0xa7, 0x2d,
0xd7, 0x8b, 0xe9, 0x47, 0x92, 0x6c, 0xfc, 0x0c, 0x1a, 0xca, 0xfa, 0xa5, 0x8d, 0xdc, 0x77, 0x61,
0xd5, 0xe7, 0x01, 0x9e, 0x29, 0xdb, 0xce, 0xc5, 0xe5, 0xf4, 0x29, 0x0f, 0xb0, 0x7f, 0xcf, 0x75,
0x75, 0x2b, 0x24, 0x2f, 0x49, 0xc6, 0x3d, 0x58, 0xcb, 0xc9, 0x60, 0x18, 0x90, 0x53, 0xc4, 0x61,
0x40, 0x93, 0x64, 0xe7, 0x4a, 0xba, 0xb3, 0x71, 0x1f, 0xf4, 0xc4, 0xd0, 0x58, 0xf5, 0xc5, 0xf7,
0xd0, 0x94, 0xed, 0xe4, 0x94, 0x3a, 0x55, 0xef, 0x53, 0x11, 0xa8, 0x4a, 0x4f, 0x4e, 0x8c, 0xa7,
0xd0, 0x2e, 0x24, 0x5c, 0xb6, 0x07, 0x0d, 0x7f, 0x36, 0xb0, 0xe2, 0x17, 0x86, 0xb4, 0x27, 0x3d,
0x9d, 0x0d, 0x3e, 0x12, 0x97, 0x71, 0x4f, 0xea, 0xd3, 0x2c, 0x5d, 0xb6, 0x92, 0x5d, 0x76, 0x02,
0xcd, 0x38, 0x34, 0xd9, 0xb7, 0x41, 0x4f, 0x7c, 0xa4, 0x90, 0xe1, 0x92, 0xad, 0xd5, 0xa2, 0xa9,
0x20, 0x7e, 0xea, 0xd0, 0x19, 0xb9, 0xc2, 0xb6, 0xd2, 0x78, 0xa0, 0x3d, 0x9a, 0x66, 0x5b, 0x32,
0x3e, 0x8e, 0x9d, 0xdf, 0x78, 0x07, 0xea, 0xf2, 0x6c, 0x68, 0x1f, 0x5c, 0x39, 0x2e, 0x84, 0x71,
0x5c, 0x9a, 0x8a, 0xff, 0xa8, 0x41, 0x33, 0xce, 0x61, 0xa5, 0x4a, 0xb9, 0x43, 0x57, 0xbe, 0xec,
0xa1, 0x17, 0xbd, 0x12, 0xc4, 0x59, 0xa4, 0xf6, 0xca, 0x59, 0x64, 0x0f, 0x98, 0x4c, 0x16, 0x17,
0x5e, 0xe4, 0xb8, 0x23, 0x4b, 0xda, 0x5a, 0x66, 0x8d, 0x75, 0xe2, 0x9c, 0x11, 0xe3, 0x14, 0xe9,
0x07, 0x9f, 0x2d, 0x43, 0xfb, 0xa8, 0xff, 0xe0, 0xe4, 0xc8, 0xf7, 0x27, 0xce, 0x90, 0xf2, 0x2d,
0xdb, 0x87, 0x1a, 0xf5, 0x17, 0x25, 0x2f, 0x9b, 0xdd, 0xb2, 0x46, 0x97, 0x1d, 0xc0, 0x32, 0xb5,
0x19, 0xac, 0xec, 0x81, 0xb3, 0x5b, 0xda, 0xef, 0xe2, 0x26, 0xb2, 0x11, 0xb9, 0xfe, 0xce, 0xd9,
0x2d, 0x6b, 0x7a, 0xd9, 0x87, 0xa0, 0xa7, 0x0d, 0xc2, 0xa2, 0xd7, 0xce, 0xee, 0xc2, 0xf6, 0x17,
0xf5, 0xd3, 0x62, 0x6a, 0xd1, 0xa3, 0x5d, 0x77, 0x61, 0x9f, 0x88, 0x88, 0x15, 0x97, 0xa0, 0xe5,
0xef, 0x91, 0xdd, 0x05, 0xad, 0x29, 0x9a, 0x47, 0xd6, 0xfc, 0x65, 0x8f, 0xa6, 0xdd, 0xd2, 0xfe,
0x99, 0xbd, 0x07, 0x75, 0x55, 0x17, 0x94, 0xbe, 0x49, 0x76, 0xcb, 0x1b, 0x4c, 0xbc, 0x64, 0xda,
0xf5, 0x2c, 0x7a, 0xd8, 0xed, 0x2e, 0x6c, 0xf4, 0xd9, 0x11, 0x40, 0xa6, 0x74, 0x5f, 0xf8, 0x62,
0xdb, 0x5d, 0xdc, 0xc0, 0xb3, 0xfb, 0xd0, 0x4c, 0x1f, 0x65, 0xca, 0xdf, 0x60, 0xbb, 0x8b, 0x7a,
0xea, 0xfe, 0x6b, 0xff, 0xfe, 0xcb, 0x96, 0xf6, 0xeb, 0xab, 0x2d, 0xed, 0x37, 0x57, 0x5b, 0xda,
0x17, 0x57, 0x5b, 0xda, 0xef, 0xaf, 0xb6, 0xb4, 0x3f, 0x5f, 0x6d, 0x69, 0xbf, 0xfd, 0xeb, 0x96,
0x36, 0xa8, 0x93, 0xfb, 0xbf, 0xfb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x85, 0x51, 0xe7,
0x93, 0x18, 0x00, 0x00,
0x11, 0xf7, 0x48, 0xb2, 0xa4, 0x69, 0xdb, 0x92, 0xf3, 0x76, 0xd7, 0xd6, 0x8a, 0x60, 0x6f, 0x4d,
0x20, 0xb1, 0x89, 0x23, 0xa7, 0x1c, 0x42, 0x79, 0xb3, 0x4b, 0xaa, 0xac, 0xdd, 0x05, 0xbb, 0x12,
0x82, 0x99, 0xdd, 0x35, 0x17, 0xaa, 0xa6, 0x9e, 0x34, 0xcf, 0xd2, 0xd4, 0x4a, 0x33, 0x93, 0x99,
0x91, 0x23, 0xef, 0x91, 0x73, 0x0e, 0x39, 0x50, 0x05, 0x7f, 0x02, 0x7f, 0x02, 0x47, 0x4e, 0x54,
0x8e, 0x14, 0xc5, 0x79, 0x01, 0x53, 0x1c, 0xe0, 0x4a, 0x51, 0xc5, 0x91, 0xea, 0x7e, 0x6f, 0x3e,
0x3d, 0x5a, 0xb2, 0xe1, 0xc6, 0x45, 0x7a, 0xaf, 0x3f, 0xde, 0x47, 0x4f, 0x77, 0xff, 0xba, 0x1f,
0x6c, 0xf0, 0xc1, 0xd0, 0xd9, 0x8f, 0x2e, 0x7d, 0x11, 0xca, 0xdf, 0x9e, 0x1f, 0x78, 0x91, 0xc7,
0x96, 0x69, 0xd2, 0x7d, 0x67, 0xe4, 0x44, 0xe3, 0xd9, 0xa0, 0x37, 0xf4, 0xa6, 0xfb, 0x23, 0x6f,
0xe4, 0xed, 0x13, 0x77, 0x30, 0x3b, 0xa7, 0x19, 0x4d, 0x68, 0x24, 0xb5, 0xba, 0xdb, 0x23, 0xcf,
0x1b, 0x4d, 0x44, 0x2a, 0x15, 0x39, 0x53, 0x11, 0x46, 0x7c, 0xea, 0x2b, 0x81, 0xad, 0xa2, 0x80,
0x3d, 0x0b, 0x78, 0xe4, 0x78, 0xae, 0xe2, 0x1f, 0x66, 0xf6, 0x8b, 0x84, 0x6b, 0x8b, 0x60, 0xea,
0xb8, 0x51, 0x76, 0x38, 0x71, 0x06, 0xe1, 0xfe, 0xd0, 0x9b, 0x4e, 0x3d, 0x37, 0x7b, 0xe0, 0xee,
0xbd, 0xff, 0xaa, 0x39, 0x0c, 0x2e, 0xfd, 0xc8, 0xdb, 0x9f, 0x8a, 0xe0, 0xd9, 0x44, 0xa8, 0x3f,
0xa9, 0x6c, 0xfc, 0xae, 0x06, 0x0d, 0x53, 0x7c, 0x3a, 0x13, 0x61, 0xc4, 0x76, 0xa0, 0x26, 0x86,
0x63, 0xaf, 0x53, 0xb9, 0xa3, 0xed, 0xac, 0x1c, 0xb0, 0x9e, 0xdc, 0x44, 0x71, 0x1f, 0x0d, 0xc7,
0xde, 0xf1, 0x92, 0x49, 0x12, 0xec, 0x6d, 0x58, 0x3e, 0x9f, 0xcc, 0xc2, 0x71, 0xa7, 0x4a, 0xa2,
0x37, 0xf2, 0xa2, 0x3f, 0x40, 0xd6, 0xf1, 0x92, 0x29, 0x65, 0x70, 0x59, 0xc7, 0x3d, 0xf7, 0x3a,
0xb5, 0xb2, 0x65, 0x4f, 0xdc, 0x73, 0x5a, 0x16, 0x25, 0xd8, 0x21, 0x40, 0x28, 0x22, 0xcb, 0xf3,
0xd1, 0x2e, 0x9d, 0x65, 0x92, 0xdf, 0xcc, 0xcb, 0x3f, 0x16, 0xd1, 0x8f, 0x89, 0x7d, 0xbc, 0x64,
0xea, 0x61, 0x3c, 0x41, 0x4d, 0xc7, 0x75, 0x22, 0x6b, 0x38, 0xe6, 0x8e, 0xdb, 0xa9, 0x97, 0x69,
0x9e, 0xb8, 0x4e, 0xf4, 0x00, 0xd9, 0xa8, 0xe9, 0xc4, 0x13, 0xbc, 0xca, 0xa7, 0x33, 0x11, 0x5c,
0x76, 0x1a, 0x65, 0x57, 0xf9, 0x09, 0xb2, 0xf0, 0x2a, 0x24, 0xc3, 0xee, 0xc1, 0xca, 0x40, 0x8c,
0x1c, 0xd7, 0x1a, 0x4c, 0xbc, 0xe1, 0xb3, 0x4e, 0x93, 0x54, 0x3a, 0x79, 0x95, 0x3e, 0x0a, 0xf4,
0x91, 0x7f, 0xbc, 0x64, 0xc2, 0x20, 0x99, 0xb1, 0x03, 0x68, 0x0e, 0xc7, 0x62, 0xf8, 0xcc, 0x8a,
0xe6, 0x1d, 0x9d, 0x34, 0x6f, 0xe5, 0x35, 0x1f, 0x20, 0xf7, 0xc9, 0xfc, 0x78, 0xc9, 0x6c, 0x0c,
0xe5, 0x90, 0xbd, 0x0f, 0xba, 0x70, 0x6d, 0xb5, 0xdd, 0x0a, 0x29, 0x6d, 0x14, 0xbe, 0x8b, 0x6b,
0xc7, 0x9b, 0x35, 0x85, 0x1a, 0xb3, 0x1e, 0xd4, 0xd1, 0x51, 0x9c, 0xa8, 0xb3, 0x4a, 0x3a, 0x37,
0x0b, 0x1b, 0x11, 0xef, 0x78, 0xc9, 0x54, 0x52, 0x68, 0x3e, 0x5b, 0x4c, 0x9c, 0x0b, 0x11, 0xe0,
0xe1, 0x6e, 0x94, 0x99, 0xef, 0xa1, 0xe4, 0xd3, 0xf1, 0x74, 0x3b, 0x9e, 0xf4, 0x1b, 0xb0, 0x7c,
0xc1, 0x27, 0x33, 0x61, 0xbc, 0x05, 0x2b, 0x19, 0x4f, 0x61, 0x1d, 0x68, 0x4c, 0x45, 0x18, 0xf2,
0x91, 0xe8, 0x68, 0x77, 0xb4, 0x1d, 0xdd, 0x8c, 0xa7, 0x46, 0x0b, 0x56, 0xb3, 0x7e, 0x92, 0x51,
0x44, 0x5f, 0x40, 0xc5, 0x0b, 0x11, 0x84, 0xe8, 0x00, 0x4a, 0x51, 0x4d, 0x8d, 0x0f, 0x60, 0xbd,
0xe8, 0x04, 0x6c, 0x1d, 0xaa, 0xcf, 0xc4, 0xa5, 0x92, 0xc4, 0x21, 0xbb, 0xa9, 0x0e, 0x44, 0x5e,
0xac, 0x9b, 0xea, 0x74, 0x5f, 0x54, 0x12, 0xe5, 0xc4, 0x0f, 0xd8, 0x21, 0xd4, 0x30, 0x4a, 0x49,
0x7b, 0xe5, 0xa0, 0xdb, 0x93, 0x11, 0xda, 0x8b, 0x23, 0xb4, 0xf7, 0x24, 0x0e, 0xe1, 0x7e, 0xf3,
0xcb, 0x17, 0xdb, 0x4b, 0x5f, 0xfc, 0x69, 0x5b, 0x33, 0x49, 0x83, 0xdd, 0xc6, 0x4f, 0xc9, 0x1d,
0xd7, 0x72, 0x6c, 0xb5, 0x4f, 0x83, 0xe6, 0x27, 0x36, 0x3b, 0x82, 0xf5, 0xa1, 0xe7, 0x86, 0xc2,
0x0d, 0x67, 0xa1, 0xe5, 0xf3, 0x80, 0x4f, 0x43, 0x15, 0x25, 0xf1, 0x87, 0x7b, 0x10, 0xb3, 0x4f,
0x89, 0x6b, 0xb6, 0x87, 0x79, 0x02, 0xbb, 0x0f, 0x70, 0xc1, 0x27, 0x8e, 0xcd, 0x23, 0x2f, 0x08,
0x3b, 0xb5, 0x3b, 0xd5, 0x8c, 0xf2, 0x59, 0xcc, 0x78, 0xea, 0xdb, 0x3c, 0x12, 0xfd, 0x1a, 0x9e,
0xcc, 0xcc, 0xc8, 0xb3, 0x37, 0xa1, 0xcd, 0x7d, 0xdf, 0x0a, 0x23, 0x1e, 0x09, 0x6b, 0x70, 0x19,
0x89, 0x90, 0x22, 0x69, 0xd5, 0x5c, 0xe3, 0xbe, 0xff, 0x18, 0xa9, 0x7d, 0x24, 0x1a, 0x76, 0xf2,
0x1d, 0xc8, 0xc9, 0x19, 0x83, 0x9a, 0xcd, 0x23, 0x4e, 0xd6, 0x58, 0x35, 0x69, 0x8c, 0x34, 0x9f,
0x47, 0x63, 0x75, 0x47, 0x1a, 0xb3, 0x0d, 0xa8, 0x8f, 0x85, 0x33, 0x1a, 0x47, 0x74, 0xad, 0xaa,
0xa9, 0x66, 0x68, 0x78, 0x3f, 0xf0, 0x2e, 0x04, 0xc5, 0x79, 0xd3, 0x94, 0x13, 0xe3, 0x6f, 0x1a,
0xbc, 0x76, 0x2d, 0x30, 0x70, 0xdd, 0x31, 0x0f, 0xc7, 0xf1, 0x5e, 0x38, 0x66, 0x6f, 0xe3, 0xba,
0xdc, 0x16, 0x81, 0xca, 0x3f, 0x6b, 0xea, 0xc6, 0xc7, 0x44, 0x54, 0x17, 0x55, 0x22, 0xec, 0x11,
0xac, 0x4f, 0x78, 0x18, 0x59, 0xd2, 0x7f, 0x2d, 0xca, 0x2f, 0xd5, 0x5c, 0x4c, 0x7d, 0xcc, 0x63,
0x3f, 0x47, 0xb7, 0x52, 0xea, 0xad, 0x49, 0x8e, 0xca, 0x8e, 0xe1, 0xe6, 0xe0, 0xf2, 0x39, 0x77,
0x23, 0xc7, 0x15, 0xd6, 0x35, 0x9b, 0xb7, 0xd5, 0x52, 0x8f, 0x2e, 0x1c, 0x5b, 0xb8, 0xc3, 0xd8,
0xd8, 0x37, 0x12, 0x95, 0xe4, 0x63, 0x84, 0xc6, 0x1d, 0x68, 0xe5, 0xa3, 0x98, 0xb5, 0xa0, 0x12,
0xcd, 0xd5, 0x0d, 0x2b, 0xd1, 0xdc, 0x30, 0x12, 0x0f, 0x4c, 0x42, 0xe9, 0x9a, 0xcc, 0x2e, 0xb4,
0x0b, 0x61, 0x9d, 0x31, 0xb7, 0x96, 0x35, 0xb7, 0xd1, 0x86, 0xb5, 0x5c, 0x34, 0x1b, 0x9f, 0x2f,
0x43, 0xd3, 0x14, 0xa1, 0x8f, 0xce, 0xc4, 0x0e, 0x41, 0x17, 0xf3, 0xa1, 0x90, 0x89, 0x54, 0x2b,
0xa4, 0x29, 0x29, 0xf3, 0x28, 0xe6, 0x63, 0x40, 0x27, 0xc2, 0x6c, 0x37, 0x07, 0x02, 0x37, 0x8a,
0x4a, 0x59, 0x14, 0xd8, 0xcb, 0xa3, 0xc0, 0xcd, 0x82, 0x6c, 0x01, 0x06, 0x76, 0x73, 0x30, 0x50,
0x5c, 0x38, 0x87, 0x03, 0x77, 0x4b, 0x70, 0xa0, 0x78, 0xfc, 0x05, 0x40, 0x70, 0xb7, 0x04, 0x08,
0x3a, 0xd7, 0xf6, 0x2a, 0x45, 0x82, 0xbd, 0x3c, 0x12, 0x14, 0xaf, 0x53, 0x80, 0x82, 0xfb, 0x65,
0x50, 0x70, 0xbb, 0xa0, 0xb3, 0x10, 0x0b, 0xde, 0xbb, 0x86, 0x05, 0x1b, 0x05, 0xd5, 0x12, 0x30,
0xb8, 0x9b, 0xcb, 0xd2, 0x50, 0x7a, 0xb7, 0xf2, 0x34, 0xcd, 0xbe, 0x77, 0x1d, 0x47, 0x36, 0x8b,
0x9f, 0xb6, 0x0c, 0x48, 0xf6, 0x0b, 0x40, 0x72, 0xab, 0x78, 0xca, 0x02, 0x92, 0xa4, 0x78, 0xb0,
0x8b, 0x71, 0x5f, 0xf0, 0x34, 0xcc, 0x11, 0x22, 0x08, 0xbc, 0x40, 0x25, 0x6c, 0x39, 0x31, 0x76,
0x30, 0x13, 0xa5, 0xfe, 0xf5, 0x12, 0xec, 0x20, 0xa7, 0xcf, 0x78, 0x97, 0xf1, 0x4b, 0x2d, 0xd5,
0xa5, 0x88, 0xce, 0x66, 0x31, 0x5d, 0x65, 0xb1, 0x0c, 0xa4, 0x54, 0x72, 0x90, 0xc2, 0xbe, 0x03,
0xaf, 0x51, 0x1a, 0x21, 0xbb, 0x58, 0xb9, 0xb4, 0xd6, 0x46, 0x86, 0x34, 0x88, 0xcc, 0x6f, 0xef,
0xc0, 0x8d, 0x8c, 0x2c, 0xa6, 0x58, 0x4a, 0x61, 0x35, 0x0a, 0xde, 0xf5, 0x44, 0xfa, 0xc8, 0xf7,
0x8f, 0x79, 0x38, 0x36, 0x7e, 0x94, 0xde, 0x3f, 0x85, 0x2b, 0x06, 0xb5, 0xa1, 0x67, 0xcb, 0x6b,
0xad, 0x99, 0x34, 0x46, 0x08, 0x9b, 0x78, 0x23, 0xda, 0x55, 0x37, 0x71, 0x88, 0x52, 0x49, 0xa4,
0xe8, 0x32, 0x24, 0x8c, 0x5f, 0x68, 0xe9, 0x7a, 0x29, 0x82, 0x95, 0x81, 0x8d, 0xf6, 0xbf, 0x80,
0x4d, 0xe5, 0xd5, 0xc0, 0xc6, 0xb8, 0xd2, 0xd2, 0x2f, 0x92, 0xc0, 0xc8, 0xd7, 0xbb, 0x22, 0x3a,
0x87, 0xe3, 0xda, 0x62, 0x4e, 0x01, 0x5f, 0x35, 0xe5, 0x24, 0x46, 0xf8, 0x3a, 0x99, 0x39, 0x8f,
0xf0, 0x0d, 0xa2, 0xc9, 0x09, 0x7b, 0x83, 0xe0, 0xc7, 0x3b, 0x57, 0x91, 0xb8, 0xd6, 0x53, 0x65,
0xee, 0x29, 0x12, 0x4d, 0xc9, 0xcb, 0x24, 0x53, 0x3d, 0x87, 0x5d, 0xaf, 0x83, 0x8e, 0x07, 0x0d,
0x7d, 0x3e, 0x14, 0x14, 0x58, 0xba, 0x99, 0x12, 0x8c, 0x53, 0x60, 0xd7, 0x03, 0x9a, 0x7d, 0x00,
0xb5, 0x88, 0x8f, 0xd0, 0xde, 0x68, 0xb2, 0x56, 0x4f, 0x56, 0xe6, 0xbd, 0x8f, 0xce, 0x4e, 0xb9,
0x13, 0xf4, 0x37, 0xd0, 0x54, 0xff, 0x78, 0xb1, 0xdd, 0x42, 0x99, 0x3d, 0x6f, 0xea, 0x44, 0x62,
0xea, 0x47, 0x97, 0x26, 0xe9, 0x18, 0xff, 0xd4, 0x30, 0xd1, 0xe7, 0x02, 0xbd, 0xd4, 0x70, 0xb1,
0x37, 0x57, 0x32, 0x98, 0xfc, 0xd5, 0x8c, 0xf9, 0x4d, 0x80, 0x11, 0x0f, 0xad, 0xcf, 0xb8, 0x1b,
0x09, 0x5b, 0x59, 0x54, 0x1f, 0xf1, 0xf0, 0xa7, 0x44, 0xc0, 0x02, 0x06, 0xd9, 0xb3, 0x50, 0xd8,
0x64, 0xda, 0xaa, 0xd9, 0x18, 0xf1, 0xf0, 0x69, 0x28, 0xec, 0xe4, 0x5e, 0x8d, 0x57, 0xbf, 0x57,
0xde, 0x8e, 0xcd, 0xa2, 0x1d, 0xff, 0x95, 0xf1, 0xe1, 0x14, 0x03, 0xff, 0xff, 0xef, 0xfd, 0x77,
0x0d, 0xa1, 0x3f, 0x9f, 0x65, 0xd9, 0x09, 0xbc, 0x96, 0xc4, 0x91, 0x35, 0xa3, 0xf8, 0x8a, 0x7d,
0xe9, 0xe5, 0xe1, 0xb7, 0x7e, 0x91, 0x27, 0x87, 0xec, 0x13, 0xd8, 0x2c, 0x64, 0x81, 0x64, 0xc1,
0xca, 0x4b, 0x93, 0xc1, 0xad, 0x7c, 0x32, 0x88, 0xd7, 0x8b, 0x2d, 0x51, 0xfd, 0x1a, 0x9e, 0xfd,
0x2d, 0xac, 0x83, 0xb2, 0xd8, 0x50, 0xf6, 0x2d, 0x8d, 0x9f, 0x6b, 0xd0, 0x2e, 0x1c, 0x86, 0xed,
0x03, 0xc8, 0xd4, 0x1a, 0x3a, 0xcf, 0xe3, 0x9a, 0x7c, 0x5d, 0x1d, 0x9c, 0x4c, 0xf6, 0xd8, 0x79,
0x2e, 0x4c, 0x7d, 0x10, 0x0f, 0xd9, 0x87, 0xd0, 0x16, 0xaa, 0x32, 0x8b, 0x73, 0x5f, 0x25, 0x07,
0x52, 0x71, 0xdd, 0xa6, 0x6e, 0xdb, 0x12, 0xb9, 0xb9, 0x71, 0x04, 0x7a, 0xb2, 0x2e, 0xfb, 0x06,
0xe8, 0x53, 0x3e, 0x57, 0xf5, 0xb2, 0xac, 0xb4, 0x9a, 0x53, 0x3e, 0xa7, 0x52, 0x99, 0x6d, 0x42,
0x03, 0x99, 0x23, 0x2e, 0x77, 0xa8, 0x9a, 0xf5, 0x29, 0x9f, 0xff, 0x90, 0x87, 0xc6, 0x27, 0xd0,
0xca, 0x6f, 0xc2, 0xee, 0x4b, 0xd1, 0x18, 0xbb, 0xb0, 0x24, 0x28, 0xb6, 0x15, 0x0f, 0x55, 0xe3,
0x2f, 0xbb, 0x8a, 0x5f, 0x61, 0x57, 0x81, 0xeb, 0x1d, 0x8d, 0x84, 0xf1, 0x18, 0x5a, 0xf9, 0xba,
0x15, 0x93, 0x5d, 0xe0, 0xcd, 0x5c, 0x9b, 0x56, 0x5b, 0x36, 0xe5, 0x04, 0x9b, 0xd6, 0x0b, 0x4f,
0x7e, 0xdf, 0x6c, 0xa1, 0x7a, 0xe6, 0x45, 0x22, 0x53, 0xed, 0x4a, 0x19, 0xe3, 0x0f, 0x35, 0xa8,
0xcb, 0x22, 0x9a, 0xbd, 0x99, 0xe9, 0x5b, 0x08, 0x21, 0xfb, 0x2b, 0x57, 0x2f, 0xb6, 0x1b, 0x04,
0x26, 0x27, 0x0f, 0xd3, 0x26, 0x26, 0xcd, 0x93, 0x95, 0x5c, 0x9e, 0x8c, 0x3b, 0xa6, 0xea, 0x2b,
0x77, 0x4c, 0x9b, 0xd0, 0x70, 0x67, 0x53, 0x2b, 0x9a, 0x87, 0x14, 0xae, 0x55, 0xb3, 0xee, 0xce,
0xa6, 0x4f, 0xe6, 0x21, 0x1a, 0x3e, 0xf2, 0x22, 0x3e, 0x21, 0x96, 0x8c, 0xd7, 0x26, 0x11, 0x90,
0x79, 0x08, 0x6b, 0x19, 0xcc, 0x75, 0x6c, 0x55, 0xd0, 0xb5, 0xb2, 0x6e, 0x71, 0xf2, 0x50, 0x5d,
0x77, 0x25, 0xc1, 0xe0, 0x13, 0x9b, 0xed, 0xe4, 0x1b, 0x04, 0x82, 0x6a, 0x89, 0x17, 0x99, 0x1e,
0x00, 0x81, 0x1a, 0x0f, 0x80, 0x3e, 0x29, 0x45, 0x9a, 0x24, 0xd2, 0x44, 0x02, 0x31, 0xdf, 0x82,
0x76, 0x8a, 0x76, 0x52, 0x44, 0x97, 0xab, 0xa4, 0x64, 0x12, 0x7c, 0x17, 0x6e, 0xba, 0x62, 0x1e,
0x59, 0x45, 0x69, 0x20, 0x69, 0x86, 0xbc, 0xb3, 0xbc, 0xc6, 0xb7, 0xa1, 0x95, 0x46, 0x2d, 0xc9,
0xae, 0xc8, 0x36, 0x2d, 0xa1, 0x92, 0xd8, 0x6d, 0x68, 0x26, 0xb5, 0xc6, 0x2a, 0x09, 0x34, 0xb8,
0x2c, 0x31, 0x92, 0xea, 0x25, 0x10, 0xe1, 0x6c, 0x12, 0xa9, 0x45, 0xd6, 0x48, 0x86, 0xaa, 0x17,
0x53, 0xd2, 0x49, 0xf6, 0x0d, 0x58, 0x4b, 0x82, 0x85, 0xe4, 0x5a, 0x24, 0xb7, 0x1a, 0x13, 0x49,
0x68, 0x17, 0xd6, 0xfd, 0xc0, 0xf3, 0xbd, 0x50, 0x04, 0x16, 0xb7, 0xed, 0x40, 0x84, 0x61, 0xa7,
0x2d, 0xd7, 0x8b, 0xe9, 0x47, 0x92, 0x6c, 0xfc, 0x0c, 0x1a, 0xca, 0xfa, 0xa5, 0xcd, 0xdc, 0xf7,
0x61, 0xd5, 0xe7, 0x01, 0x9e, 0x29, 0xdb, 0xd2, 0xc5, 0x25, 0xf5, 0x29, 0x0f, 0xb0, 0x87, 0xcf,
0x75, 0x76, 0x2b, 0x24, 0x2f, 0x49, 0xc6, 0x5d, 0x58, 0xcb, 0xc9, 0x60, 0x18, 0x90, 0x53, 0xc4,
0x61, 0x40, 0x93, 0x64, 0xe7, 0x4a, 0xba, 0xb3, 0x71, 0x0f, 0xf4, 0xc4, 0xd0, 0x58, 0xf9, 0xc5,
0xf7, 0xd0, 0x94, 0xed, 0xe4, 0x94, 0xba, 0x55, 0xef, 0x33, 0x11, 0xa8, 0x6a, 0x4f, 0x4e, 0x8c,
0xa7, 0xd0, 0x2e, 0x24, 0x5d, 0xb6, 0x07, 0x0d, 0x7f, 0x36, 0xb0, 0xe2, 0x57, 0x86, 0xb4, 0x2f,
0x3d, 0x9d, 0x0d, 0x3e, 0x12, 0x97, 0x71, 0x5f, 0xea, 0xd3, 0x2c, 0x5d, 0xb6, 0x92, 0x5d, 0x76,
0x02, 0xcd, 0x38, 0x34, 0xd9, 0x77, 0x41, 0x4f, 0x7c, 0xa4, 0x90, 0xe5, 0x92, 0xad, 0xd5, 0xa2,
0xa9, 0x20, 0x7e, 0xea, 0xd0, 0x19, 0xb9, 0xc2, 0xb6, 0xd2, 0x78, 0xa0, 0x3d, 0x9a, 0x66, 0x5b,
0x32, 0x3e, 0x8e, 0x9d, 0xdf, 0x78, 0x17, 0xea, 0xf2, 0x6c, 0x68, 0x1f, 0x5c, 0x39, 0x2e, 0x86,
0x71, 0x5c, 0x9a, 0x8e, 0xff, 0xa8, 0x41, 0x33, 0xce, 0x63, 0xa5, 0x4a, 0xb9, 0x43, 0x57, 0xbe,
0xea, 0xa1, 0x17, 0xbd, 0x14, 0xc4, 0x59, 0xa4, 0xf6, 0xca, 0x59, 0x64, 0x0f, 0x98, 0x4c, 0x16,
0x17, 0x5e, 0xe4, 0xb8, 0x23, 0x4b, 0xda, 0x5a, 0x66, 0x8d, 0x75, 0xe2, 0x9c, 0x11, 0xe3, 0x14,
0xe9, 0x07, 0x9f, 0x2f, 0x43, 0xfb, 0xa8, 0xff, 0xe0, 0xe4, 0xc8, 0xf7, 0x27, 0xce, 0x90, 0x72,
0x2e, 0xdb, 0x87, 0x1a, 0xf5, 0x18, 0x25, 0xaf, 0x9b, 0xdd, 0xb2, 0x66, 0x97, 0x1d, 0xc0, 0x32,
0xb5, 0x1a, 0xac, 0xec, 0x91, 0xb3, 0x5b, 0xda, 0xf3, 0xe2, 0x26, 0xb2, 0x19, 0xb9, 0xfe, 0xd6,
0xd9, 0x2d, 0x6b, 0x7c, 0xd9, 0x87, 0xa0, 0xa7, 0x4d, 0xc2, 0xa2, 0x17, 0xcf, 0xee, 0xc2, 0x16,
0x18, 0xf5, 0xd3, 0x82, 0x6a, 0xd1, 0xc3, 0x5d, 0x77, 0x61, 0xaf, 0xc8, 0x0e, 0xa1, 0x11, 0x97,
0xa1, 0xe5, 0x6f, 0x92, 0xdd, 0x05, 0xed, 0x29, 0x9a, 0x47, 0xd6, 0xfd, 0x65, 0x0f, 0xa7, 0xdd,
0xd2, 0x1e, 0x9a, 0xbd, 0x0f, 0x75, 0x55, 0x1b, 0x94, 0xbe, 0x4b, 0x76, 0xcb, 0x9b, 0x4c, 0xbc,
0x64, 0xda, 0xf9, 0x2c, 0x7a, 0xdc, 0xed, 0x2e, 0x6c, 0xf6, 0xd9, 0x11, 0x40, 0xa6, 0x7c, 0x5f,
0xf8, 0x6a, 0xdb, 0x5d, 0xdc, 0xc4, 0xb3, 0x7b, 0xd0, 0x4c, 0x1f, 0x66, 0xca, 0xdf, 0x61, 0xbb,
0x8b, 0xfa, 0xea, 0xfe, 0xeb, 0xff, 0xfe, 0xcb, 0x96, 0xf6, 0xeb, 0xab, 0x2d, 0xed, 0x37, 0x57,
0x5b, 0xda, 0x97, 0x57, 0x5b, 0xda, 0xef, 0xaf, 0xb6, 0xb4, 0x3f, 0x5f, 0x6d, 0x69, 0xbf, 0xfd,
0xeb, 0x96, 0x36, 0xa8, 0x93, 0xfb, 0xbf, 0xf7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x71, 0x1b,
0xfb, 0xde, 0x97, 0x18, 0x00, 0x00,
}

View File

@ -219,7 +219,7 @@ message BlockSize {
// EvidenceParams contains limits on the evidence.
message EvidenceParams {
// Note: must be greater than 0 if provided
google.protobuf.Duration max_age = 1 [(gogoproto.stdduration)=true];
google.protobuf.Duration max_age = 1 [(gogoproto.nullable)=false, (gogoproto.stdduration)=true];
}
message LastCommitInfo {

View File

@ -405,7 +405,6 @@ func pk() []byte {
func TestApplyUpdates(t *testing.T) {
initParams := makeParams(1, 2, 3*time.Second)
newMaxAge := 66 * time.Second
cases := [...]struct {
init types.ConsensusParams
@ -425,7 +424,7 @@ func TestApplyUpdates(t *testing.T) {
3: {initParams,
abci.ConsensusParams{
EvidenceParams: &abci.EvidenceParams{
MaxAge: &newMaxAge,
MaxAge: 66 * time.Second,
},
},
makeParams(1, 2, 66*time.Second)},

View File

@ -111,9 +111,7 @@ func (params ConsensusParams) Update(params2 *abci.ConsensusParams) ConsensusPar
res.BlockSize.MaxGas = params2.BlockSize.MaxGas
}
if params2.EvidenceParams != nil {
if params2.EvidenceParams.MaxAge != nil {
res.EvidenceParams.MaxAge = *params2.EvidenceParams.MaxAge
}
res.EvidenceParams.MaxAge = params2.EvidenceParams.MaxAge
}
return res
}

View File

@ -72,7 +72,6 @@ func TestConsensusParamsHash(t *testing.T) {
}
func TestConsensusParamsUpdate(t *testing.T) {
newMaxAge := 300 * time.Second
testCases := []struct {
params ConsensusParams
updates *abci.ConsensusParams
@ -93,7 +92,7 @@ func TestConsensusParamsUpdate(t *testing.T) {
MaxGas: 200,
},
EvidenceParams: &abci.EvidenceParams{
MaxAge: &newMaxAge,
MaxAge: 300 * time.Second,
},
},
makeParams(100, 200, 300*time.Second),

View File

@ -119,7 +119,7 @@ func (tm2pb) ConsensusParams(params *ConsensusParams) *abci.ConsensusParams {
MaxGas: params.BlockSize.MaxGas,
},
EvidenceParams: &abci.EvidenceParams{
MaxAge: &params.EvidenceParams.MaxAge,
MaxAge: params.EvidenceParams.MaxAge,
},
}
}
@ -209,14 +209,18 @@ func (pb2tm) ValidatorUpdates(vals []abci.ValidatorUpdate) ([]*Validator, error)
}
func (pb2tm) ConsensusParams(csp *abci.ConsensusParams) ConsensusParams {
params := ConsensusParams{
BlockSize: BlockSize{
params := ConsensusParams{}
// we must defensively consider any structs may be nil
if csp.BlockSize != nil {
params.BlockSize = BlockSize{
MaxBytes: csp.BlockSize.MaxBytes,
MaxGas: csp.BlockSize.MaxGas,
},
}
}
if csp.EvidenceParams.MaxAge != nil {
params.EvidenceParams.MaxAge = *csp.EvidenceParams.MaxAge
if csp.EvidenceParams != nil {
params.EvidenceParams.MaxAge = csp.EvidenceParams.MaxAge
}
return params
}