vendor files

This commit is contained in:
Serguei Bezverkhi
2018-01-09 13:57:14 -05:00
parent 558bc6c02a
commit 7b24313bd6
16547 changed files with 4527373 additions and 0 deletions

View File

@ -0,0 +1,40 @@
# Protocol Buffers for Go with Gadgets
#
# Copyright (c) 2013, The GoGo Authors. All rights reserved.
# http://github.com/gogo/protobuf
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
regenerate:
rm -rf combos
go install github.com/gogo/protobuf/protoc-gen-combo
go install github.com/gogo/protobuf/protoc-gen-gogo
protoc-min-version --version="3.0.0" --gogo_out=. --proto_path=../../../../../:../../protobuf/:. castvalue.proto
protoc-gen-combo --default=false --version="3.0.0" --gogo_out=. --proto_path=../../../../../:../../protobuf/:. castvalue.proto
cp mytypes.go ./combos/both/ || true
cp mytypes.go ./combos/marshaler/ || true
cp mytypes.go ./combos/unmarshaler/ || true
cp mytypes.go ./combos/unsafeboth/ || true
cp mytypes.go ./combos/unsafemarshaler/ || true
cp mytypes.go ./combos/unsafeunmarshaler/ || true

View File

@ -0,0 +1,867 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import compress_gzip "compress/gzip"
import bytes "bytes"
import io_ioutil "io/ioutil"
import strings "strings"
import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package
type Castaway struct {
CastMapValueMessage map[int32]MyWilson `protobuf:"bytes,1,rep,name=CastMapValueMessage,castvalue=MyWilson,castvaluetype=castvalue.Wilson" json:"CastMapValueMessage" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
CastMapValueMessageNullable map[int32]*MyWilson `protobuf:"bytes,2,rep,name=CastMapValueMessageNullable,castvalue=MyWilson,castvaluetype=castvalue.Wilson" json:"CastMapValueMessageNullable,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Castaway) Reset() { *m = Castaway{} }
func (*Castaway) ProtoMessage() {}
func (*Castaway) Descriptor() ([]byte, []int) { return fileDescriptorCastvalue, []int{0} }
type Wilson struct {
Int64 *int64 `protobuf:"varint,1,opt,name=Int64" json:"Int64,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Wilson) Reset() { *m = Wilson{} }
func (*Wilson) ProtoMessage() {}
func (*Wilson) Descriptor() ([]byte, []int) { return fileDescriptorCastvalue, []int{1} }
func init() {
proto.RegisterType((*Castaway)(nil), "castvalue.Castaway")
proto.RegisterType((*Wilson)(nil), "castvalue.Wilson")
}
func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
return CastvalueDescription()
}
func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
return CastvalueDescription()
}
func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
var gzipped = []byte{
// 3858 bytes of a gzipped FileDescriptorSet
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0x1b, 0xd7,
0x75, 0xe6, 0xe2, 0x87, 0x04, 0x0e, 0x40, 0x70, 0x79, 0x49, 0x4b, 0x10, 0x1d, 0x43, 0x12, 0xfd,
0x23, 0xda, 0x4e, 0xa8, 0x8c, 0x2c, 0xc9, 0x32, 0xd4, 0xc4, 0x05, 0x41, 0x88, 0x81, 0xca, 0x1f,
0x64, 0x41, 0xc6, 0x52, 0xfa, 0xb0, 0xb3, 0x5c, 0x5c, 0x80, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b,
0xc9, 0xd4, 0xf4, 0x41, 0x1d, 0xa7, 0xed, 0xa4, 0x9d, 0xfe, 0x77, 0xa6, 0x89, 0xeb, 0xb8, 0x6d,
0x66, 0x5a, 0xa7, 0x49, 0x7f, 0x92, 0xa6, 0x4d, 0xd3, 0x3e, 0xa5, 0x0f, 0x69, 0xfd, 0xd4, 0x49,
0xde, 0xfa, 0xd0, 0x69, 0x2d, 0xd6, 0x33, 0x75, 0x5b, 0xb7, 0x75, 0x1b, 0x3f, 0x64, 0xc6, 0xd3,
0x99, 0xce, 0xfd, 0x5b, 0xec, 0x02, 0x20, 0x17, 0x4c, 0xc7, 0xce, 0x13, 0x71, 0xcf, 0x3d, 0xdf,
0x77, 0xcf, 0x3d, 0xf7, 0xdc, 0x7b, 0xce, 0xbd, 0x4b, 0xf8, 0xea, 0x15, 0x38, 0xd3, 0xb1, 0xed,
0x8e, 0x89, 0xcf, 0x3b, 0xae, 0xed, 0xdb, 0xbb, 0xbd, 0xf6, 0xf9, 0x16, 0xf6, 0x74, 0xd7, 0x70,
0x7c, 0xdb, 0x5d, 0xa6, 0x32, 0x34, 0xc3, 0x34, 0x96, 0x85, 0xc6, 0xe2, 0x06, 0xcc, 0x5e, 0x33,
0x4c, 0xbc, 0x1a, 0x28, 0x36, 0xb1, 0x8f, 0xae, 0x40, 0xaa, 0x6d, 0x98, 0xb8, 0x28, 0x9d, 0x49,
0x2e, 0xe5, 0x2e, 0x3c, 0xb6, 0x3c, 0x00, 0x5a, 0x8e, 0x22, 0x1a, 0x44, 0xac, 0x50, 0xc4, 0xe2,
0x9b, 0x29, 0x98, 0x1b, 0xd1, 0x8b, 0x10, 0xa4, 0x2c, 0xad, 0x4b, 0x18, 0xa5, 0xa5, 0xac, 0x42,
0x7f, 0xa3, 0x22, 0x4c, 0x39, 0x9a, 0x7e, 0x5b, 0xeb, 0xe0, 0x62, 0x82, 0x8a, 0x45, 0x13, 0x95,
0x00, 0x5a, 0xd8, 0xc1, 0x56, 0x0b, 0x5b, 0xfa, 0x7e, 0x31, 0x79, 0x26, 0xb9, 0x94, 0x55, 0x42,
0x12, 0xf4, 0x34, 0xcc, 0x3a, 0xbd, 0x5d, 0xd3, 0xd0, 0xd5, 0x90, 0x1a, 0x9c, 0x49, 0x2e, 0xa5,
0x15, 0x99, 0x75, 0xac, 0xf6, 0x95, 0xcf, 0xc1, 0xcc, 0x5d, 0xac, 0xdd, 0x0e, 0xab, 0xe6, 0xa8,
0x6a, 0x81, 0x88, 0x43, 0x8a, 0x55, 0xc8, 0x77, 0xb1, 0xe7, 0x69, 0x1d, 0xac, 0xfa, 0xfb, 0x0e,
0x2e, 0xa6, 0xe8, 0xec, 0xcf, 0x0c, 0xcd, 0x7e, 0x70, 0xe6, 0x39, 0x8e, 0xda, 0xde, 0x77, 0x30,
0xaa, 0x40, 0x16, 0x5b, 0xbd, 0x2e, 0x63, 0x48, 0x1f, 0xe2, 0xbf, 0x9a, 0xd5, 0xeb, 0x0e, 0xb2,
0x64, 0x08, 0x8c, 0x53, 0x4c, 0x79, 0xd8, 0xbd, 0x63, 0xe8, 0xb8, 0x38, 0x49, 0x09, 0xce, 0x0d,
0x11, 0x34, 0x59, 0xff, 0x20, 0x87, 0xc0, 0xa1, 0x2a, 0x64, 0xf1, 0x8b, 0x3e, 0xb6, 0x3c, 0xc3,
0xb6, 0x8a, 0x53, 0x94, 0xe4, 0xf1, 0x11, 0xab, 0x88, 0xcd, 0xd6, 0x20, 0x45, 0x1f, 0x87, 0x2e,
0xc3, 0x94, 0xed, 0xf8, 0x86, 0x6d, 0x79, 0xc5, 0xcc, 0x19, 0x69, 0x29, 0x77, 0xe1, 0x43, 0x23,
0x03, 0x61, 0x8b, 0xe9, 0x28, 0x42, 0x19, 0xd5, 0x41, 0xf6, 0xec, 0x9e, 0xab, 0x63, 0x55, 0xb7,
0x5b, 0x58, 0x35, 0xac, 0xb6, 0x5d, 0xcc, 0x52, 0x82, 0xd3, 0xc3, 0x13, 0xa1, 0x8a, 0x55, 0xbb,
0x85, 0xeb, 0x56, 0xdb, 0x56, 0x0a, 0x5e, 0xa4, 0x8d, 0x4e, 0xc0, 0xa4, 0xb7, 0x6f, 0xf9, 0xda,
0x8b, 0xc5, 0x3c, 0x8d, 0x10, 0xde, 0x5a, 0xfc, 0xcb, 0x49, 0x98, 0x19, 0x27, 0xc4, 0xae, 0x42,
0xba, 0x4d, 0x66, 0x59, 0x4c, 0x1c, 0xc7, 0x07, 0x0c, 0x13, 0x75, 0xe2, 0xe4, 0x0f, 0xe9, 0xc4,
0x0a, 0xe4, 0x2c, 0xec, 0xf9, 0xb8, 0xc5, 0x22, 0x22, 0x39, 0x66, 0x4c, 0x01, 0x03, 0x0d, 0x87,
0x54, 0xea, 0x87, 0x0a, 0xa9, 0x1b, 0x30, 0x13, 0x98, 0xa4, 0xba, 0x9a, 0xd5, 0x11, 0xb1, 0x79,
0x3e, 0xce, 0x92, 0xe5, 0x9a, 0xc0, 0x29, 0x04, 0xa6, 0x14, 0x70, 0xa4, 0x8d, 0x56, 0x01, 0x6c,
0x0b, 0xdb, 0x6d, 0xb5, 0x85, 0x75, 0xb3, 0x98, 0x39, 0xc4, 0x4b, 0x5b, 0x44, 0x65, 0xc8, 0x4b,
0x36, 0x93, 0xea, 0x26, 0x7a, 0xae, 0x1f, 0x6a, 0x53, 0x87, 0x44, 0xca, 0x06, 0xdb, 0x64, 0x43,
0xd1, 0xb6, 0x03, 0x05, 0x17, 0x93, 0xb8, 0xc7, 0x2d, 0x3e, 0xb3, 0x2c, 0x35, 0x62, 0x39, 0x76,
0x66, 0x0a, 0x87, 0xb1, 0x89, 0x4d, 0xbb, 0xe1, 0x26, 0x7a, 0x14, 0x02, 0x81, 0x4a, 0xc3, 0x0a,
0xe8, 0x29, 0x94, 0x17, 0xc2, 0x4d, 0xad, 0x8b, 0x17, 0xee, 0x41, 0x21, 0xea, 0x1e, 0x34, 0x0f,
0x69, 0xcf, 0xd7, 0x5c, 0x9f, 0x46, 0x61, 0x5a, 0x61, 0x0d, 0x24, 0x43, 0x12, 0x5b, 0x2d, 0x7a,
0xca, 0xa5, 0x15, 0xf2, 0x13, 0xfd, 0x78, 0x7f, 0xc2, 0x49, 0x3a, 0xe1, 0x27, 0x86, 0x57, 0x34,
0xc2, 0x3c, 0x38, 0xef, 0x85, 0x67, 0x61, 0x3a, 0x32, 0x81, 0x71, 0x87, 0x5e, 0xfc, 0x29, 0x78,
0x68, 0x24, 0x35, 0xba, 0x01, 0xf3, 0x3d, 0xcb, 0xb0, 0x7c, 0xec, 0x3a, 0x2e, 0x26, 0x11, 0xcb,
0x86, 0x2a, 0xfe, 0xcb, 0xd4, 0x21, 0x31, 0xb7, 0x13, 0xd6, 0x66, 0x2c, 0xca, 0x5c, 0x6f, 0x58,
0xf8, 0x54, 0x36, 0xf3, 0xd6, 0x94, 0x7c, 0xff, 0xfe, 0xfd, 0xfb, 0x89, 0xc5, 0xcf, 0x4f, 0xc2,
0xfc, 0xa8, 0x3d, 0x33, 0x72, 0xfb, 0x9e, 0x80, 0x49, 0xab, 0xd7, 0xdd, 0xc5, 0x2e, 0x75, 0x52,
0x5a, 0xe1, 0x2d, 0x54, 0x81, 0xb4, 0xa9, 0xed, 0x62, 0xb3, 0x98, 0x3a, 0x23, 0x2d, 0x15, 0x2e,
0x3c, 0x3d, 0xd6, 0xae, 0x5c, 0x5e, 0x27, 0x10, 0x85, 0x21, 0xd1, 0xc7, 0x21, 0xc5, 0x8f, 0x68,
0xc2, 0xf0, 0xd4, 0x78, 0x0c, 0x64, 0x2f, 0x29, 0x14, 0x87, 0x1e, 0x86, 0x2c, 0xf9, 0xcb, 0x62,
0x63, 0x92, 0xda, 0x9c, 0x21, 0x02, 0x12, 0x17, 0x68, 0x01, 0x32, 0x74, 0x9b, 0xb4, 0xb0, 0x48,
0x6d, 0x41, 0x9b, 0x04, 0x56, 0x0b, 0xb7, 0xb5, 0x9e, 0xe9, 0xab, 0x77, 0x34, 0xb3, 0x87, 0x69,
0xc0, 0x67, 0x95, 0x3c, 0x17, 0x7e, 0x8a, 0xc8, 0xd0, 0x69, 0xc8, 0xb1, 0x5d, 0x65, 0x58, 0x2d,
0xfc, 0x22, 0x3d, 0x3d, 0xd3, 0x0a, 0xdb, 0x68, 0x75, 0x22, 0x21, 0xc3, 0xdf, 0xf2, 0x6c, 0x4b,
0x84, 0x26, 0x1d, 0x82, 0x08, 0xe8, 0xf0, 0xcf, 0x0e, 0x1e, 0xdc, 0x8f, 0x8c, 0x9e, 0xde, 0x60,
0x4c, 0x2d, 0x7e, 0x33, 0x01, 0x29, 0x7a, 0x5e, 0xcc, 0x40, 0x6e, 0xfb, 0x66, 0xa3, 0xa6, 0xae,
0x6e, 0xed, 0xac, 0xac, 0xd7, 0x64, 0x09, 0x15, 0x00, 0xa8, 0xe0, 0xda, 0xfa, 0x56, 0x65, 0x5b,
0x4e, 0x04, 0xed, 0xfa, 0xe6, 0xf6, 0xe5, 0x8b, 0x72, 0x32, 0x00, 0xec, 0x30, 0x41, 0x2a, 0xac,
0xf0, 0xcc, 0x05, 0x39, 0x8d, 0x64, 0xc8, 0x33, 0x82, 0xfa, 0x8d, 0xda, 0xea, 0xe5, 0x8b, 0xf2,
0x64, 0x54, 0xf2, 0xcc, 0x05, 0x79, 0x0a, 0x4d, 0x43, 0x96, 0x4a, 0x56, 0xb6, 0xb6, 0xd6, 0xe5,
0x4c, 0xc0, 0xd9, 0xdc, 0x56, 0xea, 0x9b, 0x6b, 0x72, 0x36, 0xe0, 0x5c, 0x53, 0xb6, 0x76, 0x1a,
0x32, 0x04, 0x0c, 0x1b, 0xb5, 0x66, 0xb3, 0xb2, 0x56, 0x93, 0x73, 0x81, 0xc6, 0xca, 0xcd, 0xed,
0x5a, 0x53, 0xce, 0x47, 0xcc, 0x7a, 0xe6, 0x82, 0x3c, 0x1d, 0x0c, 0x51, 0xdb, 0xdc, 0xd9, 0x90,
0x0b, 0x68, 0x16, 0xa6, 0xd9, 0x10, 0xc2, 0x88, 0x99, 0x01, 0xd1, 0xe5, 0x8b, 0xb2, 0xdc, 0x37,
0x84, 0xb1, 0xcc, 0x46, 0x04, 0x97, 0x2f, 0xca, 0x68, 0xb1, 0x0a, 0x69, 0x1a, 0x5d, 0x08, 0x41,
0x61, 0xbd, 0xb2, 0x52, 0x5b, 0x57, 0xb7, 0x1a, 0xdb, 0xf5, 0xad, 0xcd, 0xca, 0xba, 0x2c, 0xf5,
0x65, 0x4a, 0xed, 0x93, 0x3b, 0x75, 0xa5, 0xb6, 0x2a, 0x27, 0xc2, 0xb2, 0x46, 0xad, 0xb2, 0x5d,
0x5b, 0x95, 0x93, 0x8b, 0x3a, 0xcc, 0x8f, 0x3a, 0x27, 0x47, 0xee, 0x8c, 0xd0, 0x12, 0x27, 0x0e,
0x59, 0x62, 0xca, 0x35, 0xb4, 0xc4, 0x5f, 0x92, 0x60, 0x6e, 0x44, 0xae, 0x18, 0x39, 0xc8, 0xf3,
0x90, 0x66, 0x21, 0xca, 0xb2, 0xe7, 0x93, 0x23, 0x93, 0x0e, 0x0d, 0xd8, 0xa1, 0x0c, 0x4a, 0x71,
0xe1, 0x0a, 0x22, 0x79, 0x48, 0x05, 0x41, 0x28, 0x86, 0x8c, 0x7c, 0x49, 0x82, 0xe2, 0x61, 0xdc,
0x31, 0x07, 0x45, 0x22, 0x72, 0x50, 0x5c, 0x1d, 0x34, 0xe0, 0xec, 0xe1, 0x73, 0x18, 0xb2, 0xe2,
0x35, 0x09, 0x4e, 0x8c, 0x2e, 0xb4, 0x46, 0xda, 0xf0, 0x71, 0x98, 0xec, 0x62, 0x7f, 0xcf, 0x16,
0xc5, 0xc6, 0x13, 0x23, 0x52, 0x18, 0xe9, 0x1e, 0xf4, 0x15, 0x47, 0x85, 0x73, 0x60, 0xf2, 0xb0,
0x6a, 0x89, 0x59, 0x33, 0x64, 0xe9, 0xe7, 0x12, 0xf0, 0xd0, 0x48, 0xf2, 0x91, 0x86, 0x3e, 0x02,
0x60, 0x58, 0x4e, 0xcf, 0x67, 0x05, 0x05, 0x3b, 0x9f, 0xb2, 0x54, 0x42, 0xf7, 0x3e, 0x39, 0x7b,
0x7a, 0x7e, 0xd0, 0x9f, 0xa4, 0xfd, 0xc0, 0x44, 0x54, 0xe1, 0x4a, 0xdf, 0xd0, 0x14, 0x35, 0xb4,
0x74, 0xc8, 0x4c, 0x87, 0x72, 0xf5, 0x47, 0x41, 0xd6, 0x4d, 0x03, 0x5b, 0xbe, 0xea, 0xf9, 0x2e,
0xd6, 0xba, 0x86, 0xd5, 0xa1, 0x07, 0x70, 0xa6, 0x9c, 0x6e, 0x6b, 0xa6, 0x87, 0x95, 0x19, 0xd6,
0xdd, 0x14, 0xbd, 0x04, 0x41, 0x73, 0x9c, 0x1b, 0x42, 0x4c, 0x46, 0x10, 0xac, 0x3b, 0x40, 0x2c,
0x7e, 0x23, 0x03, 0xb9, 0x50, 0x59, 0x8a, 0xce, 0x42, 0xfe, 0x96, 0x76, 0x47, 0x53, 0xc5, 0x55,
0x83, 0x79, 0x22, 0x47, 0x64, 0x0d, 0x7e, 0xdd, 0xf8, 0x28, 0xcc, 0x53, 0x15, 0xbb, 0xe7, 0x63,
0x57, 0xd5, 0x4d, 0xcd, 0xf3, 0xa8, 0xd3, 0x32, 0x54, 0x15, 0x91, 0xbe, 0x2d, 0xd2, 0x55, 0x15,
0x3d, 0xe8, 0x12, 0xcc, 0x51, 0x44, 0xb7, 0x67, 0xfa, 0x86, 0x63, 0x62, 0x95, 0x5c, 0x7e, 0x3c,
0x7a, 0x10, 0x07, 0x96, 0xcd, 0x12, 0x8d, 0x0d, 0xae, 0x40, 0x2c, 0xf2, 0xd0, 0x2a, 0x3c, 0x42,
0x61, 0x1d, 0x6c, 0x61, 0x57, 0xf3, 0xb1, 0x8a, 0x3f, 0xd3, 0xd3, 0x4c, 0x4f, 0xd5, 0xac, 0x96,
0xba, 0xa7, 0x79, 0x7b, 0xc5, 0x79, 0x42, 0xb0, 0x92, 0x28, 0x4a, 0xca, 0x29, 0xa2, 0xb8, 0xc6,
0xf5, 0x6a, 0x54, 0xad, 0x62, 0xb5, 0x3e, 0xa1, 0x79, 0x7b, 0xa8, 0x0c, 0x27, 0x28, 0x8b, 0xe7,
0xbb, 0x86, 0xd5, 0x51, 0xf5, 0x3d, 0xac, 0xdf, 0x56, 0x7b, 0x7e, 0xfb, 0x4a, 0xf1, 0xe1, 0xf0,
0xf8, 0xd4, 0xc2, 0x26, 0xd5, 0xa9, 0x12, 0x95, 0x1d, 0xbf, 0x7d, 0x05, 0x35, 0x21, 0x4f, 0x16,
0xa3, 0x6b, 0xdc, 0xc3, 0x6a, 0xdb, 0x76, 0x69, 0x66, 0x29, 0x8c, 0xd8, 0xd9, 0x21, 0x0f, 0x2e,
0x6f, 0x71, 0xc0, 0x86, 0xdd, 0xc2, 0xe5, 0x74, 0xb3, 0x51, 0xab, 0xad, 0x2a, 0x39, 0xc1, 0x72,
0xcd, 0x76, 0x49, 0x40, 0x75, 0xec, 0xc0, 0xc1, 0x39, 0x16, 0x50, 0x1d, 0x5b, 0xb8, 0xf7, 0x12,
0xcc, 0xe9, 0x3a, 0x9b, 0xb3, 0xa1, 0xab, 0xfc, 0x8a, 0xe2, 0x15, 0xe5, 0x88, 0xb3, 0x74, 0x7d,
0x8d, 0x29, 0xf0, 0x18, 0xf7, 0xd0, 0x73, 0xf0, 0x50, 0xdf, 0x59, 0x61, 0xe0, 0xec, 0xd0, 0x2c,
0x07, 0xa1, 0x97, 0x60, 0xce, 0xd9, 0x1f, 0x06, 0xa2, 0xc8, 0x88, 0xce, 0xfe, 0x20, 0xec, 0x59,
0x98, 0x77, 0xf6, 0x9c, 0x61, 0xdc, 0x5c, 0x18, 0x87, 0x9c, 0x3d, 0x67, 0x10, 0xf8, 0x38, 0xbd,
0xaf, 0xba, 0x58, 0xd7, 0x7c, 0xdc, 0x2a, 0x9e, 0x0c, 0xab, 0x87, 0x3a, 0xd0, 0x79, 0x90, 0x75,
0x5d, 0xc5, 0x96, 0xb6, 0x6b, 0x62, 0x55, 0x73, 0xb1, 0xa5, 0x79, 0xc5, 0xd3, 0x61, 0xe5, 0x82,
0xae, 0xd7, 0x68, 0x6f, 0x85, 0x76, 0xa2, 0xa7, 0x60, 0xd6, 0xde, 0xbd, 0xa5, 0xb3, 0x90, 0x54,
0x1d, 0x17, 0xb7, 0x8d, 0x17, 0x8b, 0x8f, 0x51, 0xff, 0xce, 0x90, 0x0e, 0x1a, 0x90, 0x0d, 0x2a,
0x46, 0x4f, 0x82, 0xac, 0x7b, 0x7b, 0x9a, 0xeb, 0xd0, 0x9a, 0xc0, 0x73, 0x34, 0x1d, 0x17, 0x1f,
0x67, 0xaa, 0x4c, 0xbe, 0x29, 0xc4, 0x64, 0x4b, 0x78, 0x77, 0x8d, 0xb6, 0x2f, 0x18, 0xcf, 0xb1,
0x2d, 0x41, 0x65, 0x9c, 0x6d, 0x09, 0x64, 0xe2, 0x8a, 0xc8, 0xc0, 0x4b, 0x54, 0xad, 0xe0, 0xec,
0x39, 0xe1, 0x71, 0x1f, 0x85, 0x69, 0xa2, 0xd9, 0x1f, 0xf4, 0x49, 0x56, 0xcf, 0x38, 0x7b, 0xa1,
0x11, 0xdf, 0xb7, 0xd2, 0x72, 0xb1, 0x0c, 0xf9, 0x70, 0x7c, 0xa2, 0x2c, 0xb0, 0x08, 0x95, 0x25,
0x92, 0xeb, 0xab, 0x5b, 0xab, 0x24, 0x4b, 0x7f, 0xba, 0x26, 0x27, 0x48, 0xb5, 0xb0, 0x5e, 0xdf,
0xae, 0xa9, 0xca, 0xce, 0xe6, 0x76, 0x7d, 0xa3, 0x26, 0x27, 0xc3, 0x65, 0xe9, 0x77, 0x12, 0x50,
0x88, 0xde, 0x30, 0xd0, 0x8f, 0xc1, 0x49, 0xf1, 0x1c, 0xe0, 0x61, 0x5f, 0xbd, 0x6b, 0xb8, 0x74,
0xcb, 0x74, 0x35, 0x56, 0x61, 0x07, 0x8b, 0x36, 0xcf, 0xb5, 0x9a, 0xd8, 0x7f, 0xc1, 0x70, 0xc9,
0x86, 0xe8, 0x6a, 0x3e, 0x5a, 0x87, 0xd3, 0x96, 0xad, 0x7a, 0xbe, 0x66, 0xb5, 0x34, 0xb7, 0xa5,
0xf6, 0x1f, 0x62, 0x54, 0x4d, 0xd7, 0xb1, 0xe7, 0xd9, 0x2c, 0x55, 0x05, 0x2c, 0x1f, 0xb2, 0xec,
0x26, 0x57, 0xee, 0x9f, 0xe1, 0x15, 0xae, 0x3a, 0x10, 0x60, 0xc9, 0xc3, 0x02, 0xec, 0x61, 0xc8,
0x76, 0x35, 0x47, 0xc5, 0x96, 0xef, 0xee, 0xd3, 0xba, 0x32, 0xa3, 0x64, 0xba, 0x9a, 0x53, 0x23,
0xed, 0x0f, 0xa6, 0xbc, 0xff, 0x87, 0x24, 0xe4, 0xc3, 0xb5, 0x25, 0x29, 0xd5, 0x75, 0x9a, 0x47,
0x24, 0x7a, 0xd2, 0x3c, 0x7a, 0x64, 0x25, 0xba, 0x5c, 0x25, 0x09, 0xa6, 0x3c, 0xc9, 0x2a, 0x3e,
0x85, 0x21, 0x49, 0x72, 0x27, 0x67, 0x0b, 0x66, 0xb7, 0x98, 0x8c, 0xc2, 0x5b, 0x68, 0x0d, 0x26,
0x6f, 0x79, 0x94, 0x7b, 0x92, 0x72, 0x3f, 0x76, 0x34, 0xf7, 0xf5, 0x26, 0x25, 0xcf, 0x5e, 0x6f,
0xaa, 0x9b, 0x5b, 0xca, 0x46, 0x65, 0x5d, 0xe1, 0x70, 0x74, 0x0a, 0x52, 0xa6, 0x76, 0x6f, 0x3f,
0x9a, 0x8a, 0xa8, 0x68, 0x5c, 0xc7, 0x9f, 0x82, 0xd4, 0x5d, 0xac, 0xdd, 0x8e, 0x26, 0x00, 0x2a,
0x7a, 0x1f, 0x43, 0xff, 0x3c, 0xa4, 0xa9, 0xbf, 0x10, 0x00, 0xf7, 0x98, 0x3c, 0x81, 0x32, 0x90,
0xaa, 0x6e, 0x29, 0x24, 0xfc, 0x65, 0xc8, 0x33, 0xa9, 0xda, 0xa8, 0xd7, 0xaa, 0x35, 0x39, 0xb1,
0x78, 0x09, 0x26, 0x99, 0x13, 0xc8, 0xd6, 0x08, 0xdc, 0x20, 0x4f, 0xf0, 0x26, 0xe7, 0x90, 0x44,
0xef, 0xce, 0xc6, 0x4a, 0x4d, 0x91, 0x13, 0xe1, 0xe5, 0xf5, 0x20, 0x1f, 0x2e, 0x2b, 0x3f, 0x98,
0x98, 0xfa, 0x2b, 0x09, 0x72, 0xa1, 0x32, 0x91, 0x14, 0x28, 0x9a, 0x69, 0xda, 0x77, 0x55, 0xcd,
0x34, 0x34, 0x8f, 0x07, 0x05, 0x50, 0x51, 0x85, 0x48, 0xc6, 0x5d, 0xb4, 0x0f, 0xc4, 0xf8, 0x57,
0x25, 0x90, 0x07, 0x4b, 0xcc, 0x01, 0x03, 0xa5, 0x1f, 0xa9, 0x81, 0xaf, 0x48, 0x50, 0x88, 0xd6,
0x95, 0x03, 0xe6, 0x9d, 0xfd, 0x91, 0x9a, 0xf7, 0x46, 0x02, 0xa6, 0x23, 0xd5, 0xe4, 0xb8, 0xd6,
0x7d, 0x06, 0x66, 0x8d, 0x16, 0xee, 0x3a, 0xb6, 0x8f, 0x2d, 0x7d, 0x5f, 0x35, 0xf1, 0x1d, 0x6c,
0x16, 0x17, 0xe9, 0x41, 0x71, 0xfe, 0xe8, 0x7a, 0x75, 0xb9, 0xde, 0xc7, 0xad, 0x13, 0x58, 0x79,
0xae, 0xbe, 0x5a, 0xdb, 0x68, 0x6c, 0x6d, 0xd7, 0x36, 0xab, 0x37, 0xd5, 0x9d, 0xcd, 0x9f, 0xd8,
0xdc, 0x7a, 0x61, 0x53, 0x91, 0x8d, 0x01, 0xb5, 0xf7, 0x71, 0xab, 0x37, 0x40, 0x1e, 0x34, 0x0a,
0x9d, 0x84, 0x51, 0x66, 0xc9, 0x13, 0x68, 0x0e, 0x66, 0x36, 0xb7, 0xd4, 0x66, 0x7d, 0xb5, 0xa6,
0xd6, 0xae, 0x5d, 0xab, 0x55, 0xb7, 0x9b, 0xec, 0x02, 0x1f, 0x68, 0x6f, 0x47, 0x37, 0xf5, 0xcb,
0x49, 0x98, 0x1b, 0x61, 0x09, 0xaa, 0xf0, 0xbb, 0x03, 0xbb, 0xce, 0x7c, 0x64, 0x1c, 0xeb, 0x97,
0x49, 0xca, 0x6f, 0x68, 0xae, 0xcf, 0xaf, 0x1a, 0x4f, 0x02, 0xf1, 0x92, 0xe5, 0x1b, 0x6d, 0x03,
0xbb, 0xfc, 0xbd, 0x83, 0x5d, 0x28, 0x66, 0xfa, 0x72, 0xf6, 0xe4, 0xf1, 0x61, 0x40, 0x8e, 0xed,
0x19, 0xbe, 0x71, 0x07, 0xab, 0x86, 0x25, 0x1e, 0x47, 0xc8, 0x05, 0x23, 0xa5, 0xc8, 0xa2, 0xa7,
0x6e, 0xf9, 0x81, 0xb6, 0x85, 0x3b, 0xda, 0x80, 0x36, 0x39, 0xc0, 0x93, 0x8a, 0x2c, 0x7a, 0x02,
0xed, 0xb3, 0x90, 0x6f, 0xd9, 0x3d, 0x52, 0x75, 0x31, 0x3d, 0x92, 0x2f, 0x24, 0x25, 0xc7, 0x64,
0x81, 0x0a, 0xaf, 0xa7, 0xfb, 0xaf, 0x32, 0x79, 0x25, 0xc7, 0x64, 0x4c, 0xe5, 0x1c, 0xcc, 0x68,
0x9d, 0x8e, 0x4b, 0xc8, 0x05, 0x11, 0xbb, 0x21, 0x14, 0x02, 0x31, 0x55, 0x5c, 0xb8, 0x0e, 0x19,
0xe1, 0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0xbd, 0xcc, 0x25, 0x96, 0xb2, 0x4a, 0xc6, 0x12,
0x9d, 0x67, 0x21, 0x6f, 0x78, 0x6a, 0xff, 0x91, 0x39, 0x71, 0x26, 0xb1, 0x94, 0x51, 0x72, 0x86,
0x17, 0x3c, 0xd0, 0x2d, 0xbe, 0x96, 0x80, 0x42, 0xf4, 0x91, 0x1c, 0xad, 0x42, 0xc6, 0xb4, 0x75,
0x8d, 0x86, 0x16, 0xfb, 0x42, 0xb3, 0x14, 0xf3, 0xae, 0xbe, 0xbc, 0xce, 0xf5, 0x95, 0x00, 0xb9,
0xf0, 0x77, 0x12, 0x64, 0x84, 0x18, 0x9d, 0x80, 0x94, 0xa3, 0xf9, 0x7b, 0x94, 0x2e, 0xbd, 0x92,
0x90, 0x25, 0x85, 0xb6, 0x89, 0xdc, 0x73, 0x34, 0x8b, 0x86, 0x00, 0x97, 0x93, 0x36, 0x59, 0x57,
0x13, 0x6b, 0x2d, 0x7a, 0xfd, 0xb0, 0xbb, 0x5d, 0x6c, 0xf9, 0x9e, 0x58, 0x57, 0x2e, 0xaf, 0x72,
0x31, 0x7a, 0x1a, 0x66, 0x7d, 0x57, 0x33, 0xcc, 0x88, 0x6e, 0x8a, 0xea, 0xca, 0xa2, 0x23, 0x50,
0x2e, 0xc3, 0x29, 0xc1, 0xdb, 0xc2, 0xbe, 0xa6, 0xef, 0xe1, 0x56, 0x1f, 0x34, 0x49, 0x5f, 0x60,
0x4f, 0x72, 0x85, 0x55, 0xde, 0x2f, 0xb0, 0x8b, 0xdf, 0x93, 0x60, 0x56, 0x5c, 0x98, 0x5a, 0x81,
0xb3, 0x36, 0x00, 0x34, 0xcb, 0xb2, 0xfd, 0xb0, 0xbb, 0x86, 0x43, 0x79, 0x08, 0xb7, 0x5c, 0x09,
0x40, 0x4a, 0x88, 0x60, 0xa1, 0x0b, 0xd0, 0xef, 0x39, 0xd4, 0x6d, 0xa7, 0x21, 0xc7, 0xbf, 0x80,
0xd0, 0xcf, 0x68, 0xec, 0x8a, 0x0d, 0x4c, 0x44, 0x6e, 0x56, 0x68, 0x1e, 0xd2, 0xbb, 0xb8, 0x63,
0x58, 0xfc, 0x5d, 0x93, 0x35, 0xc4, 0x5b, 0x6d, 0x2a, 0x78, 0xab, 0x5d, 0xb9, 0x01, 0x73, 0xba,
0xdd, 0x1d, 0x34, 0x77, 0x45, 0x1e, 0xb8, 0xe6, 0x7b, 0x9f, 0x90, 0x3e, 0x0d, 0xfd, 0x12, 0xf3,
0x4b, 0x89, 0xe4, 0x5a, 0x63, 0xe5, 0x2b, 0x89, 0x85, 0x35, 0x86, 0x6b, 0x88, 0x69, 0x2a, 0xb8,
0x6d, 0x62, 0x9d, 0x98, 0x0e, 0xdf, 0x7f, 0x02, 0x3e, 0xd2, 0x31, 0xfc, 0xbd, 0xde, 0xee, 0xb2,
0x6e, 0x77, 0xcf, 0x77, 0xec, 0x8e, 0xdd, 0xff, 0x6c, 0x48, 0x5a, 0xb4, 0x41, 0x7f, 0xf1, 0x4f,
0x87, 0xd9, 0x40, 0xba, 0x10, 0xfb, 0x9d, 0xb1, 0xbc, 0x09, 0x73, 0x5c, 0x59, 0xa5, 0xdf, 0x2e,
0xd8, 0x15, 0x02, 0x1d, 0xf9, 0xfe, 0x53, 0xfc, 0xfa, 0x9b, 0x34, 0x57, 0x2b, 0xb3, 0x1c, 0x4a,
0xfa, 0xd8, 0x2d, 0xa3, 0xac, 0xc0, 0x43, 0x11, 0x3e, 0xb6, 0x2f, 0xb1, 0x1b, 0xc3, 0xf8, 0x1d,
0xce, 0x38, 0x17, 0x62, 0x6c, 0x72, 0x68, 0xb9, 0x0a, 0xd3, 0xc7, 0xe1, 0xfa, 0x1b, 0xce, 0x95,
0xc7, 0x61, 0x92, 0x35, 0x98, 0xa1, 0x24, 0x7a, 0xcf, 0xf3, 0xed, 0x2e, 0x3d, 0xf4, 0x8e, 0xa6,
0xf9, 0xdb, 0x37, 0xd9, 0x46, 0x29, 0x10, 0x58, 0x35, 0x40, 0x95, 0xcb, 0x40, 0x3f, 0xd7, 0xb4,
0xb0, 0x6e, 0xc6, 0x30, 0xbc, 0xce, 0x0d, 0x09, 0xf4, 0xcb, 0x9f, 0x82, 0x79, 0xf2, 0x9b, 0x9e,
0x49, 0x61, 0x4b, 0xe2, 0x5f, 0xbb, 0x8a, 0xdf, 0x7b, 0x89, 0xed, 0xc5, 0xb9, 0x80, 0x20, 0x64,
0x53, 0x68, 0x15, 0x3b, 0xd8, 0xf7, 0xb1, 0xeb, 0xa9, 0x9a, 0x39, 0xca, 0xbc, 0xd0, 0x73, 0x41,
0xf1, 0x0b, 0x6f, 0x47, 0x57, 0x71, 0x8d, 0x21, 0x2b, 0xa6, 0x59, 0xde, 0x81, 0x93, 0x23, 0xa2,
0x62, 0x0c, 0xce, 0x97, 0x39, 0xe7, 0xfc, 0x50, 0x64, 0x10, 0xda, 0x06, 0x08, 0x79, 0xb0, 0x96,
0x63, 0x70, 0xfe, 0x16, 0xe7, 0x44, 0x1c, 0x2b, 0x96, 0x94, 0x30, 0x5e, 0x87, 0xd9, 0x3b, 0xd8,
0xdd, 0xb5, 0x3d, 0xfe, 0x44, 0x33, 0x06, 0xdd, 0x2b, 0x9c, 0x6e, 0x86, 0x03, 0xe9, 0x9b, 0x0d,
0xe1, 0x7a, 0x0e, 0x32, 0x6d, 0x4d, 0xc7, 0x63, 0x50, 0x7c, 0x91, 0x53, 0x4c, 0x11, 0x7d, 0x02,
0xad, 0x40, 0xbe, 0x63, 0xf3, 0xb4, 0x14, 0x0f, 0x7f, 0x95, 0xc3, 0x73, 0x02, 0xc3, 0x29, 0x1c,
0xdb, 0xe9, 0x99, 0x24, 0x67, 0xc5, 0x53, 0xfc, 0xb6, 0xa0, 0x10, 0x18, 0x4e, 0x71, 0x0c, 0xb7,
0xfe, 0x8e, 0xa0, 0xf0, 0x42, 0xfe, 0x7c, 0x1e, 0x72, 0xb6, 0x65, 0xee, 0xdb, 0xd6, 0x38, 0x46,
0xfc, 0x2e, 0x67, 0x00, 0x0e, 0x21, 0x04, 0x57, 0x21, 0x3b, 0xee, 0x42, 0xfc, 0xde, 0xdb, 0x62,
0x7b, 0x88, 0x15, 0x58, 0x83, 0x19, 0x71, 0x40, 0x19, 0xb6, 0x35, 0x06, 0xc5, 0xef, 0x73, 0x8a,
0x42, 0x08, 0xc6, 0xa7, 0xe1, 0x63, 0xcf, 0xef, 0xe0, 0x71, 0x48, 0x5e, 0x13, 0xd3, 0xe0, 0x10,
0xee, 0xca, 0x5d, 0x6c, 0xe9, 0x7b, 0xe3, 0x31, 0x7c, 0x59, 0xb8, 0x52, 0x60, 0x08, 0x45, 0x15,
0xa6, 0xbb, 0x9a, 0xeb, 0xed, 0x69, 0xe6, 0x58, 0xcb, 0xf1, 0x07, 0x9c, 0x23, 0x1f, 0x80, 0xb8,
0x47, 0x7a, 0xd6, 0x71, 0x68, 0xbe, 0x22, 0x3c, 0x12, 0x82, 0xf1, 0xad, 0xe7, 0xf9, 0xf4, 0x3d,
0xeb, 0x38, 0x6c, 0x5f, 0x15, 0x5b, 0x8f, 0x61, 0x37, 0xc2, 0x8c, 0x57, 0x21, 0xeb, 0x19, 0xf7,
0xc6, 0xa2, 0xf9, 0x43, 0xb1, 0xd2, 0x14, 0x40, 0xc0, 0x37, 0xe1, 0xd4, 0xc8, 0x34, 0x31, 0x06,
0xd9, 0x1f, 0x71, 0xb2, 0x13, 0x23, 0x52, 0x05, 0x3f, 0x12, 0x8e, 0x4b, 0xf9, 0xc7, 0xe2, 0x48,
0xc0, 0x03, 0x5c, 0x0d, 0x72, 0x51, 0xf0, 0xb4, 0xf6, 0xf1, 0xbc, 0xf6, 0x27, 0xc2, 0x6b, 0x0c,
0x1b, 0xf1, 0xda, 0x36, 0x9c, 0xe0, 0x8c, 0xc7, 0x5b, 0xd7, 0xaf, 0x89, 0x83, 0x95, 0xa1, 0x77,
0xa2, 0xab, 0xfb, 0x93, 0xb0, 0x10, 0xb8, 0x53, 0x54, 0xa4, 0x9e, 0xda, 0xd5, 0x9c, 0x31, 0x98,
0xbf, 0xce, 0x99, 0xc5, 0x89, 0x1f, 0x94, 0xb4, 0xde, 0x86, 0xe6, 0x10, 0xf2, 0x1b, 0x50, 0x14,
0xe4, 0x3d, 0xcb, 0xc5, 0xba, 0xdd, 0xb1, 0x8c, 0x7b, 0xb8, 0x35, 0x06, 0xf5, 0x9f, 0x0e, 0x2c,
0xd5, 0x4e, 0x08, 0x4e, 0x98, 0xeb, 0x20, 0x07, 0xb5, 0x8a, 0x6a, 0x74, 0x1d, 0xdb, 0xf5, 0x63,
0x18, 0xbf, 0x21, 0x56, 0x2a, 0xc0, 0xd5, 0x29, 0xac, 0x5c, 0x83, 0x02, 0x6d, 0x8e, 0x1b, 0x92,
0x7f, 0xc6, 0x89, 0xa6, 0xfb, 0x28, 0x7e, 0x70, 0xe8, 0x76, 0xd7, 0xd1, 0xdc, 0x71, 0xce, 0xbf,
0x3f, 0x17, 0x07, 0x07, 0x87, 0xf0, 0x83, 0xc3, 0xdf, 0x77, 0x30, 0xc9, 0xf6, 0x63, 0x30, 0x7c,
0x53, 0x1c, 0x1c, 0x02, 0xc3, 0x29, 0x44, 0xc1, 0x30, 0x06, 0xc5, 0x5f, 0x08, 0x0a, 0x81, 0x21,
0x14, 0x9f, 0xec, 0x27, 0x5a, 0x17, 0x77, 0x0c, 0xcf, 0x77, 0x59, 0x1d, 0x7c, 0x34, 0xd5, 0xb7,
0xde, 0x8e, 0x16, 0x61, 0x4a, 0x08, 0x5a, 0xbe, 0x0e, 0x33, 0x03, 0x25, 0x06, 0x8a, 0xfb, 0xdf,
0x8f, 0xe2, 0x4f, 0xbf, 0xcb, 0x0f, 0xa3, 0x68, 0x85, 0x51, 0x5e, 0x27, 0xeb, 0x1e, 0xad, 0x03,
0xe2, 0xc9, 0x5e, 0x7a, 0x37, 0x58, 0xfa, 0x48, 0x19, 0x50, 0xbe, 0x06, 0xd3, 0x91, 0x1a, 0x20,
0x9e, 0xea, 0xb3, 0x9c, 0x2a, 0x1f, 0x2e, 0x01, 0xca, 0x97, 0x20, 0x45, 0xf2, 0x79, 0x3c, 0xfc,
0x67, 0x38, 0x9c, 0xaa, 0x97, 0x3f, 0x06, 0x19, 0x91, 0xc7, 0xe3, 0xa1, 0x3f, 0xcb, 0xa1, 0x01,
0x84, 0xc0, 0x45, 0x0e, 0x8f, 0x87, 0xff, 0x9c, 0x80, 0x0b, 0x08, 0x81, 0x8f, 0xef, 0xc2, 0x6f,
0xff, 0x42, 0x8a, 0x9f, 0xc3, 0xc2, 0x77, 0x57, 0x61, 0x8a, 0x27, 0xef, 0x78, 0xf4, 0xe7, 0xf8,
0xe0, 0x02, 0x51, 0x7e, 0x16, 0xd2, 0x63, 0x3a, 0xfc, 0x17, 0x39, 0x94, 0xe9, 0x97, 0xab, 0x90,
0x0b, 0x25, 0xec, 0x78, 0xf8, 0x2f, 0x71, 0x78, 0x18, 0x45, 0x4c, 0xe7, 0x09, 0x3b, 0x9e, 0xe0,
0x97, 0x85, 0xe9, 0x1c, 0x41, 0xdc, 0x26, 0x72, 0x75, 0x3c, 0xfa, 0x57, 0x84, 0xd7, 0x05, 0xa4,
0xfc, 0x3c, 0x64, 0x83, 0xf3, 0x37, 0x1e, 0xff, 0xab, 0x1c, 0xdf, 0xc7, 0x10, 0x0f, 0x84, 0xce,
0xff, 0x78, 0x8a, 0x5f, 0x13, 0x1e, 0x08, 0xa1, 0xc8, 0x36, 0x1a, 0xcc, 0xe9, 0xf1, 0x4c, 0xbf,
0x2e, 0xb6, 0xd1, 0x40, 0x4a, 0x27, 0xab, 0x49, 0x8f, 0xc1, 0x78, 0x8a, 0xdf, 0x10, 0xab, 0x49,
0xf5, 0x89, 0x19, 0x83, 0x49, 0x32, 0x9e, 0xe3, 0x37, 0x85, 0x19, 0x03, 0x39, 0xb2, 0xdc, 0x00,
0x34, 0x9c, 0x20, 0xe3, 0xf9, 0x3e, 0xcf, 0xf9, 0x66, 0x87, 0xf2, 0x63, 0xf9, 0x05, 0x38, 0x31,
0x3a, 0x39, 0xc6, 0xb3, 0x7e, 0xe1, 0xdd, 0x81, 0xeb, 0x4c, 0x38, 0x37, 0x96, 0xb7, 0xfb, 0xa7,
0x6c, 0x38, 0x31, 0xc6, 0xd3, 0xbe, 0xfc, 0x6e, 0xf4, 0xa0, 0x0d, 0xe7, 0xc5, 0x72, 0x05, 0xa0,
0x9f, 0x93, 0xe2, 0xb9, 0x5e, 0xe1, 0x5c, 0x21, 0x10, 0xd9, 0x1a, 0x3c, 0x25, 0xc5, 0xe3, 0xbf,
0x28, 0xb6, 0x06, 0x47, 0x90, 0xad, 0x21, 0xb2, 0x51, 0x3c, 0xfa, 0x55, 0xb1, 0x35, 0x04, 0xa4,
0x7c, 0x15, 0x32, 0x56, 0xcf, 0x34, 0x49, 0x6c, 0xa1, 0xa3, 0xff, 0x9d, 0xa9, 0xf8, 0xaf, 0xef,
0x71, 0xb0, 0x00, 0x94, 0x2f, 0x41, 0x1a, 0x77, 0x77, 0x71, 0x2b, 0x0e, 0xf9, 0x6f, 0xef, 0x89,
0xf3, 0x84, 0x68, 0x97, 0x9f, 0x07, 0x60, 0x97, 0x69, 0xfa, 0x95, 0x28, 0x06, 0xfb, 0xef, 0xef,
0xf1, 0xff, 0x94, 0xe8, 0x43, 0xfa, 0x04, 0xec, 0xff, 0x2e, 0x8e, 0x26, 0x78, 0x3b, 0x4a, 0x40,
0x2f, 0xe0, 0xcf, 0xc1, 0xd4, 0x2d, 0xcf, 0xb6, 0x7c, 0xad, 0x13, 0x87, 0xfe, 0x0f, 0x8e, 0x16,
0xfa, 0xc4, 0x61, 0x5d, 0xdb, 0xc5, 0xbe, 0xd6, 0xf1, 0xe2, 0xb0, 0xff, 0xc9, 0xb1, 0x01, 0x80,
0x80, 0x75, 0xcd, 0xf3, 0xc7, 0x99, 0xf7, 0x7f, 0x09, 0xb0, 0x00, 0x10, 0xa3, 0xc9, 0xef, 0xdb,
0x78, 0x3f, 0x0e, 0xfb, 0x8e, 0x30, 0x9a, 0xeb, 0x97, 0x3f, 0x06, 0x59, 0xf2, 0x93, 0xfd, 0xf7,
0x50, 0x0c, 0xf8, 0xbf, 0x39, 0xb8, 0x8f, 0x20, 0x23, 0x7b, 0x7e, 0xcb, 0x37, 0xe2, 0x9d, 0xfd,
0x3f, 0x7c, 0xa5, 0x85, 0x7e, 0xb9, 0x02, 0x39, 0xcf, 0x6f, 0xb5, 0x7a, 0xbc, 0xa2, 0x89, 0x81,
0x7f, 0xff, 0xbd, 0xe0, 0x92, 0x1b, 0x60, 0x56, 0xce, 0x8e, 0x7e, 0xac, 0x83, 0x35, 0x7b, 0xcd,
0x66, 0xcf, 0x74, 0xf0, 0xbf, 0x29, 0x98, 0x09, 0xcc, 0x15, 0xef, 0x6a, 0x81, 0x60, 0xe1, 0x78,
0x2f, 0x72, 0x8b, 0x7f, 0x9d, 0x84, 0x4c, 0x55, 0xf3, 0x7c, 0xed, 0xae, 0xb6, 0x8f, 0x1c, 0x98,
0x23, 0xbf, 0x37, 0x34, 0x87, 0xbe, 0xef, 0xf0, 0x0d, 0xc5, 0x5f, 0x3c, 0x3f, 0xbc, 0xdc, 0x1f,
0x55, 0x20, 0x96, 0x47, 0xa8, 0xd3, 0x2f, 0xc5, 0x2b, 0xf2, 0xeb, 0xff, 0x78, 0x7a, 0xe2, 0xe7,
0xff, 0xe9, 0x74, 0x66, 0x63, 0xff, 0x05, 0xc3, 0xf4, 0x6c, 0x4b, 0x19, 0x45, 0x8d, 0x3e, 0x2b,
0xc1, 0xc3, 0x23, 0xe4, 0x9b, 0x7c, 0xd7, 0xf1, 0xef, 0x06, 0x17, 0xc7, 0x1c, 0x5a, 0xc0, 0x98,
0x09, 0xf9, 0xc8, 0xf0, 0x47, 0x0d, 0xb3, 0x70, 0x13, 0x8a, 0x87, 0xcd, 0x04, 0xc9, 0x90, 0xbc,
0x8d, 0xf7, 0xf9, 0x7f, 0xc4, 0x92, 0x9f, 0xe8, 0x5c, 0xff, 0x7f, 0xda, 0xa4, 0xa5, 0xdc, 0x85,
0xd9, 0x90, 0x75, 0x7c, 0x30, 0xd6, 0x5f, 0x4e, 0x5c, 0x91, 0x16, 0x34, 0x38, 0x13, 0x67, 0xe9,
0xff, 0x73, 0x88, 0xc5, 0x12, 0x4c, 0x32, 0x21, 0x9a, 0x87, 0x74, 0xdd, 0xf2, 0x2f, 0x5f, 0xa4,
0x54, 0x49, 0x85, 0x35, 0x56, 0xd6, 0x5f, 0x7f, 0x50, 0x9a, 0xf8, 0xee, 0x83, 0xd2, 0xc4, 0xdf,
0x3f, 0x28, 0x4d, 0xbc, 0xf1, 0xa0, 0x24, 0xbd, 0xf5, 0xa0, 0x24, 0xbd, 0xf3, 0xa0, 0x24, 0xfd,
0xe0, 0x41, 0x49, 0xba, 0x7f, 0x50, 0x92, 0xbe, 0x7c, 0x50, 0x92, 0xbe, 0x76, 0x50, 0x92, 0xbe,
0x75, 0x50, 0x92, 0xbe, 0x7d, 0x50, 0x92, 0x5e, 0x3f, 0x28, 0x4d, 0x7c, 0xf7, 0xa0, 0x34, 0xf1,
0xc6, 0x41, 0x49, 0x7a, 0xeb, 0xa0, 0x34, 0xf1, 0xce, 0x41, 0x49, 0xfa, 0xc1, 0x41, 0x69, 0xe2,
0xfe, 0x3f, 0x97, 0x26, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x07, 0x8f, 0xbf, 0x9f, 0x24, 0x32,
0x00, 0x00,
}
r := bytes.NewReader(gzipped)
gzipr, err := compress_gzip.NewReader(r)
if err != nil {
panic(err)
}
ungzipped, err := io_ioutil.ReadAll(gzipr)
if err != nil {
panic(err)
}
if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
panic(err)
}
return d
}
func (this *Castaway) VerboseEqual(that interface{}) error {
if that == nil {
if this == nil {
return nil
}
return fmt.Errorf("that == nil && this != nil")
}
that1, ok := that.(*Castaway)
if !ok {
that2, ok := that.(Castaway)
if ok {
that1 = &that2
} else {
return fmt.Errorf("that is not of type *Castaway")
}
}
if that1 == nil {
if this == nil {
return nil
}
return fmt.Errorf("that is type *Castaway but is nil && this != nil")
} else if this == nil {
return fmt.Errorf("that is type *Castaway but is not nil && this == nil")
}
if len(this.CastMapValueMessage) != len(that1.CastMapValueMessage) {
return fmt.Errorf("CastMapValueMessage this(%v) Not Equal that(%v)", len(this.CastMapValueMessage), len(that1.CastMapValueMessage))
}
for i := range this.CastMapValueMessage {
a := (Wilson)(this.CastMapValueMessage[i])
b := (Wilson)(that1.CastMapValueMessage[i])
if !(&a).Equal(&b) {
return fmt.Errorf("CastMapValueMessage this[%v](%v) Not Equal that[%v](%v)", i, this.CastMapValueMessage[i], i, that1.CastMapValueMessage[i])
}
}
if len(this.CastMapValueMessageNullable) != len(that1.CastMapValueMessageNullable) {
return fmt.Errorf("CastMapValueMessageNullable this(%v) Not Equal that(%v)", len(this.CastMapValueMessageNullable), len(that1.CastMapValueMessageNullable))
}
for i := range this.CastMapValueMessageNullable {
a := (*Wilson)(this.CastMapValueMessageNullable[i])
b := (*Wilson)(that1.CastMapValueMessageNullable[i])
if !a.Equal(b) {
return fmt.Errorf("CastMapValueMessageNullable this[%v](%v) Not Equal that[%v](%v)", i, this.CastMapValueMessageNullable[i], i, that1.CastMapValueMessageNullable[i])
}
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
}
return nil
}
func (this *Castaway) Equal(that interface{}) bool {
if that == nil {
if this == nil {
return true
}
return false
}
that1, ok := that.(*Castaway)
if !ok {
that2, ok := that.(Castaway)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
if this == nil {
return true
}
return false
} else if this == nil {
return false
}
if len(this.CastMapValueMessage) != len(that1.CastMapValueMessage) {
return false
}
for i := range this.CastMapValueMessage {
a := (Wilson)(this.CastMapValueMessage[i])
b := (Wilson)(that1.CastMapValueMessage[i])
if !(&a).Equal(&b) {
return false
}
}
if len(this.CastMapValueMessageNullable) != len(that1.CastMapValueMessageNullable) {
return false
}
for i := range this.CastMapValueMessageNullable {
a := (*Wilson)(this.CastMapValueMessageNullable[i])
b := (*Wilson)(that1.CastMapValueMessageNullable[i])
if !a.Equal(b) {
return false
}
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return false
}
return true
}
func (this *Wilson) VerboseEqual(that interface{}) error {
if that == nil {
if this == nil {
return nil
}
return fmt.Errorf("that == nil && this != nil")
}
that1, ok := that.(*Wilson)
if !ok {
that2, ok := that.(Wilson)
if ok {
that1 = &that2
} else {
return fmt.Errorf("that is not of type *Wilson")
}
}
if that1 == nil {
if this == nil {
return nil
}
return fmt.Errorf("that is type *Wilson but is nil && this != nil")
} else if this == nil {
return fmt.Errorf("that is type *Wilson but is not nil && this == nil")
}
if this.Int64 != nil && that1.Int64 != nil {
if *this.Int64 != *that1.Int64 {
return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", *this.Int64, *that1.Int64)
}
} else if this.Int64 != nil {
return fmt.Errorf("this.Int64 == nil && that.Int64 != nil")
} else if that1.Int64 != nil {
return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", this.Int64, that1.Int64)
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
}
return nil
}
func (this *Wilson) Equal(that interface{}) bool {
if that == nil {
if this == nil {
return true
}
return false
}
that1, ok := that.(*Wilson)
if !ok {
that2, ok := that.(Wilson)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
if this == nil {
return true
}
return false
} else if this == nil {
return false
}
if this.Int64 != nil && that1.Int64 != nil {
if *this.Int64 != *that1.Int64 {
return false
}
} else if this.Int64 != nil {
return false
} else if that1.Int64 != nil {
return false
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return false
}
return true
}
type CastawayFace interface {
Proto() github_com_gogo_protobuf_proto.Message
GetCastMapValueMessage() map[int32]MyWilson
GetCastMapValueMessageNullable() map[int32]*MyWilson
}
func (this *Castaway) Proto() github_com_gogo_protobuf_proto.Message {
return this
}
func (this *Castaway) TestProto() github_com_gogo_protobuf_proto.Message {
return NewCastawayFromFace(this)
}
func (this *Castaway) GetCastMapValueMessage() map[int32]MyWilson {
return this.CastMapValueMessage
}
func (this *Castaway) GetCastMapValueMessageNullable() map[int32]*MyWilson {
return this.CastMapValueMessageNullable
}
func NewCastawayFromFace(that CastawayFace) *Castaway {
this := &Castaway{}
this.CastMapValueMessage = that.GetCastMapValueMessage()
this.CastMapValueMessageNullable = that.GetCastMapValueMessageNullable()
return this
}
type WilsonFace interface {
Proto() github_com_gogo_protobuf_proto.Message
GetInt64() *int64
}
func (this *Wilson) Proto() github_com_gogo_protobuf_proto.Message {
return this
}
func (this *Wilson) TestProto() github_com_gogo_protobuf_proto.Message {
return NewWilsonFromFace(this)
}
func (this *Wilson) GetInt64() *int64 {
return this.Int64
}
func NewWilsonFromFace(that WilsonFace) *Wilson {
this := &Wilson{}
this.Int64 = that.GetInt64()
return this
}
func (this *Castaway) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 6)
s = append(s, "&castvalue.Castaway{")
keysForCastMapValueMessage := make([]int32, 0, len(this.CastMapValueMessage))
for k := range this.CastMapValueMessage {
keysForCastMapValueMessage = append(keysForCastMapValueMessage, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessage)
mapStringForCastMapValueMessage := "map[int32]MyWilson{"
for _, k := range keysForCastMapValueMessage {
mapStringForCastMapValueMessage += fmt.Sprintf("%#v: %#v,", k, this.CastMapValueMessage[k])
}
mapStringForCastMapValueMessage += "}"
if this.CastMapValueMessage != nil {
s = append(s, "CastMapValueMessage: "+mapStringForCastMapValueMessage+",\n")
}
keysForCastMapValueMessageNullable := make([]int32, 0, len(this.CastMapValueMessageNullable))
for k := range this.CastMapValueMessageNullable {
keysForCastMapValueMessageNullable = append(keysForCastMapValueMessageNullable, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessageNullable)
mapStringForCastMapValueMessageNullable := "map[int32]*MyWilson{"
for _, k := range keysForCastMapValueMessageNullable {
mapStringForCastMapValueMessageNullable += fmt.Sprintf("%#v: %#v,", k, this.CastMapValueMessageNullable[k])
}
mapStringForCastMapValueMessageNullable += "}"
if this.CastMapValueMessageNullable != nil {
s = append(s, "CastMapValueMessageNullable: "+mapStringForCastMapValueMessageNullable+",\n")
}
if this.XXX_unrecognized != nil {
s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *Wilson) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 5)
s = append(s, "&castvalue.Wilson{")
if this.Int64 != nil {
s = append(s, "Int64: "+valueToGoStringCastvalue(this.Int64, "int64")+",\n")
}
if this.XXX_unrecognized != nil {
s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func valueToGoStringCastvalue(v interface{}, typ string) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func NewPopulatedCastaway(r randyCastvalue, easy bool) *Castaway {
this := &Castaway{}
if r.Intn(10) != 0 {
v1 := r.Intn(10)
this.CastMapValueMessage = make(map[int32]MyWilson)
for i := 0; i < v1; i++ {
this.CastMapValueMessage[int32(r.Int31())] = (MyWilson)(*NewPopulatedWilson(r, easy))
}
}
if r.Intn(10) != 0 {
v2 := r.Intn(10)
this.CastMapValueMessageNullable = make(map[int32]*MyWilson)
for i := 0; i < v2; i++ {
this.CastMapValueMessageNullable[int32(r.Int31())] = (*MyWilson)(NewPopulatedWilson(r, easy))
}
}
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedCastvalue(r, 3)
}
return this
}
func NewPopulatedWilson(r randyCastvalue, easy bool) *Wilson {
this := &Wilson{}
if r.Intn(10) != 0 {
v3 := int64(r.Int63())
if r.Intn(2) == 0 {
v3 *= -1
}
this.Int64 = &v3
}
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedCastvalue(r, 2)
}
return this
}
type randyCastvalue interface {
Float32() float32
Float64() float64
Int63() int64
Int31() int32
Uint32() uint32
Intn(n int) int
}
func randUTF8RuneCastvalue(r randyCastvalue) rune {
ru := r.Intn(62)
if ru < 10 {
return rune(ru + 48)
} else if ru < 36 {
return rune(ru + 55)
}
return rune(ru + 61)
}
func randStringCastvalue(r randyCastvalue) string {
v4 := r.Intn(100)
tmps := make([]rune, v4)
for i := 0; i < v4; i++ {
tmps[i] = randUTF8RuneCastvalue(r)
}
return string(tmps)
}
func randUnrecognizedCastvalue(r randyCastvalue, maxFieldNumber int) (dAtA []byte) {
l := r.Intn(5)
for i := 0; i < l; i++ {
wire := r.Intn(4)
if wire == 3 {
wire = 5
}
fieldNumber := maxFieldNumber + r.Intn(100)
dAtA = randFieldCastvalue(dAtA, r, fieldNumber, wire)
}
return dAtA
}
func randFieldCastvalue(dAtA []byte, r randyCastvalue, fieldNumber int, wire int) []byte {
key := uint32(fieldNumber)<<3 | uint32(wire)
switch wire {
case 0:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
v5 := r.Int63()
if r.Intn(2) == 0 {
v5 *= -1
}
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(v5))
case 1:
dAtA = encodeVarintPopulateCastvalue(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)))
case 2:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
ll := r.Intn(100)
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(ll))
for j := 0; j < ll; j++ {
dAtA = append(dAtA, byte(r.Intn(256)))
}
default:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
}
return dAtA
}
func encodeVarintPopulateCastvalue(dAtA []byte, v uint64) []byte {
for v >= 1<<7 {
dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
v >>= 7
}
dAtA = append(dAtA, uint8(v))
return dAtA
}
func (m *Castaway) Size() (n int) {
var l int
_ = l
if len(m.CastMapValueMessage) > 0 {
for k, v := range m.CastMapValueMessage {
_ = k
_ = v
l = ((*Wilson)(&v)).Size()
mapEntrySize := 1 + sovCastvalue(uint64(k)) + 1 + l + sovCastvalue(uint64(l))
n += mapEntrySize + 1 + sovCastvalue(uint64(mapEntrySize))
}
}
if len(m.CastMapValueMessageNullable) > 0 {
for k, v := range m.CastMapValueMessageNullable {
_ = k
_ = v
l = 0
if v != nil {
l = ((*Wilson)(v)).Size()
l += 1 + sovCastvalue(uint64(l))
}
mapEntrySize := 1 + sovCastvalue(uint64(k)) + l
n += mapEntrySize + 1 + sovCastvalue(uint64(mapEntrySize))
}
}
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
return n
}
func (m *Wilson) Size() (n int) {
var l int
_ = l
if m.Int64 != nil {
n += 1 + sovCastvalue(uint64(*m.Int64))
}
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
return n
}
func sovCastvalue(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozCastvalue(x uint64) (n int) {
return sovCastvalue(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Castaway) String() string {
if this == nil {
return "nil"
}
keysForCastMapValueMessage := make([]int32, 0, len(this.CastMapValueMessage))
for k := range this.CastMapValueMessage {
keysForCastMapValueMessage = append(keysForCastMapValueMessage, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessage)
mapStringForCastMapValueMessage := "map[int32]MyWilson{"
for _, k := range keysForCastMapValueMessage {
mapStringForCastMapValueMessage += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessage[k])
}
mapStringForCastMapValueMessage += "}"
keysForCastMapValueMessageNullable := make([]int32, 0, len(this.CastMapValueMessageNullable))
for k := range this.CastMapValueMessageNullable {
keysForCastMapValueMessageNullable = append(keysForCastMapValueMessageNullable, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessageNullable)
mapStringForCastMapValueMessageNullable := "map[int32]*MyWilson{"
for _, k := range keysForCastMapValueMessageNullable {
mapStringForCastMapValueMessageNullable += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessageNullable[k])
}
mapStringForCastMapValueMessageNullable += "}"
s := strings.Join([]string{`&Castaway{`,
`CastMapValueMessage:` + mapStringForCastMapValueMessage + `,`,
`CastMapValueMessageNullable:` + mapStringForCastMapValueMessageNullable + `,`,
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
`}`,
}, "")
return s
}
func (this *Wilson) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Wilson{`,
`Int64:` + valueToStringCastvalue(this.Int64) + `,`,
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
`}`,
}, "")
return s
}
func valueToStringCastvalue(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func init() { proto.RegisterFile("castvalue.proto", fileDescriptorCastvalue) }
var fileDescriptorCastvalue = []byte{
// 342 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x4e, 0x2c, 0x2e,
0x29, 0x4b, 0xcc, 0x29, 0x4d, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x0b, 0x48,
0xe9, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7,
0xeb, 0x83, 0x55, 0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa9, 0x74, 0x90,
0x99, 0x8b, 0xc3, 0x39, 0xb1, 0xb8, 0x24, 0xb1, 0x3c, 0xb1, 0x52, 0xa8, 0x80, 0x4b, 0x18, 0xc4,
0xf6, 0x4d, 0x2c, 0x08, 0x03, 0x99, 0xe5, 0x9b, 0x5a, 0x5c, 0x9c, 0x98, 0x9e, 0x2a, 0xc1, 0xa8,
0xc0, 0xac, 0xc1, 0x6d, 0xa4, 0xa3, 0x87, 0xb0, 0x15, 0xa6, 0x43, 0x0f, 0x8b, 0x72, 0xd7, 0xbc,
0x92, 0xa2, 0x4a, 0x27, 0x81, 0x13, 0xf7, 0xe4, 0x19, 0xba, 0xee, 0xcb, 0x73, 0xf8, 0x56, 0x86,
0x67, 0xe6, 0x14, 0xe7, 0xe7, 0x05, 0x61, 0x33, 0x5a, 0xa8, 0x85, 0x91, 0x4b, 0x1a, 0x8b, 0xb8,
0x5f, 0x69, 0x4e, 0x4e, 0x62, 0x52, 0x4e, 0xaa, 0x04, 0x13, 0xd8, 0x6a, 0x13, 0x22, 0xad, 0x86,
0x69, 0x83, 0x38, 0x81, 0x07, 0xc5, 0x7a, 0x7c, 0xd6, 0x48, 0x45, 0x72, 0x49, 0xe0, 0xf2, 0x89,
0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x88, 0x29,
0xa4, 0xce, 0xc5, 0x0a, 0x76, 0x8b, 0x04, 0x93, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x20, 0x92, 0xeb,
0xa0, 0x96, 0x41, 0xe4, 0xad, 0x98, 0x2c, 0x18, 0xa5, 0x12, 0xb9, 0x14, 0x08, 0xb9, 0x94, 0x42,
0x2b, 0x94, 0xe4, 0xb8, 0xd8, 0x20, 0x82, 0x42, 0x22, 0x5c, 0xac, 0x9e, 0x79, 0x25, 0x66, 0x26,
0x60, 0xa3, 0x98, 0x83, 0x20, 0x1c, 0x27, 0x9f, 0x13, 0x0f, 0xe5, 0x18, 0x2e, 0x3c, 0x94, 0x63,
0xb8, 0xf1, 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x17, 0x0f, 0xe5, 0x18, 0x3f, 0x3c, 0x94,
0x63, 0xfc, 0xf1, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x1b, 0x1e,
0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe0, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x0c, 0x17,
0x1e, 0xc9, 0x31, 0x3c, 0x78, 0x24, 0xc7, 0xf8, 0xe2, 0x91, 0x1c, 0xc3, 0x87, 0x47, 0x72, 0x8c,
0x3f, 0x1e, 0xc9, 0x31, 0x34, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x8b,
0x19, 0x68, 0x7d, 0x02, 0x00, 0x00,
}

View File

@ -0,0 +1,66 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2015, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto2";
package castvalue;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = true;
option (gogoproto.verbose_equal_all) = true;
option (gogoproto.stringer_all) = true;
option (gogoproto.gostring_all) = true;
option (gogoproto.face_all) = true;
option (gogoproto.description_all) = true;
option (gogoproto.testgen_all) = true;
option (gogoproto.populate_all) = true;
option (gogoproto.benchgen_all) = true;
option (gogoproto.unmarshaler_all) = false;
option (gogoproto.marshaler_all) = false;
option (gogoproto.sizer_all) = true;
option (gogoproto.goproto_enum_stringer_all) = false;
option (gogoproto.enum_stringer_all) = true;
option (gogoproto.unsafe_marshaler_all) = false;
option (gogoproto.unsafe_unmarshaler_all) = false;
message Castaway {
map<int32,Wilson> CastMapValueMessage = 1 [(gogoproto.castvalue) = "MyWilson", (gogoproto.nullable) = false];
map<int32,Wilson> CastMapValueMessageNullable = 2 [(gogoproto.castvalue) = "MyWilson"];
}
message Wilson {
optional int64 Int64 = 1;
}

View File

@ -0,0 +1,456 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import testing "testing"
import math_rand "math/rand"
import time "time"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
import fmt "fmt"
import go_parser "go/parser"
import proto "github.com/gogo/protobuf/proto"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func TestCastawayProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func BenchmarkCastawayProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkCastawayProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCastaway(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Castaway{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func BenchmarkWilsonProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkWilsonProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedWilson(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Wilson{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestWilsonJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestCastawayProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastawayProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastvalueDescription(t *testing.T) {
CastvalueDescription()
}
func TestCastawayVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestWilsonVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestCastawayFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestWilsonFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestCastawayGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestWilsonGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestCastawaySize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkCastawaySize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonSize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkWilsonSize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
func TestWilsonStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,66 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2015, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto2";
package castvalue;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = true;
option (gogoproto.verbose_equal_all) = true;
option (gogoproto.stringer_all) = true;
option (gogoproto.gostring_all) = true;
option (gogoproto.face_all) = true;
option (gogoproto.description_all) = true;
option (gogoproto.testgen_all) = true;
option (gogoproto.populate_all) = true;
option (gogoproto.benchgen_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.goproto_enum_stringer_all) = false;
option (gogoproto.enum_stringer_all) = true;
option (gogoproto.unsafe_marshaler_all) = false;
option (gogoproto.unsafe_unmarshaler_all) = false;
message Castaway {
map<int32,Wilson> CastMapValueMessage = 1 [(gogoproto.castvalue) = "MyWilson", (gogoproto.nullable) = false];
map<int32,Wilson> CastMapValueMessageNullable = 2 [(gogoproto.castvalue) = "MyWilson"];
}
message Wilson {
optional int64 Int64 = 1;
}

View File

@ -0,0 +1,512 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: combos/both/castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
combos/both/castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import testing "testing"
import math_rand "math/rand"
import time "time"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
import fmt "fmt"
import go_parser "go/parser"
import proto "github.com/gogo/protobuf/proto"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func TestCastawayProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func TestCastawayMarshalTo(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
size := p.Size()
dAtA := make([]byte, size)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
_, err := p.MarshalTo(dAtA)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func BenchmarkCastawayProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkCastawayProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCastaway(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Castaway{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func TestWilsonMarshalTo(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
size := p.Size()
dAtA := make([]byte, size)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
_, err := p.MarshalTo(dAtA)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func BenchmarkWilsonProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkWilsonProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedWilson(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Wilson{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestWilsonJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestCastawayProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastawayProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastvalueDescription(t *testing.T) {
CastvalueDescription()
}
func TestCastawayVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestWilsonVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestCastawayFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestWilsonFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestCastawayGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestWilsonGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestCastawaySize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkCastawaySize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonSize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkWilsonSize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
func TestWilsonStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen

View File

@ -0,0 +1,31 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package castvalue
type MyWilson Wilson

View File

@ -0,0 +1,976 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: combos/marshaler/castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
combos/marshaler/castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import compress_gzip "compress/gzip"
import bytes "bytes"
import io_ioutil "io/ioutil"
import strings "strings"
import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package
type Castaway struct {
CastMapValueMessage map[int32]MyWilson `protobuf:"bytes,1,rep,name=CastMapValueMessage,castvalue=MyWilson,castvaluetype=castvalue.Wilson" json:"CastMapValueMessage" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
CastMapValueMessageNullable map[int32]*MyWilson `protobuf:"bytes,2,rep,name=CastMapValueMessageNullable,castvalue=MyWilson,castvaluetype=castvalue.Wilson" json:"CastMapValueMessageNullable,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Castaway) Reset() { *m = Castaway{} }
func (*Castaway) ProtoMessage() {}
func (*Castaway) Descriptor() ([]byte, []int) { return fileDescriptorCastvalue, []int{0} }
type Wilson struct {
Int64 *int64 `protobuf:"varint,1,opt,name=Int64" json:"Int64,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Wilson) Reset() { *m = Wilson{} }
func (*Wilson) ProtoMessage() {}
func (*Wilson) Descriptor() ([]byte, []int) { return fileDescriptorCastvalue, []int{1} }
func init() {
proto.RegisterType((*Castaway)(nil), "castvalue.Castaway")
proto.RegisterType((*Wilson)(nil), "castvalue.Wilson")
}
func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
return CastvalueDescription()
}
func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
return CastvalueDescription()
}
func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
var gzipped = []byte{
// 3867 bytes of a gzipped FileDescriptorSet
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0x24, 0xd7,
0x55, 0x56, 0xcf, 0x8f, 0x34, 0x73, 0x66, 0x34, 0x6a, 0x5d, 0xc9, 0xbb, 0xb3, 0x72, 0x3c, 0xab,
0x95, 0x7f, 0x56, 0xb6, 0x13, 0x29, 0xb5, 0xde, 0x5d, 0xaf, 0x67, 0x49, 0xcc, 0x68, 0x34, 0xab,
0xcc, 0xa2, 0xbf, 0xf4, 0x48, 0xf1, 0x6e, 0x78, 0xe8, 0x6a, 0xf5, 0xdc, 0x19, 0xf5, 0x6e, 0x4f,
0x77, 0xa7, 0xbb, 0x67, 0xd7, 0xda, 0xe2, 0x61, 0x29, 0x07, 0xa8, 0x40, 0x11, 0x7e, 0xab, 0x48,
0x8c, 0x63, 0x20, 0x55, 0xe0, 0x90, 0xf0, 0x93, 0x10, 0x08, 0x81, 0xa7, 0xf0, 0x10, 0xf0, 0x13,
0x95, 0xbc, 0xf1, 0x40, 0x81, 0x57, 0xb8, 0x0a, 0x03, 0x06, 0x0c, 0xf1, 0x43, 0xaa, 0xfc, 0x42,
0xdd, 0xbf, 0x9e, 0xee, 0x99, 0x91, 0x7a, 0x14, 0xca, 0xce, 0x93, 0xe6, 0x9e, 0x7b, 0xbe, 0xef,
0x9e, 0x7b, 0xee, 0xb9, 0xf7, 0x9c, 0x7b, 0x5b, 0xf0, 0xb5, 0x2b, 0x30, 0xdf, 0xb6, 0xed, 0xb6,
0x89, 0x97, 0x1d, 0xd7, 0xf6, 0xed, 0xbd, 0x6e, 0x6b, 0xb9, 0x89, 0x3d, 0xdd, 0x35, 0x1c, 0xdf,
0x76, 0x97, 0xa8, 0x0c, 0x4d, 0x31, 0x8d, 0x25, 0xa1, 0xb1, 0xb0, 0x01, 0xd3, 0xd7, 0x0c, 0x13,
0xaf, 0x06, 0x8a, 0x0d, 0xec, 0xa3, 0x2b, 0x90, 0x6a, 0x19, 0x26, 0x2e, 0x4a, 0xf3, 0xc9, 0xc5,
0xdc, 0x85, 0xc7, 0x96, 0xfa, 0x40, 0x4b, 0x51, 0xc4, 0x36, 0x11, 0x2b, 0x14, 0xb1, 0xf0, 0x66,
0x0a, 0x66, 0x86, 0xf4, 0x22, 0x04, 0x29, 0x4b, 0xeb, 0x10, 0x46, 0x69, 0x31, 0xab, 0xd0, 0xdf,
0xa8, 0x08, 0x13, 0x8e, 0xa6, 0xdf, 0xd6, 0xda, 0xb8, 0x98, 0xa0, 0x62, 0xd1, 0x44, 0x25, 0x80,
0x26, 0x76, 0xb0, 0xd5, 0xc4, 0x96, 0x7e, 0x50, 0x4c, 0xce, 0x27, 0x17, 0xb3, 0x4a, 0x48, 0x82,
0x9e, 0x86, 0x69, 0xa7, 0xbb, 0x67, 0x1a, 0xba, 0x1a, 0x52, 0x83, 0xf9, 0xe4, 0x62, 0x5a, 0x91,
0x59, 0xc7, 0x6a, 0x4f, 0xf9, 0x3c, 0x4c, 0xdd, 0xc5, 0xda, 0xed, 0xb0, 0x6a, 0x8e, 0xaa, 0x16,
0x88, 0x38, 0xa4, 0x58, 0x85, 0x7c, 0x07, 0x7b, 0x9e, 0xd6, 0xc6, 0xaa, 0x7f, 0xe0, 0xe0, 0x62,
0x8a, 0xce, 0x7e, 0x7e, 0x60, 0xf6, 0xfd, 0x33, 0xcf, 0x71, 0xd4, 0xce, 0x81, 0x83, 0x51, 0x05,
0xb2, 0xd8, 0xea, 0x76, 0x18, 0x43, 0xfa, 0x08, 0xff, 0xd5, 0xac, 0x6e, 0xa7, 0x9f, 0x25, 0x43,
0x60, 0x9c, 0x62, 0xc2, 0xc3, 0xee, 0x1d, 0x43, 0xc7, 0xc5, 0x71, 0x4a, 0x70, 0x7e, 0x80, 0xa0,
0xc1, 0xfa, 0xfb, 0x39, 0x04, 0x0e, 0x55, 0x21, 0x8b, 0x5f, 0xf4, 0xb1, 0xe5, 0x19, 0xb6, 0x55,
0x9c, 0xa0, 0x24, 0x8f, 0x0f, 0x59, 0x45, 0x6c, 0x36, 0xfb, 0x29, 0x7a, 0x38, 0x74, 0x19, 0x26,
0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0x2b, 0x66, 0xe6, 0xa5, 0xc5, 0xdc, 0x85, 0x0f, 0x0d, 0x0d, 0x84,
0x2d, 0xa6, 0xa3, 0x08, 0x65, 0x54, 0x07, 0xd9, 0xb3, 0xbb, 0xae, 0x8e, 0x55, 0xdd, 0x6e, 0x62,
0xd5, 0xb0, 0x5a, 0x76, 0x31, 0x4b, 0x09, 0xce, 0x0e, 0x4e, 0x84, 0x2a, 0x56, 0xed, 0x26, 0xae,
0x5b, 0x2d, 0x5b, 0x29, 0x78, 0x91, 0x36, 0x3a, 0x05, 0xe3, 0xde, 0x81, 0xe5, 0x6b, 0x2f, 0x16,
0xf3, 0x34, 0x42, 0x78, 0x6b, 0xe1, 0xaf, 0xc6, 0x61, 0x6a, 0x94, 0x10, 0xbb, 0x0a, 0xe9, 0x16,
0x99, 0x65, 0x31, 0x71, 0x12, 0x1f, 0x30, 0x4c, 0xd4, 0x89, 0xe3, 0x3f, 0xa2, 0x13, 0x2b, 0x90,
0xb3, 0xb0, 0xe7, 0xe3, 0x26, 0x8b, 0x88, 0xe4, 0x88, 0x31, 0x05, 0x0c, 0x34, 0x18, 0x52, 0xa9,
0x1f, 0x29, 0xa4, 0x6e, 0xc0, 0x54, 0x60, 0x92, 0xea, 0x6a, 0x56, 0x5b, 0xc4, 0xe6, 0x72, 0x9c,
0x25, 0x4b, 0x35, 0x81, 0x53, 0x08, 0x4c, 0x29, 0xe0, 0x48, 0x1b, 0xad, 0x02, 0xd8, 0x16, 0xb6,
0x5b, 0x6a, 0x13, 0xeb, 0x66, 0x31, 0x73, 0x84, 0x97, 0xb6, 0x88, 0xca, 0x80, 0x97, 0x6c, 0x26,
0xd5, 0x4d, 0xf4, 0x5c, 0x2f, 0xd4, 0x26, 0x8e, 0x88, 0x94, 0x0d, 0xb6, 0xc9, 0x06, 0xa2, 0x6d,
0x17, 0x0a, 0x2e, 0x26, 0x71, 0x8f, 0x9b, 0x7c, 0x66, 0x59, 0x6a, 0xc4, 0x52, 0xec, 0xcc, 0x14,
0x0e, 0x63, 0x13, 0x9b, 0x74, 0xc3, 0x4d, 0xf4, 0x28, 0x04, 0x02, 0x95, 0x86, 0x15, 0xd0, 0x53,
0x28, 0x2f, 0x84, 0x9b, 0x5a, 0x07, 0xcf, 0xdd, 0x83, 0x42, 0xd4, 0x3d, 0x68, 0x16, 0xd2, 0x9e,
0xaf, 0xb9, 0x3e, 0x8d, 0xc2, 0xb4, 0xc2, 0x1a, 0x48, 0x86, 0x24, 0xb6, 0x9a, 0xf4, 0x94, 0x4b,
0x2b, 0xe4, 0x27, 0xfa, 0xc9, 0xde, 0x84, 0x93, 0x74, 0xc2, 0x4f, 0x0c, 0xae, 0x68, 0x84, 0xb9,
0x7f, 0xde, 0x73, 0xcf, 0xc2, 0x64, 0x64, 0x02, 0xa3, 0x0e, 0xbd, 0xf0, 0x33, 0xf0, 0xd0, 0x50,
0x6a, 0x74, 0x03, 0x66, 0xbb, 0x96, 0x61, 0xf9, 0xd8, 0x75, 0x5c, 0x4c, 0x22, 0x96, 0x0d, 0x55,
0xfc, 0xd7, 0x89, 0x23, 0x62, 0x6e, 0x37, 0xac, 0xcd, 0x58, 0x94, 0x99, 0xee, 0xa0, 0xf0, 0xa9,
0x6c, 0xe6, 0xad, 0x09, 0xf9, 0xfe, 0xfd, 0xfb, 0xf7, 0x13, 0x0b, 0x5f, 0x18, 0x87, 0xd9, 0x61,
0x7b, 0x66, 0xe8, 0xf6, 0x3d, 0x05, 0xe3, 0x56, 0xb7, 0xb3, 0x87, 0x5d, 0xea, 0xa4, 0xb4, 0xc2,
0x5b, 0xa8, 0x02, 0x69, 0x53, 0xdb, 0xc3, 0x66, 0x31, 0x35, 0x2f, 0x2d, 0x16, 0x2e, 0x3c, 0x3d,
0xd2, 0xae, 0x5c, 0x5a, 0x27, 0x10, 0x85, 0x21, 0xd1, 0xc7, 0x21, 0xc5, 0x8f, 0x68, 0xc2, 0xf0,
0xd4, 0x68, 0x0c, 0x64, 0x2f, 0x29, 0x14, 0x87, 0x1e, 0x86, 0x2c, 0xf9, 0xcb, 0x62, 0x63, 0x9c,
0xda, 0x9c, 0x21, 0x02, 0x12, 0x17, 0x68, 0x0e, 0x32, 0x74, 0x9b, 0x34, 0xb1, 0x48, 0x6d, 0x41,
0x9b, 0x04, 0x56, 0x13, 0xb7, 0xb4, 0xae, 0xe9, 0xab, 0x77, 0x34, 0xb3, 0x8b, 0x69, 0xc0, 0x67,
0x95, 0x3c, 0x17, 0x7e, 0x8a, 0xc8, 0xd0, 0x59, 0xc8, 0xb1, 0x5d, 0x65, 0x58, 0x4d, 0xfc, 0x22,
0x3d, 0x3d, 0xd3, 0x0a, 0xdb, 0x68, 0x75, 0x22, 0x21, 0xc3, 0xdf, 0xf2, 0x6c, 0x4b, 0x84, 0x26,
0x1d, 0x82, 0x08, 0xe8, 0xf0, 0xcf, 0xf6, 0x1f, 0xdc, 0x8f, 0x0c, 0x9f, 0x5e, 0x7f, 0x4c, 0x2d,
0x7c, 0x2b, 0x01, 0x29, 0x7a, 0x5e, 0x4c, 0x41, 0x6e, 0xe7, 0xe6, 0x76, 0x4d, 0x5d, 0xdd, 0xda,
0x5d, 0x59, 0xaf, 0xc9, 0x12, 0x2a, 0x00, 0x50, 0xc1, 0xb5, 0xf5, 0xad, 0xca, 0x8e, 0x9c, 0x08,
0xda, 0xf5, 0xcd, 0x9d, 0xcb, 0x17, 0xe5, 0x64, 0x00, 0xd8, 0x65, 0x82, 0x54, 0x58, 0xe1, 0x99,
0x0b, 0x72, 0x1a, 0xc9, 0x90, 0x67, 0x04, 0xf5, 0x1b, 0xb5, 0xd5, 0xcb, 0x17, 0xe5, 0xf1, 0xa8,
0xe4, 0x99, 0x0b, 0xf2, 0x04, 0x9a, 0x84, 0x2c, 0x95, 0xac, 0x6c, 0x6d, 0xad, 0xcb, 0x99, 0x80,
0xb3, 0xb1, 0xa3, 0xd4, 0x37, 0xd7, 0xe4, 0x6c, 0xc0, 0xb9, 0xa6, 0x6c, 0xed, 0x6e, 0xcb, 0x10,
0x30, 0x6c, 0xd4, 0x1a, 0x8d, 0xca, 0x5a, 0x4d, 0xce, 0x05, 0x1a, 0x2b, 0x37, 0x77, 0x6a, 0x0d,
0x39, 0x1f, 0x31, 0xeb, 0x99, 0x0b, 0xf2, 0x64, 0x30, 0x44, 0x6d, 0x73, 0x77, 0x43, 0x2e, 0xa0,
0x69, 0x98, 0x64, 0x43, 0x08, 0x23, 0xa6, 0xfa, 0x44, 0x97, 0x2f, 0xca, 0x72, 0xcf, 0x10, 0xc6,
0x32, 0x1d, 0x11, 0x5c, 0xbe, 0x28, 0xa3, 0x85, 0x2a, 0xa4, 0x69, 0x74, 0x21, 0x04, 0x85, 0xf5,
0xca, 0x4a, 0x6d, 0x5d, 0xdd, 0xda, 0xde, 0xa9, 0x6f, 0x6d, 0x56, 0xd6, 0x65, 0xa9, 0x27, 0x53,
0x6a, 0x9f, 0xdc, 0xad, 0x2b, 0xb5, 0x55, 0x39, 0x11, 0x96, 0x6d, 0xd7, 0x2a, 0x3b, 0xb5, 0x55,
0x39, 0xb9, 0xa0, 0xc3, 0xec, 0xb0, 0x73, 0x72, 0xe8, 0xce, 0x08, 0x2d, 0x71, 0xe2, 0x88, 0x25,
0xa6, 0x5c, 0x03, 0x4b, 0xfc, 0x65, 0x09, 0x66, 0x86, 0xe4, 0x8a, 0xa1, 0x83, 0x3c, 0x0f, 0x69,
0x16, 0xa2, 0x2c, 0x7b, 0x3e, 0x39, 0x34, 0xe9, 0xd0, 0x80, 0x1d, 0xc8, 0xa0, 0x14, 0x17, 0xae,
0x20, 0x92, 0x47, 0x54, 0x10, 0x84, 0x62, 0xc0, 0xc8, 0x97, 0x24, 0x28, 0x1e, 0xc5, 0x1d, 0x73,
0x50, 0x24, 0x22, 0x07, 0xc5, 0xd5, 0x7e, 0x03, 0xce, 0x1d, 0x3d, 0x87, 0x01, 0x2b, 0x5e, 0x93,
0xe0, 0xd4, 0xf0, 0x42, 0x6b, 0xa8, 0x0d, 0x1f, 0x87, 0xf1, 0x0e, 0xf6, 0xf7, 0x6d, 0x51, 0x6c,
0x3c, 0x31, 0x24, 0x85, 0x91, 0xee, 0x7e, 0x5f, 0x71, 0x54, 0x38, 0x07, 0x26, 0x8f, 0xaa, 0x96,
0x98, 0x35, 0x03, 0x96, 0x7e, 0x2e, 0x01, 0x0f, 0x0d, 0x25, 0x1f, 0x6a, 0xe8, 0x23, 0x00, 0x86,
0xe5, 0x74, 0x7d, 0x56, 0x50, 0xb0, 0xf3, 0x29, 0x4b, 0x25, 0x74, 0xef, 0x93, 0xb3, 0xa7, 0xeb,
0x07, 0xfd, 0x49, 0xda, 0x0f, 0x4c, 0x44, 0x15, 0xae, 0xf4, 0x0c, 0x4d, 0x51, 0x43, 0x4b, 0x47,
0xcc, 0x74, 0x20, 0x57, 0x7f, 0x14, 0x64, 0xdd, 0x34, 0xb0, 0xe5, 0xab, 0x9e, 0xef, 0x62, 0xad,
0x63, 0x58, 0x6d, 0x7a, 0x00, 0x67, 0xca, 0xe9, 0x96, 0x66, 0x7a, 0x58, 0x99, 0x62, 0xdd, 0x0d,
0xd1, 0x4b, 0x10, 0x34, 0xc7, 0xb9, 0x21, 0xc4, 0x78, 0x04, 0xc1, 0xba, 0x03, 0xc4, 0xc2, 0x37,
0x33, 0x90, 0x0b, 0x95, 0xa5, 0xe8, 0x1c, 0xe4, 0x6f, 0x69, 0x77, 0x34, 0x55, 0x5c, 0x35, 0x98,
0x27, 0x72, 0x44, 0xb6, 0xcd, 0xaf, 0x1b, 0x1f, 0x85, 0x59, 0xaa, 0x62, 0x77, 0x7d, 0xec, 0xaa,
0xba, 0xa9, 0x79, 0x1e, 0x75, 0x5a, 0x86, 0xaa, 0x22, 0xd2, 0xb7, 0x45, 0xba, 0xaa, 0xa2, 0x07,
0x5d, 0x82, 0x19, 0x8a, 0xe8, 0x74, 0x4d, 0xdf, 0x70, 0x4c, 0xac, 0x92, 0xcb, 0x8f, 0x47, 0x0f,
0xe2, 0xc0, 0xb2, 0x69, 0xa2, 0xb1, 0xc1, 0x15, 0x88, 0x45, 0x1e, 0x5a, 0x85, 0x47, 0x28, 0xac,
0x8d, 0x2d, 0xec, 0x6a, 0x3e, 0x56, 0xf1, 0x67, 0xba, 0x9a, 0xe9, 0xa9, 0x9a, 0xd5, 0x54, 0xf7,
0x35, 0x6f, 0xbf, 0x38, 0x4b, 0x08, 0x56, 0x12, 0x45, 0x49, 0x39, 0x43, 0x14, 0xd7, 0xb8, 0x5e,
0x8d, 0xaa, 0x55, 0xac, 0xe6, 0x27, 0x34, 0x6f, 0x1f, 0x95, 0xe1, 0x14, 0x65, 0xf1, 0x7c, 0xd7,
0xb0, 0xda, 0xaa, 0xbe, 0x8f, 0xf5, 0xdb, 0x6a, 0xd7, 0x6f, 0x5d, 0x29, 0x3e, 0x1c, 0x1e, 0x9f,
0x5a, 0xd8, 0xa0, 0x3a, 0x55, 0xa2, 0xb2, 0xeb, 0xb7, 0xae, 0xa0, 0x06, 0xe4, 0xc9, 0x62, 0x74,
0x8c, 0x7b, 0x58, 0x6d, 0xd9, 0x2e, 0xcd, 0x2c, 0x85, 0x21, 0x3b, 0x3b, 0xe4, 0xc1, 0xa5, 0x2d,
0x0e, 0xd8, 0xb0, 0x9b, 0xb8, 0x9c, 0x6e, 0x6c, 0xd7, 0x6a, 0xab, 0x4a, 0x4e, 0xb0, 0x5c, 0xb3,
0x5d, 0x12, 0x50, 0x6d, 0x3b, 0x70, 0x70, 0x8e, 0x05, 0x54, 0xdb, 0x16, 0xee, 0xbd, 0x04, 0x33,
0xba, 0xce, 0xe6, 0x6c, 0xe8, 0x2a, 0xbf, 0xa2, 0x78, 0x45, 0x39, 0xe2, 0x2c, 0x5d, 0x5f, 0x63,
0x0a, 0x3c, 0xc6, 0x3d, 0xf4, 0x1c, 0x3c, 0xd4, 0x73, 0x56, 0x18, 0x38, 0x3d, 0x30, 0xcb, 0x7e,
0xe8, 0x25, 0x98, 0x71, 0x0e, 0x06, 0x81, 0x28, 0x32, 0xa2, 0x73, 0xd0, 0x0f, 0x7b, 0x16, 0x66,
0x9d, 0x7d, 0x67, 0x10, 0x37, 0x13, 0xc6, 0x21, 0x67, 0xdf, 0xe9, 0x07, 0x3e, 0x4e, 0xef, 0xab,
0x2e, 0xd6, 0x35, 0x1f, 0x37, 0x8b, 0xa7, 0xc3, 0xea, 0xa1, 0x0e, 0xb4, 0x0c, 0xb2, 0xae, 0xab,
0xd8, 0xd2, 0xf6, 0x4c, 0xac, 0x6a, 0x2e, 0xb6, 0x34, 0xaf, 0x78, 0x36, 0xac, 0x5c, 0xd0, 0xf5,
0x1a, 0xed, 0xad, 0xd0, 0x4e, 0xf4, 0x14, 0x4c, 0xdb, 0x7b, 0xb7, 0x74, 0x16, 0x92, 0xaa, 0xe3,
0xe2, 0x96, 0xf1, 0x62, 0xf1, 0x31, 0xea, 0xdf, 0x29, 0xd2, 0x41, 0x03, 0x72, 0x9b, 0x8a, 0xd1,
0x93, 0x20, 0xeb, 0xde, 0xbe, 0xe6, 0x3a, 0xb4, 0x26, 0xf0, 0x1c, 0x4d, 0xc7, 0xc5, 0xc7, 0x99,
0x2a, 0x93, 0x6f, 0x0a, 0x31, 0xd9, 0x12, 0xde, 0x5d, 0xa3, 0xe5, 0x0b, 0xc6, 0xf3, 0x6c, 0x4b,
0x50, 0x19, 0x67, 0x5b, 0x04, 0x99, 0xb8, 0x22, 0x32, 0xf0, 0x22, 0x55, 0x2b, 0x38, 0xfb, 0x4e,
0x78, 0xdc, 0x47, 0x61, 0x92, 0x68, 0xf6, 0x06, 0x7d, 0x92, 0xd5, 0x33, 0xce, 0x7e, 0x68, 0xc4,
0xf7, 0xad, 0xb4, 0x5c, 0x28, 0x43, 0x3e, 0x1c, 0x9f, 0x28, 0x0b, 0x2c, 0x42, 0x65, 0x89, 0xe4,
0xfa, 0xea, 0xd6, 0x2a, 0xc9, 0xd2, 0x9f, 0xae, 0xc9, 0x09, 0x52, 0x2d, 0xac, 0xd7, 0x77, 0x6a,
0xaa, 0xb2, 0xbb, 0xb9, 0x53, 0xdf, 0xa8, 0xc9, 0xc9, 0x70, 0x59, 0xfa, 0xdd, 0x04, 0x14, 0xa2,
0x37, 0x0c, 0xf4, 0x13, 0x70, 0x5a, 0x3c, 0x07, 0x78, 0xd8, 0x57, 0xef, 0x1a, 0x2e, 0xdd, 0x32,
0x1d, 0x8d, 0x55, 0xd8, 0xc1, 0xa2, 0xcd, 0x72, 0xad, 0x06, 0xf6, 0x5f, 0x30, 0x5c, 0xb2, 0x21,
0x3a, 0x9a, 0x8f, 0xd6, 0xe1, 0xac, 0x65, 0xab, 0x9e, 0xaf, 0x59, 0x4d, 0xcd, 0x6d, 0xaa, 0xbd,
0x87, 0x18, 0x55, 0xd3, 0x75, 0xec, 0x79, 0x36, 0x4b, 0x55, 0x01, 0xcb, 0x87, 0x2c, 0xbb, 0xc1,
0x95, 0x7b, 0x67, 0x78, 0x85, 0xab, 0xf6, 0x05, 0x58, 0xf2, 0xa8, 0x00, 0x7b, 0x18, 0xb2, 0x1d,
0xcd, 0x51, 0xb1, 0xe5, 0xbb, 0x07, 0xb4, 0xae, 0xcc, 0x28, 0x99, 0x8e, 0xe6, 0xd4, 0x48, 0xfb,
0x83, 0x29, 0xef, 0xff, 0x31, 0x09, 0xf9, 0x70, 0x6d, 0x49, 0x4a, 0x75, 0x9d, 0xe6, 0x11, 0x89,
0x9e, 0x34, 0x8f, 0x1e, 0x5b, 0x89, 0x2e, 0x55, 0x49, 0x82, 0x29, 0x8f, 0xb3, 0x8a, 0x4f, 0x61,
0x48, 0x92, 0xdc, 0xc9, 0xd9, 0x82, 0xd9, 0x2d, 0x26, 0xa3, 0xf0, 0x16, 0x5a, 0x83, 0xf1, 0x5b,
0x1e, 0xe5, 0x1e, 0xa7, 0xdc, 0x8f, 0x1d, 0xcf, 0x7d, 0xbd, 0x41, 0xc9, 0xb3, 0xd7, 0x1b, 0xea,
0xe6, 0x96, 0xb2, 0x51, 0x59, 0x57, 0x38, 0x1c, 0x9d, 0x81, 0x94, 0xa9, 0xdd, 0x3b, 0x88, 0xa6,
0x22, 0x2a, 0x1a, 0xd5, 0xf1, 0x67, 0x20, 0x75, 0x17, 0x6b, 0xb7, 0xa3, 0x09, 0x80, 0x8a, 0xde,
0xc7, 0xd0, 0x5f, 0x86, 0x34, 0xf5, 0x17, 0x02, 0xe0, 0x1e, 0x93, 0xc7, 0x50, 0x06, 0x52, 0xd5,
0x2d, 0x85, 0x84, 0xbf, 0x0c, 0x79, 0x26, 0x55, 0xb7, 0xeb, 0xb5, 0x6a, 0x4d, 0x4e, 0x2c, 0x5c,
0x82, 0x71, 0xe6, 0x04, 0xb2, 0x35, 0x02, 0x37, 0xc8, 0x63, 0xbc, 0xc9, 0x39, 0x24, 0xd1, 0xbb,
0xbb, 0xb1, 0x52, 0x53, 0xe4, 0x44, 0x78, 0x79, 0x3d, 0xc8, 0x87, 0xcb, 0xca, 0x0f, 0x26, 0xa6,
0xfe, 0x5a, 0x82, 0x5c, 0xa8, 0x4c, 0x24, 0x05, 0x8a, 0x66, 0x9a, 0xf6, 0x5d, 0x55, 0x33, 0x0d,
0xcd, 0xe3, 0x41, 0x01, 0x54, 0x54, 0x21, 0x92, 0x51, 0x17, 0xed, 0x03, 0x31, 0xfe, 0x55, 0x09,
0xe4, 0xfe, 0x12, 0xb3, 0xcf, 0x40, 0xe9, 0xc7, 0x6a, 0xe0, 0x2b, 0x12, 0x14, 0xa2, 0x75, 0x65,
0x9f, 0x79, 0xe7, 0x7e, 0xac, 0xe6, 0xbd, 0x91, 0x80, 0xc9, 0x48, 0x35, 0x39, 0xaa, 0x75, 0x9f,
0x81, 0x69, 0xa3, 0x89, 0x3b, 0x8e, 0xed, 0x63, 0x4b, 0x3f, 0x50, 0x4d, 0x7c, 0x07, 0x9b, 0xc5,
0x05, 0x7a, 0x50, 0x2c, 0x1f, 0x5f, 0xaf, 0x2e, 0xd5, 0x7b, 0xb8, 0x75, 0x02, 0x2b, 0xcf, 0xd4,
0x57, 0x6b, 0x1b, 0xdb, 0x5b, 0x3b, 0xb5, 0xcd, 0xea, 0x4d, 0x75, 0x77, 0xf3, 0xa7, 0x36, 0xb7,
0x5e, 0xd8, 0x54, 0x64, 0xa3, 0x4f, 0xed, 0x7d, 0xdc, 0xea, 0xdb, 0x20, 0xf7, 0x1b, 0x85, 0x4e,
0xc3, 0x30, 0xb3, 0xe4, 0x31, 0x34, 0x03, 0x53, 0x9b, 0x5b, 0x6a, 0xa3, 0xbe, 0x5a, 0x53, 0x6b,
0xd7, 0xae, 0xd5, 0xaa, 0x3b, 0x0d, 0x76, 0x81, 0x0f, 0xb4, 0x77, 0xa2, 0x9b, 0xfa, 0xe5, 0x24,
0xcc, 0x0c, 0xb1, 0x04, 0x55, 0xf8, 0xdd, 0x81, 0x5d, 0x67, 0x3e, 0x32, 0x8a, 0xf5, 0x4b, 0x24,
0xe5, 0x6f, 0x6b, 0xae, 0xcf, 0xaf, 0x1a, 0x4f, 0x02, 0xf1, 0x92, 0xe5, 0x1b, 0x2d, 0x03, 0xbb,
0xfc, 0xbd, 0x83, 0x5d, 0x28, 0xa6, 0x7a, 0x72, 0xf6, 0xe4, 0xf1, 0x61, 0x40, 0x8e, 0xed, 0x19,
0xbe, 0x71, 0x07, 0xab, 0x86, 0x25, 0x1e, 0x47, 0xc8, 0x05, 0x23, 0xa5, 0xc8, 0xa2, 0xa7, 0x6e,
0xf9, 0x81, 0xb6, 0x85, 0xdb, 0x5a, 0x9f, 0x36, 0x39, 0xc0, 0x93, 0x8a, 0x2c, 0x7a, 0x02, 0xed,
0x73, 0x90, 0x6f, 0xda, 0x5d, 0x52, 0x75, 0x31, 0x3d, 0x92, 0x2f, 0x24, 0x25, 0xc7, 0x64, 0x81,
0x0a, 0xaf, 0xa7, 0x7b, 0xaf, 0x32, 0x79, 0x25, 0xc7, 0x64, 0x4c, 0xe5, 0x3c, 0x4c, 0x69, 0xed,
0xb6, 0x4b, 0xc8, 0x05, 0x11, 0xbb, 0x21, 0x14, 0x02, 0x31, 0x55, 0x9c, 0xbb, 0x0e, 0x19, 0xe1,
0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0xbd, 0xcc, 0x25, 0x16, 0xb3, 0x4a, 0xc6, 0x12, 0x9d,
0xe7, 0x20, 0x6f, 0x78, 0x6a, 0xef, 0x91, 0x39, 0x31, 0x9f, 0x58, 0xcc, 0x28, 0x39, 0xc3, 0x0b,
0x1e, 0xe8, 0x16, 0x5e, 0x4b, 0x40, 0x21, 0xfa, 0x48, 0x8e, 0x56, 0x21, 0x63, 0xda, 0xba, 0x46,
0x43, 0x8b, 0x7d, 0xa1, 0x59, 0x8c, 0x79, 0x57, 0x5f, 0x5a, 0xe7, 0xfa, 0x4a, 0x80, 0x9c, 0xfb,
0x7b, 0x09, 0x32, 0x42, 0x8c, 0x4e, 0x41, 0xca, 0xd1, 0xfc, 0x7d, 0x4a, 0x97, 0x5e, 0x49, 0xc8,
0x92, 0x42, 0xdb, 0x44, 0xee, 0x39, 0x9a, 0x45, 0x43, 0x80, 0xcb, 0x49, 0x9b, 0xac, 0xab, 0x89,
0xb5, 0x26, 0xbd, 0x7e, 0xd8, 0x9d, 0x0e, 0xb6, 0x7c, 0x4f, 0xac, 0x2b, 0x97, 0x57, 0xb9, 0x18,
0x3d, 0x0d, 0xd3, 0xbe, 0xab, 0x19, 0x66, 0x44, 0x37, 0x45, 0x75, 0x65, 0xd1, 0x11, 0x28, 0x97,
0xe1, 0x8c, 0xe0, 0x6d, 0x62, 0x5f, 0xd3, 0xf7, 0x71, 0xb3, 0x07, 0x1a, 0xa7, 0x2f, 0xb0, 0xa7,
0xb9, 0xc2, 0x2a, 0xef, 0x17, 0xd8, 0x85, 0xef, 0x4b, 0x30, 0x2d, 0x2e, 0x4c, 0xcd, 0xc0, 0x59,
0x1b, 0x00, 0x9a, 0x65, 0xd9, 0x7e, 0xd8, 0x5d, 0x83, 0xa1, 0x3c, 0x80, 0x5b, 0xaa, 0x04, 0x20,
0x25, 0x44, 0x30, 0xd7, 0x01, 0xe8, 0xf5, 0x1c, 0xe9, 0xb6, 0xb3, 0x90, 0xe3, 0x5f, 0x40, 0xe8,
0x67, 0x34, 0x76, 0xc5, 0x06, 0x26, 0x22, 0x37, 0x2b, 0x34, 0x0b, 0xe9, 0x3d, 0xdc, 0x36, 0x2c,
0xfe, 0xae, 0xc9, 0x1a, 0xe2, 0xad, 0x36, 0x15, 0xbc, 0xd5, 0xae, 0xdc, 0x80, 0x19, 0xdd, 0xee,
0xf4, 0x9b, 0xbb, 0x22, 0xf7, 0x5d, 0xf3, 0xbd, 0x4f, 0x48, 0x9f, 0x86, 0x5e, 0x89, 0xf9, 0xe5,
0x44, 0x72, 0x6d, 0x7b, 0xe5, 0xab, 0x89, 0xb9, 0x35, 0x86, 0xdb, 0x16, 0xd3, 0x54, 0x70, 0xcb,
0xc4, 0x3a, 0x31, 0x1d, 0x7e, 0xf0, 0x04, 0x7c, 0xa4, 0x6d, 0xf8, 0xfb, 0xdd, 0xbd, 0x25, 0xdd,
0xee, 0x2c, 0xb7, 0xed, 0xb6, 0xdd, 0xfb, 0x6c, 0x48, 0x5a, 0xb4, 0x41, 0x7f, 0xf1, 0x4f, 0x87,
0xd9, 0x40, 0x3a, 0x17, 0xfb, 0x9d, 0xb1, 0xbc, 0x09, 0x33, 0x5c, 0x59, 0xa5, 0xdf, 0x2e, 0xd8,
0x15, 0x02, 0x1d, 0xfb, 0xfe, 0x53, 0xfc, 0xc6, 0x9b, 0x34, 0x57, 0x2b, 0xd3, 0x1c, 0x4a, 0xfa,
0xd8, 0x2d, 0xa3, 0xac, 0xc0, 0x43, 0x11, 0x3e, 0xb6, 0x2f, 0xb1, 0x1b, 0xc3, 0xf8, 0x5d, 0xce,
0x38, 0x13, 0x62, 0x6c, 0x70, 0x68, 0xb9, 0x0a, 0x93, 0x27, 0xe1, 0xfa, 0x5b, 0xce, 0x95, 0xc7,
0x61, 0x92, 0x35, 0x98, 0xa2, 0x24, 0x7a, 0xd7, 0xf3, 0xed, 0x0e, 0x3d, 0xf4, 0x8e, 0xa7, 0xf9,
0xbb, 0x37, 0xd9, 0x46, 0x29, 0x10, 0x58, 0x35, 0x40, 0x95, 0xcb, 0x40, 0x3f, 0xd7, 0x34, 0xb1,
0x6e, 0xc6, 0x30, 0xbc, 0xce, 0x0d, 0x09, 0xf4, 0xcb, 0x9f, 0x82, 0x59, 0xf2, 0x9b, 0x9e, 0x49,
0x61, 0x4b, 0xe2, 0x5f, 0xbb, 0x8a, 0xdf, 0x7f, 0x89, 0xed, 0xc5, 0x99, 0x80, 0x20, 0x64, 0x53,
0x68, 0x15, 0xdb, 0xd8, 0xf7, 0xb1, 0xeb, 0xa9, 0x9a, 0x39, 0xcc, 0xbc, 0xd0, 0x73, 0x41, 0xf1,
0x8b, 0x6f, 0x47, 0x57, 0x71, 0x8d, 0x21, 0x2b, 0xa6, 0x59, 0xde, 0x85, 0xd3, 0x43, 0xa2, 0x62,
0x04, 0xce, 0x97, 0x39, 0xe7, 0xec, 0x40, 0x64, 0x10, 0xda, 0x6d, 0x10, 0xf2, 0x60, 0x2d, 0x47,
0xe0, 0xfc, 0x6d, 0xce, 0x89, 0x38, 0x56, 0x2c, 0x29, 0x61, 0xbc, 0x0e, 0xd3, 0x77, 0xb0, 0xbb,
0x67, 0x7b, 0xfc, 0x89, 0x66, 0x04, 0xba, 0x57, 0x38, 0xdd, 0x14, 0x07, 0xd2, 0x37, 0x1b, 0xc2,
0xf5, 0x1c, 0x64, 0x5a, 0x9a, 0x8e, 0x47, 0xa0, 0xf8, 0x12, 0xa7, 0x98, 0x20, 0xfa, 0x04, 0x5a,
0x81, 0x7c, 0xdb, 0xe6, 0x69, 0x29, 0x1e, 0xfe, 0x2a, 0x87, 0xe7, 0x04, 0x86, 0x53, 0x38, 0xb6,
0xd3, 0x35, 0x49, 0xce, 0x8a, 0xa7, 0xf8, 0x1d, 0x41, 0x21, 0x30, 0x9c, 0xe2, 0x04, 0x6e, 0xfd,
0x5d, 0x41, 0xe1, 0x85, 0xfc, 0xf9, 0x3c, 0xe4, 0x6c, 0xcb, 0x3c, 0xb0, 0xad, 0x51, 0x8c, 0xf8,
0x3d, 0xce, 0x00, 0x1c, 0x42, 0x08, 0xae, 0x42, 0x76, 0xd4, 0x85, 0xf8, 0xfd, 0xb7, 0xc5, 0xf6,
0x10, 0x2b, 0xb0, 0x06, 0x53, 0xe2, 0x80, 0x32, 0x6c, 0x6b, 0x04, 0x8a, 0x3f, 0xe0, 0x14, 0x85,
0x10, 0x8c, 0x4f, 0xc3, 0xc7, 0x9e, 0xdf, 0xc6, 0xa3, 0x90, 0xbc, 0x26, 0xa6, 0xc1, 0x21, 0xdc,
0x95, 0x7b, 0xd8, 0xd2, 0xf7, 0x47, 0x63, 0xf8, 0x8a, 0x70, 0xa5, 0xc0, 0x10, 0x8a, 0x2a, 0x4c,
0x76, 0x34, 0xd7, 0xdb, 0xd7, 0xcc, 0x91, 0x96, 0xe3, 0x0f, 0x39, 0x47, 0x3e, 0x00, 0x71, 0x8f,
0x74, 0xad, 0x93, 0xd0, 0x7c, 0x55, 0x78, 0x24, 0x04, 0xe3, 0x5b, 0xcf, 0xf3, 0xe9, 0x7b, 0xd6,
0x49, 0xd8, 0xbe, 0x26, 0xb6, 0x1e, 0xc3, 0x6e, 0x84, 0x19, 0xaf, 0x42, 0xd6, 0x33, 0xee, 0x8d,
0x44, 0xf3, 0x47, 0x62, 0xa5, 0x29, 0x80, 0x80, 0x6f, 0xc2, 0x99, 0xa1, 0x69, 0x62, 0x04, 0xb2,
0x3f, 0xe6, 0x64, 0xa7, 0x86, 0xa4, 0x0a, 0x7e, 0x24, 0x9c, 0x94, 0xf2, 0x4f, 0xc4, 0x91, 0x80,
0xfb, 0xb8, 0xb6, 0xc9, 0x45, 0xc1, 0xd3, 0x5a, 0x27, 0xf3, 0xda, 0x9f, 0x0a, 0xaf, 0x31, 0x6c,
0xc4, 0x6b, 0x3b, 0x70, 0x8a, 0x33, 0x9e, 0x6c, 0x5d, 0xbf, 0x2e, 0x0e, 0x56, 0x86, 0xde, 0x8d,
0xae, 0xee, 0x4f, 0xc3, 0x5c, 0xe0, 0x4e, 0x51, 0x91, 0x7a, 0x6a, 0x47, 0x73, 0x46, 0x60, 0xfe,
0x06, 0x67, 0x16, 0x27, 0x7e, 0x50, 0xd2, 0x7a, 0x1b, 0x9a, 0x43, 0xc8, 0x6f, 0x40, 0x51, 0x90,
0x77, 0x2d, 0x17, 0xeb, 0x76, 0xdb, 0x32, 0xee, 0xe1, 0xe6, 0x08, 0xd4, 0x7f, 0xd6, 0xb7, 0x54,
0xbb, 0x21, 0x38, 0x61, 0xae, 0x83, 0x1c, 0xd4, 0x2a, 0xaa, 0xd1, 0x71, 0x6c, 0xd7, 0x8f, 0x61,
0xfc, 0xa6, 0x58, 0xa9, 0x00, 0x57, 0xa7, 0xb0, 0x72, 0x0d, 0x0a, 0xb4, 0x39, 0x6a, 0x48, 0xfe,
0x39, 0x27, 0x9a, 0xec, 0xa1, 0xf8, 0xc1, 0xa1, 0xdb, 0x1d, 0x47, 0x73, 0x47, 0x39, 0xff, 0xfe,
0x42, 0x1c, 0x1c, 0x1c, 0xc2, 0x0f, 0x0e, 0xff, 0xc0, 0xc1, 0x24, 0xdb, 0x8f, 0xc0, 0xf0, 0x2d,
0x71, 0x70, 0x08, 0x0c, 0xa7, 0x10, 0x05, 0xc3, 0x08, 0x14, 0x7f, 0x29, 0x28, 0x04, 0x86, 0x50,
0x7c, 0xb2, 0x97, 0x68, 0x5d, 0xdc, 0x36, 0x3c, 0xdf, 0x65, 0x75, 0xf0, 0xf1, 0x54, 0xdf, 0x7e,
0x3b, 0x5a, 0x84, 0x29, 0x21, 0x68, 0xf9, 0x3a, 0x4c, 0xf5, 0x95, 0x18, 0x28, 0xee, 0x7f, 0x3f,
0x8a, 0x3f, 0xfb, 0x2e, 0x3f, 0x8c, 0xa2, 0x15, 0x46, 0x79, 0x9d, 0xac, 0x7b, 0xb4, 0x0e, 0x88,
0x27, 0x7b, 0xe9, 0xdd, 0x60, 0xe9, 0x23, 0x65, 0x40, 0xf9, 0x1a, 0x4c, 0x46, 0x6a, 0x80, 0x78,
0xaa, 0xcf, 0x72, 0xaa, 0x7c, 0xb8, 0x04, 0x28, 0x5f, 0x82, 0x14, 0xc9, 0xe7, 0xf1, 0xf0, 0x9f,
0xe3, 0x70, 0xaa, 0x5e, 0xfe, 0x18, 0x64, 0x44, 0x1e, 0x8f, 0x87, 0xfe, 0x3c, 0x87, 0x06, 0x10,
0x02, 0x17, 0x39, 0x3c, 0x1e, 0xfe, 0x0b, 0x02, 0x2e, 0x20, 0x04, 0x3e, 0xba, 0x0b, 0xbf, 0xf3,
0x4b, 0x29, 0x7e, 0x0e, 0x0b, 0xdf, 0x5d, 0x85, 0x09, 0x9e, 0xbc, 0xe3, 0xd1, 0x9f, 0xe3, 0x83,
0x0b, 0x44, 0xf9, 0x59, 0x48, 0x8f, 0xe8, 0xf0, 0x5f, 0xe6, 0x50, 0xa6, 0x5f, 0xae, 0x42, 0x2e,
0x94, 0xb0, 0xe3, 0xe1, 0x9f, 0xe7, 0xf0, 0x30, 0x8a, 0x98, 0xce, 0x13, 0x76, 0x3c, 0xc1, 0xaf,
0x08, 0xd3, 0x39, 0x82, 0xb8, 0x4d, 0xe4, 0xea, 0x78, 0xf4, 0xaf, 0x0a, 0xaf, 0x0b, 0x48, 0xf9,
0x79, 0xc8, 0x06, 0xe7, 0x6f, 0x3c, 0xfe, 0xd7, 0x38, 0xbe, 0x87, 0x21, 0x1e, 0x08, 0x9d, 0xff,
0xf1, 0x14, 0xbf, 0x2e, 0x3c, 0x10, 0x42, 0x91, 0x6d, 0xd4, 0x9f, 0xd3, 0xe3, 0x99, 0x7e, 0x43,
0x6c, 0xa3, 0xbe, 0x94, 0x4e, 0x56, 0x93, 0x1e, 0x83, 0xf1, 0x14, 0xbf, 0x29, 0x56, 0x93, 0xea,
0x13, 0x33, 0xfa, 0x93, 0x64, 0x3c, 0xc7, 0x6f, 0x09, 0x33, 0xfa, 0x72, 0x64, 0x79, 0x1b, 0xd0,
0x60, 0x82, 0x8c, 0xe7, 0xfb, 0x02, 0xe7, 0x9b, 0x1e, 0xc8, 0x8f, 0xe5, 0x17, 0xe0, 0xd4, 0xf0,
0xe4, 0x18, 0xcf, 0xfa, 0xc5, 0x77, 0xfb, 0xae, 0x33, 0xe1, 0xdc, 0x58, 0xde, 0xe9, 0x9d, 0xb2,
0xe1, 0xc4, 0x18, 0x4f, 0xfb, 0xf2, 0xbb, 0xd1, 0x83, 0x36, 0x9c, 0x17, 0xcb, 0x15, 0x80, 0x5e,
0x4e, 0x8a, 0xe7, 0x7a, 0x85, 0x73, 0x85, 0x40, 0x64, 0x6b, 0xf0, 0x94, 0x14, 0x8f, 0xff, 0x92,
0xd8, 0x1a, 0x1c, 0x41, 0xb6, 0x86, 0xc8, 0x46, 0xf1, 0xe8, 0x57, 0xc5, 0xd6, 0x10, 0x90, 0xf2,
0x55, 0xc8, 0x58, 0x5d, 0xd3, 0x24, 0xb1, 0x85, 0x8e, 0xff, 0x77, 0xa6, 0xe2, 0xbf, 0xbd, 0xc7,
0xc1, 0x02, 0x50, 0xbe, 0x04, 0x69, 0xdc, 0xd9, 0xc3, 0xcd, 0x38, 0xe4, 0xbf, 0xbf, 0x27, 0xce,
0x13, 0xa2, 0x5d, 0x7e, 0x1e, 0x80, 0x5d, 0xa6, 0xe9, 0x57, 0xa2, 0x18, 0xec, 0x7f, 0xbc, 0xc7,
0xff, 0x53, 0xa2, 0x07, 0xe9, 0x11, 0xb0, 0xff, 0xbb, 0x38, 0x9e, 0xe0, 0xed, 0x28, 0x01, 0xbd,
0x80, 0x3f, 0x07, 0x13, 0xb7, 0x3c, 0xdb, 0xf2, 0xb5, 0x76, 0x1c, 0xfa, 0x3f, 0x39, 0x5a, 0xe8,
0x13, 0x87, 0x75, 0x6c, 0x17, 0xfb, 0x5a, 0xdb, 0x8b, 0xc3, 0xfe, 0x17, 0xc7, 0x06, 0x00, 0x02,
0xd6, 0x35, 0xcf, 0x1f, 0x65, 0xde, 0xff, 0x2d, 0xc0, 0x02, 0x40, 0x8c, 0x26, 0xbf, 0x6f, 0xe3,
0x83, 0x38, 0xec, 0x3b, 0xc2, 0x68, 0xae, 0x5f, 0xfe, 0x18, 0x64, 0xc9, 0x4f, 0xf6, 0xdf, 0x43,
0x31, 0xe0, 0xff, 0xe1, 0xe0, 0x1e, 0x82, 0x8c, 0xec, 0xf9, 0x4d, 0xdf, 0x88, 0x77, 0xf6, 0xff,
0xf2, 0x95, 0x16, 0xfa, 0xe5, 0x0a, 0xe4, 0x3c, 0xbf, 0xd9, 0xec, 0xf2, 0x8a, 0x26, 0x06, 0xfe,
0x83, 0xf7, 0x82, 0x4b, 0x6e, 0x80, 0x59, 0x39, 0x37, 0xfc, 0xb1, 0x0e, 0xd6, 0xec, 0x35, 0x9b,
0x3d, 0xd3, 0xc1, 0xe7, 0xd3, 0x30, 0xaf, 0xdb, 0x9d, 0x3d, 0xdb, 0x5b, 0x0e, 0x0e, 0x92, 0xe5,
0xc0, 0x7e, 0xf1, 0xd0, 0x16, 0x08, 0xe6, 0x4e, 0xf6, 0x44, 0xb7, 0xf0, 0x37, 0x49, 0xc8, 0x54,
0x35, 0xcf, 0xd7, 0xee, 0x6a, 0x07, 0xc8, 0x81, 0x19, 0xf2, 0x7b, 0x43, 0x73, 0xe8, 0x83, 0x0f,
0xdf, 0x61, 0xfc, 0x09, 0xf4, 0xc3, 0x4b, 0xbd, 0x51, 0x05, 0x62, 0x69, 0x88, 0x3a, 0xfd, 0x74,
0xbc, 0x22, 0xbf, 0xfe, 0x4f, 0x67, 0xc7, 0x7e, 0xf1, 0x9f, 0xcf, 0x66, 0x36, 0x0e, 0x5e, 0x30,
0x4c, 0xcf, 0xb6, 0x94, 0x61, 0xd4, 0xe8, 0xb3, 0x12, 0x3c, 0x3c, 0x44, 0xbe, 0xc9, 0xb7, 0x21,
0xff, 0x90, 0x70, 0x71, 0xc4, 0xa1, 0x05, 0x8c, 0x99, 0x90, 0x8f, 0x0c, 0x7f, 0xdc, 0x30, 0x73,
0x37, 0xa1, 0x78, 0xd4, 0x4c, 0x90, 0x0c, 0xc9, 0xdb, 0xf8, 0x80, 0xff, 0x8b, 0x2c, 0xf9, 0x89,
0xce, 0xf7, 0xfe, 0xc9, 0x4d, 0x5a, 0xcc, 0x5d, 0x98, 0x0e, 0x59, 0xc7, 0x07, 0x63, 0xfd, 0xe5,
0xc4, 0x15, 0x69, 0x4e, 0x83, 0xf9, 0x38, 0x4b, 0xff, 0x9f, 0x43, 0x2c, 0x94, 0x60, 0x9c, 0x09,
0xd1, 0x2c, 0xa4, 0xeb, 0x96, 0x7f, 0xf9, 0x22, 0xa5, 0x4a, 0x2a, 0xac, 0xb1, 0xb2, 0xfe, 0xfa,
0x83, 0xd2, 0xd8, 0xf7, 0x1e, 0x94, 0xc6, 0xfe, 0xe1, 0x41, 0x69, 0xec, 0x8d, 0x07, 0x25, 0xe9,
0xad, 0x07, 0x25, 0xe9, 0x9d, 0x07, 0x25, 0xe9, 0x87, 0x0f, 0x4a, 0xd2, 0xfd, 0xc3, 0x92, 0xf4,
0x95, 0xc3, 0x92, 0xf4, 0xf5, 0xc3, 0x92, 0xf4, 0xed, 0xc3, 0x92, 0xf4, 0x9d, 0xc3, 0x92, 0xf4,
0xfa, 0x61, 0x49, 0xfa, 0xde, 0x61, 0x69, 0xec, 0x8d, 0xc3, 0x92, 0xf4, 0xd6, 0x61, 0x69, 0xec,
0x9d, 0xc3, 0x92, 0xf4, 0xc3, 0xc3, 0xd2, 0xd8, 0xfd, 0x7f, 0x29, 0x8d, 0xfd, 0x5f, 0x00, 0x00,
0x00, 0xff, 0xff, 0x6b, 0x71, 0xc7, 0xce, 0x35, 0x32, 0x00, 0x00,
}
r := bytes.NewReader(gzipped)
gzipr, err := compress_gzip.NewReader(r)
if err != nil {
panic(err)
}
ungzipped, err := io_ioutil.ReadAll(gzipr)
if err != nil {
panic(err)
}
if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
panic(err)
}
return d
}
func (this *Castaway) VerboseEqual(that interface{}) error {
if that == nil {
if this == nil {
return nil
}
return fmt.Errorf("that == nil && this != nil")
}
that1, ok := that.(*Castaway)
if !ok {
that2, ok := that.(Castaway)
if ok {
that1 = &that2
} else {
return fmt.Errorf("that is not of type *Castaway")
}
}
if that1 == nil {
if this == nil {
return nil
}
return fmt.Errorf("that is type *Castaway but is nil && this != nil")
} else if this == nil {
return fmt.Errorf("that is type *Castaway but is not nil && this == nil")
}
if len(this.CastMapValueMessage) != len(that1.CastMapValueMessage) {
return fmt.Errorf("CastMapValueMessage this(%v) Not Equal that(%v)", len(this.CastMapValueMessage), len(that1.CastMapValueMessage))
}
for i := range this.CastMapValueMessage {
a := (Wilson)(this.CastMapValueMessage[i])
b := (Wilson)(that1.CastMapValueMessage[i])
if !(&a).Equal(&b) {
return fmt.Errorf("CastMapValueMessage this[%v](%v) Not Equal that[%v](%v)", i, this.CastMapValueMessage[i], i, that1.CastMapValueMessage[i])
}
}
if len(this.CastMapValueMessageNullable) != len(that1.CastMapValueMessageNullable) {
return fmt.Errorf("CastMapValueMessageNullable this(%v) Not Equal that(%v)", len(this.CastMapValueMessageNullable), len(that1.CastMapValueMessageNullable))
}
for i := range this.CastMapValueMessageNullable {
a := (*Wilson)(this.CastMapValueMessageNullable[i])
b := (*Wilson)(that1.CastMapValueMessageNullable[i])
if !a.Equal(b) {
return fmt.Errorf("CastMapValueMessageNullable this[%v](%v) Not Equal that[%v](%v)", i, this.CastMapValueMessageNullable[i], i, that1.CastMapValueMessageNullable[i])
}
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
}
return nil
}
func (this *Castaway) Equal(that interface{}) bool {
if that == nil {
if this == nil {
return true
}
return false
}
that1, ok := that.(*Castaway)
if !ok {
that2, ok := that.(Castaway)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
if this == nil {
return true
}
return false
} else if this == nil {
return false
}
if len(this.CastMapValueMessage) != len(that1.CastMapValueMessage) {
return false
}
for i := range this.CastMapValueMessage {
a := (Wilson)(this.CastMapValueMessage[i])
b := (Wilson)(that1.CastMapValueMessage[i])
if !(&a).Equal(&b) {
return false
}
}
if len(this.CastMapValueMessageNullable) != len(that1.CastMapValueMessageNullable) {
return false
}
for i := range this.CastMapValueMessageNullable {
a := (*Wilson)(this.CastMapValueMessageNullable[i])
b := (*Wilson)(that1.CastMapValueMessageNullable[i])
if !a.Equal(b) {
return false
}
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return false
}
return true
}
func (this *Wilson) VerboseEqual(that interface{}) error {
if that == nil {
if this == nil {
return nil
}
return fmt.Errorf("that == nil && this != nil")
}
that1, ok := that.(*Wilson)
if !ok {
that2, ok := that.(Wilson)
if ok {
that1 = &that2
} else {
return fmt.Errorf("that is not of type *Wilson")
}
}
if that1 == nil {
if this == nil {
return nil
}
return fmt.Errorf("that is type *Wilson but is nil && this != nil")
} else if this == nil {
return fmt.Errorf("that is type *Wilson but is not nil && this == nil")
}
if this.Int64 != nil && that1.Int64 != nil {
if *this.Int64 != *that1.Int64 {
return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", *this.Int64, *that1.Int64)
}
} else if this.Int64 != nil {
return fmt.Errorf("this.Int64 == nil && that.Int64 != nil")
} else if that1.Int64 != nil {
return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", this.Int64, that1.Int64)
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
}
return nil
}
func (this *Wilson) Equal(that interface{}) bool {
if that == nil {
if this == nil {
return true
}
return false
}
that1, ok := that.(*Wilson)
if !ok {
that2, ok := that.(Wilson)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
if this == nil {
return true
}
return false
} else if this == nil {
return false
}
if this.Int64 != nil && that1.Int64 != nil {
if *this.Int64 != *that1.Int64 {
return false
}
} else if this.Int64 != nil {
return false
} else if that1.Int64 != nil {
return false
}
if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
return false
}
return true
}
type CastawayFace interface {
Proto() github_com_gogo_protobuf_proto.Message
GetCastMapValueMessage() map[int32]MyWilson
GetCastMapValueMessageNullable() map[int32]*MyWilson
}
func (this *Castaway) Proto() github_com_gogo_protobuf_proto.Message {
return this
}
func (this *Castaway) TestProto() github_com_gogo_protobuf_proto.Message {
return NewCastawayFromFace(this)
}
func (this *Castaway) GetCastMapValueMessage() map[int32]MyWilson {
return this.CastMapValueMessage
}
func (this *Castaway) GetCastMapValueMessageNullable() map[int32]*MyWilson {
return this.CastMapValueMessageNullable
}
func NewCastawayFromFace(that CastawayFace) *Castaway {
this := &Castaway{}
this.CastMapValueMessage = that.GetCastMapValueMessage()
this.CastMapValueMessageNullable = that.GetCastMapValueMessageNullable()
return this
}
type WilsonFace interface {
Proto() github_com_gogo_protobuf_proto.Message
GetInt64() *int64
}
func (this *Wilson) Proto() github_com_gogo_protobuf_proto.Message {
return this
}
func (this *Wilson) TestProto() github_com_gogo_protobuf_proto.Message {
return NewWilsonFromFace(this)
}
func (this *Wilson) GetInt64() *int64 {
return this.Int64
}
func NewWilsonFromFace(that WilsonFace) *Wilson {
this := &Wilson{}
this.Int64 = that.GetInt64()
return this
}
func (this *Castaway) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 6)
s = append(s, "&castvalue.Castaway{")
keysForCastMapValueMessage := make([]int32, 0, len(this.CastMapValueMessage))
for k := range this.CastMapValueMessage {
keysForCastMapValueMessage = append(keysForCastMapValueMessage, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessage)
mapStringForCastMapValueMessage := "map[int32]MyWilson{"
for _, k := range keysForCastMapValueMessage {
mapStringForCastMapValueMessage += fmt.Sprintf("%#v: %#v,", k, this.CastMapValueMessage[k])
}
mapStringForCastMapValueMessage += "}"
if this.CastMapValueMessage != nil {
s = append(s, "CastMapValueMessage: "+mapStringForCastMapValueMessage+",\n")
}
keysForCastMapValueMessageNullable := make([]int32, 0, len(this.CastMapValueMessageNullable))
for k := range this.CastMapValueMessageNullable {
keysForCastMapValueMessageNullable = append(keysForCastMapValueMessageNullable, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessageNullable)
mapStringForCastMapValueMessageNullable := "map[int32]*MyWilson{"
for _, k := range keysForCastMapValueMessageNullable {
mapStringForCastMapValueMessageNullable += fmt.Sprintf("%#v: %#v,", k, this.CastMapValueMessageNullable[k])
}
mapStringForCastMapValueMessageNullable += "}"
if this.CastMapValueMessageNullable != nil {
s = append(s, "CastMapValueMessageNullable: "+mapStringForCastMapValueMessageNullable+",\n")
}
if this.XXX_unrecognized != nil {
s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *Wilson) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 5)
s = append(s, "&castvalue.Wilson{")
if this.Int64 != nil {
s = append(s, "Int64: "+valueToGoStringCastvalue(this.Int64, "int64")+",\n")
}
if this.XXX_unrecognized != nil {
s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func valueToGoStringCastvalue(v interface{}, typ string) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func (m *Castaway) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Castaway) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.CastMapValueMessage) > 0 {
for k := range m.CastMapValueMessage {
dAtA[i] = 0xa
i++
v := m.CastMapValueMessage[k]
msgSize := 0
if ((*Wilson)(&v)) != nil {
msgSize = ((*Wilson)(&v)).Size()
msgSize += 1 + sovCastvalue(uint64(msgSize))
}
mapSize := 1 + sovCastvalue(uint64(k)) + msgSize
i = encodeVarintCastvalue(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
i++
i = encodeVarintCastvalue(dAtA, i, uint64(k))
dAtA[i] = 0x12
i++
i = encodeVarintCastvalue(dAtA, i, uint64(((*Wilson)(&v)).Size()))
n1, err := ((*Wilson)(&v)).MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
}
}
if len(m.CastMapValueMessageNullable) > 0 {
for k := range m.CastMapValueMessageNullable {
dAtA[i] = 0x12
i++
v := m.CastMapValueMessageNullable[k]
msgSize := 0
if ((*Wilson)(v)) != nil {
msgSize = ((*Wilson)(v)).Size()
msgSize += 1 + sovCastvalue(uint64(msgSize))
}
mapSize := 1 + sovCastvalue(uint64(k)) + msgSize
i = encodeVarintCastvalue(dAtA, i, uint64(mapSize))
dAtA[i] = 0x8
i++
i = encodeVarintCastvalue(dAtA, i, uint64(k))
if ((*Wilson)(v)) != nil {
dAtA[i] = 0x12
i++
i = encodeVarintCastvalue(dAtA, i, uint64(((*Wilson)(v)).Size()))
n2, err := ((*Wilson)(v)).MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n2
}
}
}
if m.XXX_unrecognized != nil {
i += copy(dAtA[i:], m.XXX_unrecognized)
}
return i, nil
}
func (m *Wilson) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Wilson) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if m.Int64 != nil {
dAtA[i] = 0x8
i++
i = encodeVarintCastvalue(dAtA, i, uint64(*m.Int64))
}
if m.XXX_unrecognized != nil {
i += copy(dAtA[i:], m.XXX_unrecognized)
}
return i, nil
}
func encodeVarintCastvalue(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return offset + 1
}
func NewPopulatedCastaway(r randyCastvalue, easy bool) *Castaway {
this := &Castaway{}
if r.Intn(10) != 0 {
v1 := r.Intn(10)
this.CastMapValueMessage = make(map[int32]MyWilson)
for i := 0; i < v1; i++ {
this.CastMapValueMessage[int32(r.Int31())] = (MyWilson)(*NewPopulatedWilson(r, easy))
}
}
if r.Intn(10) != 0 {
v2 := r.Intn(10)
this.CastMapValueMessageNullable = make(map[int32]*MyWilson)
for i := 0; i < v2; i++ {
this.CastMapValueMessageNullable[int32(r.Int31())] = (*MyWilson)(NewPopulatedWilson(r, easy))
}
}
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedCastvalue(r, 3)
}
return this
}
func NewPopulatedWilson(r randyCastvalue, easy bool) *Wilson {
this := &Wilson{}
if r.Intn(10) != 0 {
v3 := int64(r.Int63())
if r.Intn(2) == 0 {
v3 *= -1
}
this.Int64 = &v3
}
if !easy && r.Intn(10) != 0 {
this.XXX_unrecognized = randUnrecognizedCastvalue(r, 2)
}
return this
}
type randyCastvalue interface {
Float32() float32
Float64() float64
Int63() int64
Int31() int32
Uint32() uint32
Intn(n int) int
}
func randUTF8RuneCastvalue(r randyCastvalue) rune {
ru := r.Intn(62)
if ru < 10 {
return rune(ru + 48)
} else if ru < 36 {
return rune(ru + 55)
}
return rune(ru + 61)
}
func randStringCastvalue(r randyCastvalue) string {
v4 := r.Intn(100)
tmps := make([]rune, v4)
for i := 0; i < v4; i++ {
tmps[i] = randUTF8RuneCastvalue(r)
}
return string(tmps)
}
func randUnrecognizedCastvalue(r randyCastvalue, maxFieldNumber int) (dAtA []byte) {
l := r.Intn(5)
for i := 0; i < l; i++ {
wire := r.Intn(4)
if wire == 3 {
wire = 5
}
fieldNumber := maxFieldNumber + r.Intn(100)
dAtA = randFieldCastvalue(dAtA, r, fieldNumber, wire)
}
return dAtA
}
func randFieldCastvalue(dAtA []byte, r randyCastvalue, fieldNumber int, wire int) []byte {
key := uint32(fieldNumber)<<3 | uint32(wire)
switch wire {
case 0:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
v5 := r.Int63()
if r.Intn(2) == 0 {
v5 *= -1
}
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(v5))
case 1:
dAtA = encodeVarintPopulateCastvalue(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)))
case 2:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
ll := r.Intn(100)
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(ll))
for j := 0; j < ll; j++ {
dAtA = append(dAtA, byte(r.Intn(256)))
}
default:
dAtA = encodeVarintPopulateCastvalue(dAtA, uint64(key))
dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
}
return dAtA
}
func encodeVarintPopulateCastvalue(dAtA []byte, v uint64) []byte {
for v >= 1<<7 {
dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
v >>= 7
}
dAtA = append(dAtA, uint8(v))
return dAtA
}
func (m *Castaway) Size() (n int) {
var l int
_ = l
if len(m.CastMapValueMessage) > 0 {
for k, v := range m.CastMapValueMessage {
_ = k
_ = v
l = ((*Wilson)(&v)).Size()
mapEntrySize := 1 + sovCastvalue(uint64(k)) + 1 + l + sovCastvalue(uint64(l))
n += mapEntrySize + 1 + sovCastvalue(uint64(mapEntrySize))
}
}
if len(m.CastMapValueMessageNullable) > 0 {
for k, v := range m.CastMapValueMessageNullable {
_ = k
_ = v
l = 0
if v != nil {
l = ((*Wilson)(v)).Size()
l += 1 + sovCastvalue(uint64(l))
}
mapEntrySize := 1 + sovCastvalue(uint64(k)) + l
n += mapEntrySize + 1 + sovCastvalue(uint64(mapEntrySize))
}
}
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
return n
}
func (m *Wilson) Size() (n int) {
var l int
_ = l
if m.Int64 != nil {
n += 1 + sovCastvalue(uint64(*m.Int64))
}
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
return n
}
func sovCastvalue(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozCastvalue(x uint64) (n int) {
return sovCastvalue(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Castaway) String() string {
if this == nil {
return "nil"
}
keysForCastMapValueMessage := make([]int32, 0, len(this.CastMapValueMessage))
for k := range this.CastMapValueMessage {
keysForCastMapValueMessage = append(keysForCastMapValueMessage, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessage)
mapStringForCastMapValueMessage := "map[int32]MyWilson{"
for _, k := range keysForCastMapValueMessage {
mapStringForCastMapValueMessage += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessage[k])
}
mapStringForCastMapValueMessage += "}"
keysForCastMapValueMessageNullable := make([]int32, 0, len(this.CastMapValueMessageNullable))
for k := range this.CastMapValueMessageNullable {
keysForCastMapValueMessageNullable = append(keysForCastMapValueMessageNullable, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessageNullable)
mapStringForCastMapValueMessageNullable := "map[int32]*MyWilson{"
for _, k := range keysForCastMapValueMessageNullable {
mapStringForCastMapValueMessageNullable += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessageNullable[k])
}
mapStringForCastMapValueMessageNullable += "}"
s := strings.Join([]string{`&Castaway{`,
`CastMapValueMessage:` + mapStringForCastMapValueMessage + `,`,
`CastMapValueMessageNullable:` + mapStringForCastMapValueMessageNullable + `,`,
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
`}`,
}, "")
return s
}
func (this *Wilson) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Wilson{`,
`Int64:` + valueToStringCastvalue(this.Int64) + `,`,
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
`}`,
}, "")
return s
}
func valueToStringCastvalue(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func init() { proto.RegisterFile("combos/marshaler/castvalue.proto", fileDescriptorCastvalue) }
var fileDescriptorCastvalue = []byte{
// 358 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0x2a, 0x41,
0x14, 0xc5, 0xe7, 0xb2, 0xe1, 0x85, 0x37, 0xbc, 0x82, 0xb7, 0xef, 0x15, 0x1b, 0x4c, 0x2e, 0x1b,
0x1a, 0x29, 0x74, 0x37, 0x21, 0xc4, 0x18, 0x4b, 0x8c, 0x85, 0x89, 0x58, 0x50, 0x68, 0x2c, 0x67,
0xc9, 0xba, 0x10, 0x17, 0x86, 0xec, 0x87, 0x66, 0x3b, 0x0a, 0x2b, 0xff, 0x12, 0x4b, 0x4b, 0x4b,
0xed, 0x28, 0x29, 0xad, 0x94, 0x19, 0x1b, 0x4a, 0x4a, 0x4a, 0xc3, 0xac, 0xf8, 0x91, 0xe0, 0x47,
0x62, 0x77, 0xef, 0x99, 0x7b, 0xce, 0xef, 0x0c, 0x35, 0x5b, 0xbc, 0xeb, 0xf0, 0xd0, 0xee, 0xb2,
0x20, 0x6c, 0x33, 0xdf, 0x0d, 0xec, 0x16, 0x0b, 0xa3, 0x53, 0xe6, 0xc7, 0xae, 0xd5, 0x0f, 0x78,
0xc4, 0xf5, 0xdf, 0x2f, 0x42, 0x71, 0xdd, 0xeb, 0x44, 0xed, 0xd8, 0xb1, 0x5a, 0xbc, 0x6b, 0x7b,
0xdc, 0xe3, 0xb6, 0xba, 0x70, 0xe2, 0x63, 0xb5, 0xa9, 0x45, 0x4d, 0xa9, 0xb3, 0x7c, 0xab, 0xd1,
0xdc, 0x36, 0x0b, 0x23, 0x76, 0xc6, 0x12, 0xbd, 0x4f, 0xff, 0xcd, 0xe7, 0x06, 0xeb, 0x1f, 0xcc,
0xb3, 0x1a, 0x6e, 0x18, 0x32, 0xcf, 0x35, 0xc0, 0xd4, 0x2a, 0xf9, 0xea, 0x9a, 0xf5, 0x4a, 0x5d,
0x38, 0xac, 0x25, 0xe7, 0x3b, 0xbd, 0x28, 0x48, 0xea, 0x85, 0xe1, 0x7d, 0x89, 0x5c, 0x3c, 0x94,
0x72, 0x8d, 0xe4, 0xb0, 0xe3, 0x87, 0xbc, 0xd7, 0x5c, 0x16, 0xad, 0x9f, 0x03, 0x5d, 0x59, 0xa2,
0xef, 0xc7, 0xbe, 0xcf, 0x1c, 0xdf, 0x35, 0x32, 0x0a, 0x5d, 0xfb, 0x26, 0x7a, 0x61, 0x4b, 0x2b,
0xfc, 0x79, 0x87, 0xff, 0x0c, 0x53, 0x3c, 0xa2, 0xc6, 0x47, 0x3f, 0xd1, 0x0b, 0x54, 0x3b, 0x71,
0x13, 0x03, 0x4c, 0xa8, 0x64, 0x9b, 0xf3, 0x51, 0x5f, 0xa5, 0x59, 0xd5, 0xc5, 0xc8, 0x98, 0x50,
0xc9, 0x57, 0xff, 0xbe, 0x69, 0xf7, 0x0c, 0x4b, 0xdf, 0xb7, 0x32, 0x9b, 0x50, 0x64, 0xd4, 0xfc,
0xaa, 0xe9, 0x0f, 0x11, 0x65, 0xa4, 0xbf, 0x52, 0x51, 0xff, 0x4f, 0xb3, 0xbb, 0xbd, 0x68, 0xa3,
0xa6, 0xa2, 0xb4, 0x66, 0xba, 0xd4, 0xf7, 0x86, 0x02, 0xc9, 0x48, 0x20, 0xb9, 0x13, 0x48, 0xc6,
0x02, 0x61, 0x22, 0x10, 0xa6, 0x02, 0x61, 0x26, 0x10, 0x06, 0x12, 0xe1, 0x52, 0x22, 0x5c, 0x49,
0x84, 0x6b, 0x89, 0x70, 0x23, 0x11, 0x86, 0x12, 0x61, 0x24, 0x91, 0x8c, 0x25, 0xc2, 0x44, 0x22,
0x99, 0x4a, 0x84, 0x99, 0x44, 0x32, 0x78, 0x44, 0xf2, 0x14, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x22,
0x8c, 0x46, 0x8e, 0x02, 0x00, 0x00,
}

View File

@ -0,0 +1,66 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2015, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto2";
package castvalue;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = true;
option (gogoproto.verbose_equal_all) = true;
option (gogoproto.stringer_all) = true;
option (gogoproto.gostring_all) = true;
option (gogoproto.face_all) = true;
option (gogoproto.description_all) = true;
option (gogoproto.testgen_all) = true;
option (gogoproto.populate_all) = true;
option (gogoproto.benchgen_all) = true;
option (gogoproto.unmarshaler_all) = false;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.goproto_enum_stringer_all) = false;
option (gogoproto.enum_stringer_all) = true;
option (gogoproto.unsafe_marshaler_all) = false;
option (gogoproto.unsafe_unmarshaler_all) = false;
message Castaway {
map<int32,Wilson> CastMapValueMessage = 1 [(gogoproto.castvalue) = "MyWilson", (gogoproto.nullable) = false];
map<int32,Wilson> CastMapValueMessageNullable = 2 [(gogoproto.castvalue) = "MyWilson"];
}
message Wilson {
optional int64 Int64 = 1;
}

View File

@ -0,0 +1,512 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: combos/marshaler/castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
combos/marshaler/castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import testing "testing"
import math_rand "math/rand"
import time "time"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
import fmt "fmt"
import go_parser "go/parser"
import proto "github.com/gogo/protobuf/proto"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func TestCastawayProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func TestCastawayMarshalTo(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
size := p.Size()
dAtA := make([]byte, size)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
_, err := p.MarshalTo(dAtA)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func BenchmarkCastawayProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkCastawayProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCastaway(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Castaway{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func TestWilsonMarshalTo(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
size := p.Size()
dAtA := make([]byte, size)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
_, err := p.MarshalTo(dAtA)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func BenchmarkWilsonProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkWilsonProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedWilson(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Wilson{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestWilsonJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestCastawayProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastawayProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastvalueDescription(t *testing.T) {
CastvalueDescription()
}
func TestCastawayVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestWilsonVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestCastawayFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestWilsonFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestCastawayGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestWilsonGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestCastawaySize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkCastawaySize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonSize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkWilsonSize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
func TestWilsonStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen

View File

@ -0,0 +1,31 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package castvalue
type MyWilson Wilson

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,66 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2015, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto2";
package castvalue;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = true;
option (gogoproto.verbose_equal_all) = true;
option (gogoproto.stringer_all) = true;
option (gogoproto.gostring_all) = true;
option (gogoproto.face_all) = true;
option (gogoproto.description_all) = true;
option (gogoproto.testgen_all) = true;
option (gogoproto.populate_all) = true;
option (gogoproto.benchgen_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.marshaler_all) = false;
option (gogoproto.sizer_all) = true;
option (gogoproto.goproto_enum_stringer_all) = false;
option (gogoproto.enum_stringer_all) = true;
option (gogoproto.unsafe_marshaler_all) = false;
option (gogoproto.unsafe_unmarshaler_all) = false;
message Castaway {
map<int32,Wilson> CastMapValueMessage = 1 [(gogoproto.castvalue) = "MyWilson", (gogoproto.nullable) = false];
map<int32,Wilson> CastMapValueMessageNullable = 2 [(gogoproto.castvalue) = "MyWilson"];
}
message Wilson {
optional int64 Int64 = 1;
}

View File

@ -0,0 +1,456 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: combos/unmarshaler/castvalue.proto
/*
Package castvalue is a generated protocol buffer package.
It is generated from these files:
combos/unmarshaler/castvalue.proto
It has these top-level messages:
Castaway
Wilson
*/
package castvalue
import testing "testing"
import math_rand "math/rand"
import time "time"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
import fmt "fmt"
import go_parser "go/parser"
import proto "github.com/gogo/protobuf/proto"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func TestCastawayProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func BenchmarkCastawayProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkCastawayProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCastaway(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Castaway{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonProto(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
littlefuzz := make([]byte, len(dAtA))
copy(littlefuzz, dAtA)
for i := range dAtA {
dAtA[i] = byte(popr.Intn(256))
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
if len(littlefuzz) > 0 {
fuzzamount := 100
for i := 0; i < fuzzamount; i++ {
littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
}
// shouldn't panic
_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
}
}
func BenchmarkWilsonProtoMarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 10000)
for i := 0; i < 10000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
if err != nil {
panic(err)
}
total += len(dAtA)
}
b.SetBytes(int64(total / b.N))
}
func BenchmarkWilsonProtoUnmarshal(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
datas := make([][]byte, 10000)
for i := 0; i < 10000; i++ {
dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedWilson(popr, false))
if err != nil {
panic(err)
}
datas[i] = dAtA
}
msg := &Wilson{}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += len(datas[i%10000])
if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
panic(err)
}
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Castaway{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestWilsonJSON(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
jsondata, err := marshaler.MarshalToString(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
msg := &Wilson{}
err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
}
}
func TestCastawayProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastawayProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestWilsonProtoCompactText(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
}
if !p.Equal(msg) {
t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
}
}
func TestCastvalueDescription(t *testing.T) {
CastvalueDescription()
}
func TestCastawayVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Castaway{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestWilsonVerboseEqual(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
panic(err)
}
msg := &Wilson{}
if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
panic(err)
}
if err := p.VerboseEqual(msg); err != nil {
t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
}
}
func TestCastawayFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestWilsonFace(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, true)
msg := p.TestProto()
if !p.Equal(msg) {
t.Fatalf("%#v !Face Equal %#v", msg, p)
}
}
func TestCastawayGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestWilsonGoString(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.GoString()
s2 := fmt.Sprintf("%#v", p)
if s1 != s2 {
t.Fatalf("GoString want %v got %v", s1, s2)
}
_, err := go_parser.ParseExpr(s1)
if err != nil {
t.Fatal(err)
}
}
func TestCastawaySize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedCastaway(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkCastawaySize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Castaway, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedCastaway(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestWilsonSize(t *testing.T) {
seed := time.Now().UnixNano()
popr := math_rand.New(math_rand.NewSource(seed))
p := NewPopulatedWilson(popr, true)
size2 := github_com_gogo_protobuf_proto.Size(p)
dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
if err != nil {
t.Fatalf("seed = %d, err = %v", seed, err)
}
size := p.Size()
if len(dAtA) != size {
t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
}
if size2 != size {
t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
}
size3 := github_com_gogo_protobuf_proto.Size(p)
if size3 != size {
t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
}
}
func BenchmarkWilsonSize(b *testing.B) {
popr := math_rand.New(math_rand.NewSource(616))
total := 0
pops := make([]*Wilson, 1000)
for i := 0; i < 1000; i++ {
pops[i] = NewPopulatedWilson(popr, false)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
total += pops[i%1000].Size()
}
b.SetBytes(int64(total / b.N))
}
func TestCastawayStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedCastaway(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
func TestWilsonStringer(t *testing.T) {
popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
p := NewPopulatedWilson(popr, false)
s1 := p.String()
s2 := fmt.Sprintf("%v", p)
if s1 != s2 {
t.Fatalf("String want %v got %v", s1, s2)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen

View File

@ -0,0 +1,31 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package castvalue
type MyWilson Wilson

View File

@ -0,0 +1,31 @@
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package castvalue
type MyWilson Wilson