1// Code generated by protoc-gen-gogo. DO NOT EDIT.
2// source: example.proto
3
4package test
5
6import proto "github.com/gogo/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import _ "github.com/gogo/protobuf/gogoproto"
10
11import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test"
12import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom"
13
14import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
15import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
16import compress_gzip "compress/gzip"
17import bytes "bytes"
18import io_ioutil "io/ioutil"
19
20import strings "strings"
21import reflect "reflect"
22
23import io "io"
24
25// Reference imports to suppress errors if they are not otherwise used.
26var _ = proto.Marshal
27var _ = fmt.Errorf
28var _ = math.Inf
29
30// This is a compile-time assertion to ensure that this generated file
31// is compatible with the proto package it is being compiled against.
32// A compilation error at this line likely means your copy of the
33// proto package needs to be updated.
34const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
35
36type A struct {
37	Description          string                             `protobuf:"bytes,1,opt,name=Description" json:"Description"`
38	Number               int64                              `protobuf:"varint,2,opt,name=Number" json:"Number"`
39	Id                   github_com_gogo_protobuf_test.Uuid `protobuf:"bytes,3,opt,name=Id,customtype=github.com/gogo/protobuf/test.Uuid" json:"Id"`
40	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
41	XXX_unrecognized     []byte                             `json:"-"`
42	XXX_sizecache        int32                              `json:"-"`
43}
44
45func (m *A) Reset()      { *m = A{} }
46func (*A) ProtoMessage() {}
47func (*A) Descriptor() ([]byte, []int) {
48	return fileDescriptor_example_32f420a2a58e4270, []int{0}
49}
50func (m *A) XXX_Unmarshal(b []byte) error {
51	return m.Unmarshal(b)
52}
53func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
54	if deterministic {
55		return xxx_messageInfo_A.Marshal(b, m, deterministic)
56	} else {
57		b = b[:cap(b)]
58		n, err := m.MarshalTo(b)
59		if err != nil {
60			return nil, err
61		}
62		return b[:n], nil
63	}
64}
65func (dst *A) XXX_Merge(src proto.Message) {
66	xxx_messageInfo_A.Merge(dst, src)
67}
68func (m *A) XXX_Size() int {
69	return m.Size()
70}
71func (m *A) XXX_DiscardUnknown() {
72	xxx_messageInfo_A.DiscardUnknown(m)
73}
74
75var xxx_messageInfo_A proto.InternalMessageInfo
76
77type B struct {
78	A                    `protobuf:"bytes,1,opt,name=A,embedded=A" json:"A"`
79	G                    []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=G,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"G"`
80	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
81	XXX_unrecognized     []byte                                         `json:"-"`
82	XXX_sizecache        int32                                          `json:"-"`
83}
84
85func (m *B) Reset()      { *m = B{} }
86func (*B) ProtoMessage() {}
87func (*B) Descriptor() ([]byte, []int) {
88	return fileDescriptor_example_32f420a2a58e4270, []int{1}
89}
90func (m *B) XXX_Unmarshal(b []byte) error {
91	return m.Unmarshal(b)
92}
93func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
94	if deterministic {
95		return xxx_messageInfo_B.Marshal(b, m, deterministic)
96	} else {
97		b = b[:cap(b)]
98		n, err := m.MarshalTo(b)
99		if err != nil {
100			return nil, err
101		}
102		return b[:n], nil
103	}
104}
105func (dst *B) XXX_Merge(src proto.Message) {
106	xxx_messageInfo_B.Merge(dst, src)
107}
108func (m *B) XXX_Size() int {
109	return m.Size()
110}
111func (m *B) XXX_DiscardUnknown() {
112	xxx_messageInfo_B.DiscardUnknown(m)
113}
114
115var xxx_messageInfo_B proto.InternalMessageInfo
116
117type C struct {
118	MySize               *int64   `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
119	XXX_NoUnkeyedLiteral struct{} `json:"-"`
120	XXX_unrecognized     []byte   `json:"-"`
121	XXX_sizecache        int32    `json:"-"`
122}
123
124func (m *C) Reset()      { *m = C{} }
125func (*C) ProtoMessage() {}
126func (*C) Descriptor() ([]byte, []int) {
127	return fileDescriptor_example_32f420a2a58e4270, []int{2}
128}
129func (m *C) XXX_Unmarshal(b []byte) error {
130	return m.Unmarshal(b)
131}
132func (m *C) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
133	if deterministic {
134		return xxx_messageInfo_C.Marshal(b, m, deterministic)
135	} else {
136		b = b[:cap(b)]
137		n, err := m.MarshalTo(b)
138		if err != nil {
139			return nil, err
140		}
141		return b[:n], nil
142	}
143}
144func (dst *C) XXX_Merge(src proto.Message) {
145	xxx_messageInfo_C.Merge(dst, src)
146}
147func (m *C) XXX_Size() int {
148	return m.Size()
149}
150func (m *C) XXX_DiscardUnknown() {
151	xxx_messageInfo_C.DiscardUnknown(m)
152}
153
154var xxx_messageInfo_C proto.InternalMessageInfo
155
156func (m *C) GetMySize() int64 {
157	if m != nil && m.MySize != nil {
158		return *m.MySize
159	}
160	return 0
161}
162
163type U struct {
164	A                    *A       `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"`
165	B                    *B       `protobuf:"bytes,2,opt,name=B" json:"B,omitempty"`
166	XXX_NoUnkeyedLiteral struct{} `json:"-"`
167	XXX_unrecognized     []byte   `json:"-"`
168	XXX_sizecache        int32    `json:"-"`
169}
170
171func (m *U) Reset()      { *m = U{} }
172func (*U) ProtoMessage() {}
173func (*U) Descriptor() ([]byte, []int) {
174	return fileDescriptor_example_32f420a2a58e4270, []int{3}
175}
176func (m *U) XXX_Unmarshal(b []byte) error {
177	return m.Unmarshal(b)
178}
179func (m *U) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
180	if deterministic {
181		return xxx_messageInfo_U.Marshal(b, m, deterministic)
182	} else {
183		b = b[:cap(b)]
184		n, err := m.MarshalTo(b)
185		if err != nil {
186			return nil, err
187		}
188		return b[:n], nil
189	}
190}
191func (dst *U) XXX_Merge(src proto.Message) {
192	xxx_messageInfo_U.Merge(dst, src)
193}
194func (m *U) XXX_Size() int {
195	return m.Size()
196}
197func (m *U) XXX_DiscardUnknown() {
198	xxx_messageInfo_U.DiscardUnknown(m)
199}
200
201var xxx_messageInfo_U proto.InternalMessageInfo
202
203func (m *U) GetA() *A {
204	if m != nil {
205		return m.A
206	}
207	return nil
208}
209
210func (m *U) GetB() *B {
211	if m != nil {
212		return m.B
213	}
214	return nil
215}
216
217type E struct {
218	XXX_NoUnkeyedLiteral struct{} `json:"-"`
219	XXX_extensions       []byte   `protobuf:"bytes,0,opt" json:"-"`
220	XXX_unrecognized     []byte   `json:"-"`
221	XXX_sizecache        int32    `json:"-"`
222}
223
224func (m *E) Reset()      { *m = E{} }
225func (*E) ProtoMessage() {}
226func (*E) Descriptor() ([]byte, []int) {
227	return fileDescriptor_example_32f420a2a58e4270, []int{4}
228}
229
230var extRange_E = []proto.ExtensionRange{
231	{Start: 1, End: 536870911},
232}
233
234func (*E) ExtensionRangeArray() []proto.ExtensionRange {
235	return extRange_E
236}
237func (m *E) GetExtensions() *[]byte {
238	if m.XXX_extensions == nil {
239		m.XXX_extensions = make([]byte, 0)
240	}
241	return &m.XXX_extensions
242}
243func (m *E) XXX_Unmarshal(b []byte) error {
244	return m.Unmarshal(b)
245}
246func (m *E) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
247	if deterministic {
248		return xxx_messageInfo_E.Marshal(b, m, deterministic)
249	} else {
250		b = b[:cap(b)]
251		n, err := m.MarshalTo(b)
252		if err != nil {
253			return nil, err
254		}
255		return b[:n], nil
256	}
257}
258func (dst *E) XXX_Merge(src proto.Message) {
259	xxx_messageInfo_E.Merge(dst, src)
260}
261func (m *E) XXX_Size() int {
262	return m.Size()
263}
264func (m *E) XXX_DiscardUnknown() {
265	xxx_messageInfo_E.DiscardUnknown(m)
266}
267
268var xxx_messageInfo_E proto.InternalMessageInfo
269
270type R struct {
271	Recognized           *uint32  `protobuf:"varint,1,opt,name=recognized" json:"recognized,omitempty"`
272	XXX_NoUnkeyedLiteral struct{} `json:"-"`
273	XXX_sizecache        int32    `json:"-"`
274}
275
276func (m *R) Reset()      { *m = R{} }
277func (*R) ProtoMessage() {}
278func (*R) Descriptor() ([]byte, []int) {
279	return fileDescriptor_example_32f420a2a58e4270, []int{5}
280}
281func (m *R) XXX_Unmarshal(b []byte) error {
282	return m.Unmarshal(b)
283}
284func (m *R) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
285	if deterministic {
286		return xxx_messageInfo_R.Marshal(b, m, deterministic)
287	} else {
288		b = b[:cap(b)]
289		n, err := m.MarshalTo(b)
290		if err != nil {
291			return nil, err
292		}
293		return b[:n], nil
294	}
295}
296func (dst *R) XXX_Merge(src proto.Message) {
297	xxx_messageInfo_R.Merge(dst, src)
298}
299func (m *R) XXX_Size() int {
300	return m.Size()
301}
302func (m *R) XXX_DiscardUnknown() {
303	xxx_messageInfo_R.DiscardUnknown(m)
304}
305
306var xxx_messageInfo_R proto.InternalMessageInfo
307
308func (m *R) GetRecognized() uint32 {
309	if m != nil && m.Recognized != nil {
310		return *m.Recognized
311	}
312	return 0
313}
314
315type CastType struct {
316	Int32                *int32   `protobuf:"varint,1,opt,name=Int32,casttype=int32" json:"Int32,omitempty"`
317	XXX_NoUnkeyedLiteral struct{} `json:"-"`
318	XXX_unrecognized     []byte   `json:"-"`
319	XXX_sizecache        int32    `json:"-"`
320}
321
322func (m *CastType) Reset()      { *m = CastType{} }
323func (*CastType) ProtoMessage() {}
324func (*CastType) Descriptor() ([]byte, []int) {
325	return fileDescriptor_example_32f420a2a58e4270, []int{6}
326}
327func (m *CastType) XXX_Unmarshal(b []byte) error {
328	return m.Unmarshal(b)
329}
330func (m *CastType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
331	if deterministic {
332		return xxx_messageInfo_CastType.Marshal(b, m, deterministic)
333	} else {
334		b = b[:cap(b)]
335		n, err := m.MarshalTo(b)
336		if err != nil {
337			return nil, err
338		}
339		return b[:n], nil
340	}
341}
342func (dst *CastType) XXX_Merge(src proto.Message) {
343	xxx_messageInfo_CastType.Merge(dst, src)
344}
345func (m *CastType) XXX_Size() int {
346	return m.Size()
347}
348func (m *CastType) XXX_DiscardUnknown() {
349	xxx_messageInfo_CastType.DiscardUnknown(m)
350}
351
352var xxx_messageInfo_CastType proto.InternalMessageInfo
353
354func (m *CastType) GetInt32() int32 {
355	if m != nil && m.Int32 != nil {
356		return *m.Int32
357	}
358	return 0
359}
360
361func init() {
362	proto.RegisterType((*A)(nil), "test.A")
363	proto.RegisterType((*B)(nil), "test.B")
364	proto.RegisterType((*C)(nil), "test.C")
365	proto.RegisterType((*U)(nil), "test.U")
366	proto.RegisterType((*E)(nil), "test.E")
367	proto.RegisterType((*R)(nil), "test.R")
368	proto.RegisterType((*CastType)(nil), "test.CastType")
369}
370func (this *B) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
371	return ExampleDescription()
372}
373func ExampleDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
374	d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
375	var gzipped = []byte{
376		// 3985 bytes of a gzipped FileDescriptorSet
377		0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x6b, 0x70, 0x1b, 0xd7,
378		0x75, 0xd6, 0xe2, 0x41, 0x02, 0x07, 0x20, 0xb8, 0xbc, 0xa4, 0x24, 0x88, 0xb6, 0x49, 0x09, 0x7e,
379		0x51, 0xb2, 0x43, 0xa5, 0xb2, 0x9e, 0xab, 0x26, 0x2e, 0x00, 0x42, 0x0c, 0x5c, 0xbe, 0xb2, 0x20,
380		0xe3, 0x47, 0xa6, 0xb3, 0xb3, 0x5c, 0x5c, 0x82, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b, 0x49, 0xd4,
381		0xf4, 0x87, 0x3a, 0xee, 0x2b, 0xd3, 0x69, 0xd3, 0xd7, 0x4c, 0x13, 0xd7, 0x71, 0xed, 0xce, 0xa4,
382		0x76, 0xd3, 0x67, 0x9a, 0x36, 0x4d, 0xfa, 0xa7, 0xf9, 0x93, 0x56, 0xbf, 0x3a, 0xce, 0xbf, 0x4e,
383		0xa7, 0xa3, 0xb1, 0x55, 0xcf, 0xf4, 0xe5, 0x36, 0x6e, 0xeb, 0x1f, 0x99, 0xfa, 0x4f, 0xe6, 0xbe,
384		0x16, 0x8b, 0x07, 0xb5, 0x60, 0x66, 0x6c, 0xff, 0x22, 0xf7, 0xdc, 0xf3, 0x7d, 0x7b, 0xee, 0xb9,
385		0xe7, 0x9e, 0x73, 0xee, 0x5d, 0xc0, 0x0f, 0x2e, 0xc1, 0xf1, 0x96, 0xe3, 0xb4, 0x2c, 0x7c, 0xda,
386		0xf5, 0x9c, 0xc0, 0xd9, 0xee, 0xec, 0x9c, 0x6e, 0x62, 0xdf, 0xf0, 0x4c, 0x37, 0x70, 0xbc, 0x45,
387		0x2a, 0x43, 0x93, 0x4c, 0x63, 0x51, 0x68, 0x94, 0x56, 0x61, 0xea, 0x8a, 0x69, 0xe1, 0xa5, 0x50,
388		0xb1, 0x81, 0x03, 0x74, 0x11, 0x52, 0x3b, 0xa6, 0x85, 0x8b, 0xd2, 0xf1, 0xe4, 0x42, 0xee, 0xcc,
389		0x23, 0x8b, 0x7d, 0xa0, 0xc5, 0x5e, 0xc4, 0x06, 0x11, 0xab, 0x14, 0x51, 0x7a, 0x27, 0x05, 0xd3,
390		0x43, 0x46, 0x11, 0x82, 0x94, 0xad, 0xb7, 0x09, 0xa3, 0xb4, 0x90, 0x55, 0xe9, 0xff, 0xa8, 0x08,
391		0xe3, 0xae, 0x6e, 0x5c, 0xd3, 0x5b, 0xb8, 0x98, 0xa0, 0x62, 0xf1, 0x88, 0xe6, 0x00, 0x9a, 0xd8,
392		0xc5, 0x76, 0x13, 0xdb, 0xc6, 0x5e, 0x31, 0x79, 0x3c, 0xb9, 0x90, 0x55, 0x23, 0x12, 0xf4, 0x04,
393		0x4c, 0xb9, 0x9d, 0x6d, 0xcb, 0x34, 0xb4, 0x88, 0x1a, 0x1c, 0x4f, 0x2e, 0xa4, 0x55, 0x99, 0x0d,
394		0x2c, 0x75, 0x95, 0x1f, 0x87, 0xc9, 0x1b, 0x58, 0xbf, 0x16, 0x55, 0xcd, 0x51, 0xd5, 0x02, 0x11,
395		0x47, 0x14, 0xab, 0x90, 0x6f, 0x63, 0xdf, 0xd7, 0x5b, 0x58, 0x0b, 0xf6, 0x5c, 0x5c, 0x4c, 0xd1,
396		0xd9, 0x1f, 0x1f, 0x98, 0x7d, 0xff, 0xcc, 0x73, 0x1c, 0xb5, 0xb9, 0xe7, 0x62, 0x54, 0x86, 0x2c,
397		0xb6, 0x3b, 0x6d, 0xc6, 0x90, 0xde, 0xc7, 0x7f, 0x35, 0xbb, 0xd3, 0xee, 0x67, 0xc9, 0x10, 0x18,
398		0xa7, 0x18, 0xf7, 0xb1, 0x77, 0xdd, 0x34, 0x70, 0x71, 0x8c, 0x12, 0x3c, 0x3e, 0x40, 0xd0, 0x60,
399		0xe3, 0xfd, 0x1c, 0x02, 0x87, 0xaa, 0x90, 0xc5, 0x37, 0x03, 0x6c, 0xfb, 0xa6, 0x63, 0x17, 0xc7,
400		0x29, 0xc9, 0xa3, 0x43, 0x56, 0x11, 0x5b, 0xcd, 0x7e, 0x8a, 0x2e, 0x0e, 0x9d, 0x87, 0x71, 0xc7,
401		0x0d, 0x4c, 0xc7, 0xf6, 0x8b, 0x99, 0xe3, 0xd2, 0x42, 0xee, 0xcc, 0x83, 0x43, 0x03, 0x61, 0x9d,
402		0xe9, 0xa8, 0x42, 0x19, 0xd5, 0x41, 0xf6, 0x9d, 0x8e, 0x67, 0x60, 0xcd, 0x70, 0x9a, 0x58, 0x33,
403		0xed, 0x1d, 0xa7, 0x98, 0xa5, 0x04, 0xf3, 0x83, 0x13, 0xa1, 0x8a, 0x55, 0xa7, 0x89, 0xeb, 0xf6,
404		0x8e, 0xa3, 0x16, 0xfc, 0x9e, 0x67, 0x74, 0x04, 0xc6, 0xfc, 0x3d, 0x3b, 0xd0, 0x6f, 0x16, 0xf3,
405		0x34, 0x42, 0xf8, 0x53, 0xe9, 0x3b, 0x63, 0x30, 0x39, 0x4a, 0x88, 0x5d, 0x86, 0xf4, 0x0e, 0x99,
406		0x65, 0x31, 0x71, 0x10, 0x1f, 0x30, 0x4c, 0xaf, 0x13, 0xc7, 0x7e, 0x4c, 0x27, 0x96, 0x21, 0x67,
407		0x63, 0x3f, 0xc0, 0x4d, 0x16, 0x11, 0xc9, 0x11, 0x63, 0x0a, 0x18, 0x68, 0x30, 0xa4, 0x52, 0x3f,
408		0x56, 0x48, 0x3d, 0x07, 0x93, 0xa1, 0x49, 0x9a, 0xa7, 0xdb, 0x2d, 0x11, 0x9b, 0xa7, 0xe3, 0x2c,
409		0x59, 0xac, 0x09, 0x9c, 0x4a, 0x60, 0x6a, 0x01, 0xf7, 0x3c, 0xa3, 0x25, 0x00, 0xc7, 0xc6, 0xce,
410		0x8e, 0xd6, 0xc4, 0x86, 0x55, 0xcc, 0xec, 0xe3, 0xa5, 0x75, 0xa2, 0x32, 0xe0, 0x25, 0x87, 0x49,
411		0x0d, 0x0b, 0x5d, 0xea, 0x86, 0xda, 0xf8, 0x3e, 0x91, 0xb2, 0xca, 0x36, 0xd9, 0x40, 0xb4, 0x6d,
412		0x41, 0xc1, 0xc3, 0x24, 0xee, 0x71, 0x93, 0xcf, 0x2c, 0x4b, 0x8d, 0x58, 0x8c, 0x9d, 0x99, 0xca,
413		0x61, 0x6c, 0x62, 0x13, 0x5e, 0xf4, 0x11, 0x3d, 0x0c, 0xa1, 0x40, 0xa3, 0x61, 0x05, 0x34, 0x0b,
414		0xe5, 0x85, 0x70, 0x4d, 0x6f, 0xe3, 0xd9, 0x5b, 0x50, 0xe8, 0x75, 0x0f, 0x9a, 0x81, 0xb4, 0x1f,
415		0xe8, 0x5e, 0x40, 0xa3, 0x30, 0xad, 0xb2, 0x07, 0x24, 0x43, 0x12, 0xdb, 0x4d, 0x9a, 0xe5, 0xd2,
416		0x2a, 0xf9, 0x17, 0xfd, 0x54, 0x77, 0xc2, 0x49, 0x3a, 0xe1, 0xc7, 0x06, 0x57, 0xb4, 0x87, 0xb9,
417		0x7f, 0xde, 0xb3, 0x17, 0x60, 0xa2, 0x67, 0x02, 0xa3, 0xbe, 0xba, 0xf4, 0xb3, 0x70, 0x78, 0x28,
418		0x35, 0x7a, 0x0e, 0x66, 0x3a, 0xb6, 0x69, 0x07, 0xd8, 0x73, 0x3d, 0x4c, 0x22, 0x96, 0xbd, 0xaa,
419		0xf8, 0xaf, 0xe3, 0xfb, 0xc4, 0xdc, 0x56, 0x54, 0x9b, 0xb1, 0xa8, 0xd3, 0x9d, 0x41, 0xe1, 0xa9,
420		0x6c, 0xe6, 0xdf, 0xc6, 0xe5, 0xdb, 0xb7, 0x6f, 0xdf, 0x4e, 0x94, 0xbe, 0x3c, 0x06, 0x33, 0xc3,
421		0xf6, 0xcc, 0xd0, 0xed, 0x7b, 0x04, 0xc6, 0xec, 0x4e, 0x7b, 0x1b, 0x7b, 0xd4, 0x49, 0x69, 0x95,
422		0x3f, 0xa1, 0x32, 0xa4, 0x2d, 0x7d, 0x1b, 0x5b, 0xc5, 0xd4, 0x71, 0x69, 0xa1, 0x70, 0xe6, 0x89,
423		0x91, 0x76, 0xe5, 0xe2, 0x0a, 0x81, 0xa8, 0x0c, 0x89, 0x3e, 0x0d, 0x29, 0x9e, 0xa2, 0x09, 0xc3,
424		0xa9, 0xd1, 0x18, 0xc8, 0x5e, 0x52, 0x29, 0x0e, 0x3d, 0x00, 0x59, 0xf2, 0x97, 0xc5, 0xc6, 0x18,
425		0xb5, 0x39, 0x43, 0x04, 0x24, 0x2e, 0xd0, 0x2c, 0x64, 0xe8, 0x36, 0x69, 0x62, 0x51, 0xda, 0xc2,
426		0x67, 0x12, 0x58, 0x4d, 0xbc, 0xa3, 0x77, 0xac, 0x40, 0xbb, 0xae, 0x5b, 0x1d, 0x4c, 0x03, 0x3e,
427		0xab, 0xe6, 0xb9, 0xf0, 0x73, 0x44, 0x86, 0xe6, 0x21, 0xc7, 0x76, 0x95, 0x69, 0x37, 0xf1, 0x4d,
428		0x9a, 0x3d, 0xd3, 0x2a, 0xdb, 0x68, 0x75, 0x22, 0x21, 0xaf, 0xbf, 0xea, 0x3b, 0xb6, 0x08, 0x4d,
429		0xfa, 0x0a, 0x22, 0xa0, 0xaf, 0xbf, 0xd0, 0x9f, 0xb8, 0x1f, 0x1a, 0x3e, 0xbd, 0xfe, 0x98, 0x2a,
430		0x7d, 0x2b, 0x01, 0x29, 0x9a, 0x2f, 0x26, 0x21, 0xb7, 0xf9, 0xfc, 0x46, 0x4d, 0x5b, 0x5a, 0xdf,
431		0xaa, 0xac, 0xd4, 0x64, 0x09, 0x15, 0x00, 0xa8, 0xe0, 0xca, 0xca, 0x7a, 0x79, 0x53, 0x4e, 0x84,
432		0xcf, 0xf5, 0xb5, 0xcd, 0xf3, 0x67, 0xe5, 0x64, 0x08, 0xd8, 0x62, 0x82, 0x54, 0x54, 0xe1, 0xa9,
433		0x33, 0x72, 0x1a, 0xc9, 0x90, 0x67, 0x04, 0xf5, 0xe7, 0x6a, 0x4b, 0xe7, 0xcf, 0xca, 0x63, 0xbd,
434		0x92, 0xa7, 0xce, 0xc8, 0xe3, 0x68, 0x02, 0xb2, 0x54, 0x52, 0x59, 0x5f, 0x5f, 0x91, 0x33, 0x21,
435		0x67, 0x63, 0x53, 0xad, 0xaf, 0x2d, 0xcb, 0xd9, 0x90, 0x73, 0x59, 0x5d, 0xdf, 0xda, 0x90, 0x21,
436		0x64, 0x58, 0xad, 0x35, 0x1a, 0xe5, 0xe5, 0x9a, 0x9c, 0x0b, 0x35, 0x2a, 0xcf, 0x6f, 0xd6, 0x1a,
437		0x72, 0xbe, 0xc7, 0xac, 0xa7, 0xce, 0xc8, 0x13, 0xe1, 0x2b, 0x6a, 0x6b, 0x5b, 0xab, 0x72, 0x01,
438		0x4d, 0xc1, 0x04, 0x7b, 0x85, 0x30, 0x62, 0xb2, 0x4f, 0x74, 0xfe, 0xac, 0x2c, 0x77, 0x0d, 0x61,
439		0x2c, 0x53, 0x3d, 0x82, 0xf3, 0x67, 0x65, 0x54, 0xaa, 0x42, 0x9a, 0x46, 0x17, 0x42, 0x50, 0x58,
440		0x29, 0x57, 0x6a, 0x2b, 0xda, 0xfa, 0xc6, 0x66, 0x7d, 0x7d, 0xad, 0xbc, 0x22, 0x4b, 0x5d, 0x99,
441		0x5a, 0xfb, 0xec, 0x56, 0x5d, 0xad, 0x2d, 0xc9, 0x89, 0xa8, 0x6c, 0xa3, 0x56, 0xde, 0xac, 0x2d,
442		0xc9, 0xc9, 0x92, 0x01, 0x33, 0xc3, 0xf2, 0xe4, 0xd0, 0x9d, 0x11, 0x59, 0xe2, 0xc4, 0x3e, 0x4b,
443		0x4c, 0xb9, 0x06, 0x96, 0xf8, 0x5f, 0x12, 0x30, 0x3d, 0xa4, 0x56, 0x0c, 0x7d, 0xc9, 0xd3, 0x90,
444		0x66, 0x21, 0xca, 0xaa, 0xe7, 0xc9, 0xa1, 0x45, 0x87, 0x06, 0xec, 0x40, 0x05, 0xa5, 0xb8, 0x68,
445		0x07, 0x91, 0xdc, 0xa7, 0x83, 0x20, 0x14, 0x03, 0x39, 0xfd, 0x67, 0x06, 0x72, 0x3a, 0x2b, 0x7b,
446		0xe7, 0x47, 0x29, 0x7b, 0x54, 0x76, 0xb0, 0xdc, 0x9e, 0x1e, 0x92, 0xdb, 0x2f, 0xc3, 0xd4, 0x00,
447		0xd1, 0xc8, 0x39, 0xf6, 0x45, 0x09, 0x8a, 0xfb, 0x39, 0x27, 0x26, 0xd3, 0x25, 0x7a, 0x32, 0xdd,
448		0xe5, 0x7e, 0x0f, 0x9e, 0xd8, 0x7f, 0x11, 0x06, 0xd6, 0xfa, 0x75, 0x09, 0x8e, 0x0c, 0xef, 0x14,
449		0x87, 0xda, 0xf0, 0x69, 0x18, 0x6b, 0xe3, 0x60, 0xd7, 0x11, 0xdd, 0xd2, 0x63, 0x43, 0x6a, 0x30,
450		0x19, 0xee, 0x5f, 0x6c, 0x8e, 0x8a, 0x16, 0xf1, 0xe4, 0x7e, 0xed, 0x1e, 0xb3, 0x66, 0xc0, 0xd2,
451		0x2f, 0x26, 0xe0, 0xf0, 0x50, 0xf2, 0xa1, 0x86, 0x3e, 0x04, 0x60, 0xda, 0x6e, 0x27, 0x60, 0x1d,
452		0x11, 0x4b, 0xb0, 0x59, 0x2a, 0xa1, 0xc9, 0x8b, 0x24, 0xcf, 0x4e, 0x10, 0x8e, 0x27, 0xe9, 0x38,
453		0x30, 0x11, 0x55, 0xb8, 0xd8, 0x35, 0x34, 0x45, 0x0d, 0x9d, 0xdb, 0x67, 0xa6, 0x03, 0x81, 0xf9,
454		0x49, 0x90, 0x0d, 0xcb, 0xc4, 0x76, 0xa0, 0xf9, 0x81, 0x87, 0xf5, 0xb6, 0x69, 0xb7, 0x68, 0x05,
455		0xc9, 0x28, 0xe9, 0x1d, 0xdd, 0xf2, 0xb1, 0x3a, 0xc9, 0x86, 0x1b, 0x62, 0x94, 0x20, 0x68, 0x00,
456		0x79, 0x11, 0xc4, 0x58, 0x0f, 0x82, 0x0d, 0x87, 0x88, 0xd2, 0x37, 0x33, 0x90, 0x8b, 0xf4, 0xd5,
457		0xe8, 0x04, 0xe4, 0xaf, 0xea, 0xd7, 0x75, 0x4d, 0x9c, 0x95, 0x98, 0x27, 0x72, 0x44, 0xb6, 0xc1,
458		0xcf, 0x4b, 0x9f, 0x84, 0x19, 0xaa, 0xe2, 0x74, 0x02, 0xec, 0x69, 0x86, 0xa5, 0xfb, 0x3e, 0x75,
459		0x5a, 0x86, 0xaa, 0x22, 0x32, 0xb6, 0x4e, 0x86, 0xaa, 0x62, 0x04, 0x9d, 0x83, 0x69, 0x8a, 0x68,
460		0x77, 0xac, 0xc0, 0x74, 0x2d, 0xac, 0x91, 0xd3, 0x9b, 0x4f, 0x2b, 0x49, 0x68, 0xd9, 0x14, 0xd1,
461		0x58, 0xe5, 0x0a, 0xc4, 0x22, 0x1f, 0x2d, 0xc1, 0x43, 0x14, 0xd6, 0xc2, 0x36, 0xf6, 0xf4, 0x00,
462		0x6b, 0xf8, 0x0b, 0x1d, 0xdd, 0xf2, 0x35, 0xdd, 0x6e, 0x6a, 0xbb, 0xba, 0xbf, 0x5b, 0x9c, 0x21,
463		0x04, 0x95, 0x44, 0x51, 0x52, 0x8f, 0x11, 0xc5, 0x65, 0xae, 0x57, 0xa3, 0x6a, 0x65, 0xbb, 0xf9,
464		0x19, 0xdd, 0xdf, 0x45, 0x0a, 0x1c, 0xa1, 0x2c, 0x7e, 0xe0, 0x99, 0x76, 0x4b, 0x33, 0x76, 0xb1,
465		0x71, 0x4d, 0xeb, 0x04, 0x3b, 0x17, 0x8b, 0x0f, 0x44, 0xdf, 0x4f, 0x2d, 0x6c, 0x50, 0x9d, 0x2a,
466		0x51, 0xd9, 0x0a, 0x76, 0x2e, 0xa2, 0x06, 0xe4, 0xc9, 0x62, 0xb4, 0xcd, 0x5b, 0x58, 0xdb, 0x71,
467		0x3c, 0x5a, 0x1a, 0x0b, 0x43, 0x52, 0x53, 0xc4, 0x83, 0x8b, 0xeb, 0x1c, 0xb0, 0xea, 0x34, 0xb1,
468		0x92, 0x6e, 0x6c, 0xd4, 0x6a, 0x4b, 0x6a, 0x4e, 0xb0, 0x5c, 0x71, 0x3c, 0x12, 0x50, 0x2d, 0x27,
469		0x74, 0x70, 0x8e, 0x05, 0x54, 0xcb, 0x11, 0xee, 0x3d, 0x07, 0xd3, 0x86, 0xc1, 0xe6, 0x6c, 0x1a,
470		0x1a, 0x3f, 0x63, 0xf9, 0x45, 0xb9, 0xc7, 0x59, 0x86, 0xb1, 0xcc, 0x14, 0x78, 0x8c, 0xfb, 0xe8,
471		0x12, 0x1c, 0xee, 0x3a, 0x2b, 0x0a, 0x9c, 0x1a, 0x98, 0x65, 0x3f, 0xf4, 0x1c, 0x4c, 0xbb, 0x7b,
472		0x83, 0x40, 0xd4, 0xf3, 0x46, 0x77, 0xaf, 0x1f, 0x76, 0x01, 0x66, 0xdc, 0x5d, 0x77, 0x10, 0x77,
473		0x2a, 0x8a, 0x43, 0xee, 0xae, 0xdb, 0x0f, 0x7c, 0x94, 0x1e, 0xb8, 0x3d, 0x6c, 0xe8, 0x01, 0x6e,
474		0x16, 0x8f, 0x46, 0xd5, 0x23, 0x03, 0xe8, 0x34, 0xc8, 0x86, 0xa1, 0x61, 0x5b, 0xdf, 0xb6, 0xb0,
475		0xa6, 0x7b, 0xd8, 0xd6, 0xfd, 0xe2, 0x7c, 0x54, 0xb9, 0x60, 0x18, 0x35, 0x3a, 0x5a, 0xa6, 0x83,
476		0xe8, 0x14, 0x4c, 0x39, 0xdb, 0x57, 0x0d, 0x16, 0x92, 0x9a, 0xeb, 0xe1, 0x1d, 0xf3, 0x66, 0xf1,
477		0x11, 0xea, 0xdf, 0x49, 0x32, 0x40, 0x03, 0x72, 0x83, 0x8a, 0xd1, 0x49, 0x90, 0x0d, 0x7f, 0x57,
478		0xf7, 0x5c, 0x9a, 0x93, 0x7d, 0x57, 0x37, 0x70, 0xf1, 0x51, 0xa6, 0xca, 0xe4, 0x6b, 0x42, 0x4c,
479		0xb6, 0x84, 0x7f, 0xc3, 0xdc, 0x09, 0x04, 0xe3, 0xe3, 0x6c, 0x4b, 0x50, 0x19, 0x67, 0x5b, 0x00,
480		0x99, 0xb8, 0xa2, 0xe7, 0xc5, 0x0b, 0x54, 0xad, 0xe0, 0xee, 0xba, 0xd1, 0xf7, 0x3e, 0x0c, 0x13,
481		0x44, 0xb3, 0xfb, 0xd2, 0x93, 0xac, 0x21, 0x73, 0x77, 0x23, 0x6f, 0xfc, 0xd0, 0x7a, 0xe3, 0x92,
482		0x02, 0xf9, 0x68, 0x7c, 0xa2, 0x2c, 0xb0, 0x08, 0x95, 0x25, 0xd2, 0xac, 0x54, 0xd7, 0x97, 0x48,
483		0x9b, 0xf1, 0x42, 0x4d, 0x4e, 0x90, 0x76, 0x67, 0xa5, 0xbe, 0x59, 0xd3, 0xd4, 0xad, 0xb5, 0xcd,
484		0xfa, 0x6a, 0x4d, 0x4e, 0x46, 0xfb, 0xea, 0xef, 0x25, 0xa0, 0xd0, 0x7b, 0x44, 0x42, 0x3f, 0x09,
485		0x47, 0xc5, 0x7d, 0x86, 0x8f, 0x03, 0xed, 0x86, 0xe9, 0xd1, 0x2d, 0xd3, 0xd6, 0x59, 0xf9, 0x0a,
486		0x17, 0x6d, 0x86, 0x6b, 0x35, 0x70, 0xf0, 0xac, 0xe9, 0x91, 0x0d, 0xd1, 0xd6, 0x03, 0xb4, 0x02,
487		0xf3, 0xb6, 0xa3, 0xf9, 0x81, 0x6e, 0x37, 0x75, 0xaf, 0xa9, 0x75, 0x6f, 0x92, 0x34, 0xdd, 0x30,
488		0xb0, 0xef, 0x3b, 0xac, 0x54, 0x85, 0x2c, 0x0f, 0xda, 0x4e, 0x83, 0x2b, 0x77, 0x73, 0x78, 0x99,
489		0xab, 0xf6, 0x05, 0x58, 0x72, 0xbf, 0x00, 0x7b, 0x00, 0xb2, 0x6d, 0xdd, 0xd5, 0xb0, 0x1d, 0x78,
490		0x7b, 0xb4, 0x31, 0xce, 0xa8, 0x99, 0xb6, 0xee, 0xd6, 0xc8, 0xf3, 0x47, 0x73, 0x3e, 0xf9, 0xe7,
491		0x24, 0xe4, 0xa3, 0xcd, 0x31, 0x39, 0x6b, 0x18, 0xb4, 0x8e, 0x48, 0x34, 0xd3, 0x3c, 0x7c, 0xdf,
492		0x56, 0x7a, 0xb1, 0x4a, 0x0a, 0x8c, 0x32, 0xc6, 0x5a, 0x56, 0x95, 0x21, 0x49, 0x71, 0x27, 0xb9,
493		0x05, 0xb3, 0x16, 0x21, 0xa3, 0xf2, 0x27, 0xb4, 0x0c, 0x63, 0x57, 0x7d, 0xca, 0x3d, 0x46, 0xb9,
494		0x1f, 0xb9, 0x3f, 0xf7, 0x33, 0x0d, 0x4a, 0x9e, 0x7d, 0xa6, 0xa1, 0xad, 0xad, 0xab, 0xab, 0xe5,
495		0x15, 0x95, 0xc3, 0xd1, 0x31, 0x48, 0x59, 0xfa, 0xad, 0xbd, 0xde, 0x52, 0x44, 0x45, 0xa3, 0x3a,
496		0xfe, 0x18, 0xa4, 0x6e, 0x60, 0xfd, 0x5a, 0x6f, 0x01, 0xa0, 0xa2, 0x0f, 0x31, 0xf4, 0x4f, 0x43,
497		0x9a, 0xfa, 0x0b, 0x01, 0x70, 0x8f, 0xc9, 0x87, 0x50, 0x06, 0x52, 0xd5, 0x75, 0x95, 0x84, 0xbf,
498		0x0c, 0x79, 0x26, 0xd5, 0x36, 0xea, 0xb5, 0x6a, 0x4d, 0x4e, 0x94, 0xce, 0xc1, 0x18, 0x73, 0x02,
499		0xd9, 0x1a, 0xa1, 0x1b, 0xe4, 0x43, 0xfc, 0x91, 0x73, 0x48, 0x62, 0x74, 0x6b, 0xb5, 0x52, 0x53,
500		0xe5, 0x44, 0x74, 0x79, 0x7d, 0xc8, 0x47, 0xfb, 0xe2, 0x8f, 0x26, 0xa6, 0xfe, 0x46, 0x82, 0x5c,
501		0xa4, 0xcf, 0x25, 0x0d, 0x8a, 0x6e, 0x59, 0xce, 0x0d, 0x4d, 0xb7, 0x4c, 0xdd, 0xe7, 0x41, 0x01,
502		0x54, 0x54, 0x26, 0x92, 0x51, 0x17, 0xed, 0x23, 0x31, 0xfe, 0x15, 0x09, 0xe4, 0xfe, 0x16, 0xb3,
503		0xcf, 0x40, 0xe9, 0x63, 0x35, 0xf0, 0x65, 0x09, 0x0a, 0xbd, 0x7d, 0x65, 0x9f, 0x79, 0x27, 0x3e,
504		0x56, 0xf3, 0xde, 0x4a, 0xc0, 0x44, 0x4f, 0x37, 0x39, 0xaa, 0x75, 0x5f, 0x80, 0x29, 0xb3, 0x89,
505		0xdb, 0xae, 0x13, 0x60, 0xdb, 0xd8, 0xd3, 0x2c, 0x7c, 0x1d, 0x5b, 0xc5, 0x12, 0x4d, 0x14, 0xa7,
506		0xef, 0xdf, 0xaf, 0x2e, 0xd6, 0xbb, 0xb8, 0x15, 0x02, 0x53, 0xa6, 0xeb, 0x4b, 0xb5, 0xd5, 0x8d,
507		0xf5, 0xcd, 0xda, 0x5a, 0xf5, 0x79, 0x6d, 0x6b, 0xed, 0xa7, 0xd7, 0xd6, 0x9f, 0x5d, 0x53, 0x65,
508		0xb3, 0x4f, 0xed, 0x43, 0xdc, 0xea, 0x1b, 0x20, 0xf7, 0x1b, 0x85, 0x8e, 0xc2, 0x30, 0xb3, 0xe4,
509		0x43, 0x68, 0x1a, 0x26, 0xd7, 0xd6, 0xb5, 0x46, 0x7d, 0xa9, 0xa6, 0xd5, 0xae, 0x5c, 0xa9, 0x55,
510		0x37, 0x1b, 0xec, 0x06, 0x22, 0xd4, 0xde, 0xec, 0xdd, 0xd4, 0x2f, 0x25, 0x61, 0x7a, 0x88, 0x25,
511		0xa8, 0xcc, 0xcf, 0x0e, 0xec, 0x38, 0xf3, 0x89, 0x51, 0xac, 0x5f, 0x24, 0x25, 0x7f, 0x43, 0xf7,
512		0x02, 0x7e, 0xd4, 0x38, 0x09, 0xc4, 0x4b, 0x76, 0x60, 0xee, 0x98, 0xd8, 0xe3, 0x17, 0x36, 0xec,
513		0x40, 0x31, 0xd9, 0x95, 0xb3, 0x3b, 0x9b, 0x27, 0x01, 0xb9, 0x8e, 0x6f, 0x06, 0xe6, 0x75, 0xac,
514		0x99, 0xb6, 0xb8, 0xdd, 0x21, 0x07, 0x8c, 0x94, 0x2a, 0x8b, 0x91, 0xba, 0x1d, 0x84, 0xda, 0x36,
515		0x6e, 0xe9, 0x7d, 0xda, 0x24, 0x81, 0x27, 0x55, 0x59, 0x8c, 0x84, 0xda, 0x27, 0x20, 0xdf, 0x74,
516		0x3a, 0xa4, 0xeb, 0x62, 0x7a, 0xa4, 0x5e, 0x48, 0x6a, 0x8e, 0xc9, 0x42, 0x15, 0xde, 0x4f, 0x77,
517		0xaf, 0x95, 0xf2, 0x6a, 0x8e, 0xc9, 0x98, 0xca, 0xe3, 0x30, 0xa9, 0xb7, 0x5a, 0x1e, 0x21, 0x17,
518		0x44, 0xec, 0x84, 0x50, 0x08, 0xc5, 0x54, 0x71, 0xf6, 0x19, 0xc8, 0x08, 0x3f, 0x90, 0x92, 0x4c,
519		0x3c, 0xa1, 0xb9, 0xec, 0xd8, 0x9b, 0x58, 0xc8, 0xaa, 0x19, 0x5b, 0x0c, 0x9e, 0x80, 0xbc, 0xe9,
520		0x6b, 0xdd, 0x5b, 0xf2, 0xc4, 0xf1, 0xc4, 0x42, 0x46, 0xcd, 0x99, 0x7e, 0x78, 0xc3, 0x58, 0x7a,
521		0x3d, 0x01, 0x85, 0xde, 0x5b, 0x7e, 0xb4, 0x04, 0x19, 0xcb, 0x31, 0x74, 0x1a, 0x5a, 0xec, 0x13,
522		0xd3, 0x42, 0xcc, 0x87, 0x81, 0xc5, 0x15, 0xae, 0xaf, 0x86, 0xc8, 0xd9, 0x7f, 0x90, 0x20, 0x23,
523		0xc4, 0xe8, 0x08, 0xa4, 0x5c, 0x3d, 0xd8, 0xa5, 0x74, 0xe9, 0x4a, 0x42, 0x96, 0x54, 0xfa, 0x4c,
524		0xe4, 0xbe, 0xab, 0xdb, 0x34, 0x04, 0xb8, 0x9c, 0x3c, 0x93, 0x75, 0xb5, 0xb0, 0xde, 0xa4, 0xc7,
525		0x0f, 0xa7, 0xdd, 0xc6, 0x76, 0xe0, 0x8b, 0x75, 0xe5, 0xf2, 0x2a, 0x17, 0xa3, 0x27, 0x60, 0x2a,
526		0xf0, 0x74, 0xd3, 0xea, 0xd1, 0x4d, 0x51, 0x5d, 0x59, 0x0c, 0x84, 0xca, 0x0a, 0x1c, 0x13, 0xbc,
527		0x4d, 0x1c, 0xe8, 0xc6, 0x2e, 0x6e, 0x76, 0x41, 0x63, 0xf4, 0x9a, 0xe1, 0x28, 0x57, 0x58, 0xe2,
528		0xe3, 0x02, 0x5b, 0xfa, 0xbe, 0x04, 0x53, 0xe2, 0xc0, 0xd4, 0x0c, 0x9d, 0xb5, 0x0a, 0xa0, 0xdb,
529		0xb6, 0x13, 0x44, 0xdd, 0x35, 0x18, 0xca, 0x03, 0xb8, 0xc5, 0x72, 0x08, 0x52, 0x23, 0x04, 0xb3,
530		0x6d, 0x80, 0xee, 0xc8, 0xbe, 0x6e, 0x9b, 0x87, 0x1c, 0xff, 0x84, 0x43, 0xbf, 0x03, 0xb2, 0x23,
531		0x36, 0x30, 0x11, 0x39, 0x59, 0xa1, 0x19, 0x48, 0x6f, 0xe3, 0x96, 0x69, 0xf3, 0x8b, 0x59, 0xf6,
532		0x20, 0x2e, 0x42, 0x52, 0xe1, 0x45, 0x48, 0xe5, 0xf3, 0x30, 0x6d, 0x38, 0xed, 0x7e, 0x73, 0x2b,
533		0x72, 0xdf, 0x31, 0xdf, 0xff, 0x8c, 0xf4, 0x02, 0x74, 0x5b, 0xcc, 0x1f, 0x4a, 0xd2, 0xef, 0x27,
534		0x92, 0xcb, 0x1b, 0x95, 0xaf, 0x27, 0x66, 0x97, 0x19, 0x74, 0x43, 0xcc, 0x54, 0xc5, 0x3b, 0x16,
535		0x36, 0x88, 0xf5, 0xf0, 0xb5, 0x05, 0xf8, 0x44, 0xcb, 0x0c, 0x76, 0x3b, 0xdb, 0x8b, 0x86, 0xd3,
536		0x3e, 0xdd, 0x72, 0x5a, 0x4e, 0xf7, 0xd3, 0x27, 0x79, 0xa2, 0x0f, 0xf4, 0x3f, 0xfe, 0xf9, 0x33,
537		0x1b, 0x4a, 0x67, 0x63, 0xbf, 0x95, 0x2a, 0x6b, 0x30, 0xcd, 0x95, 0x35, 0xfa, 0xfd, 0x85, 0x9d,
538		0x22, 0xd0, 0x7d, 0xef, 0xb0, 0x8a, 0xdf, 0x78, 0x87, 0x96, 0x6b, 0x75, 0x8a, 0x43, 0xc9, 0x18,
539		0x3b, 0x68, 0x28, 0x2a, 0x1c, 0xee, 0xe1, 0x63, 0x5b, 0x13, 0x7b, 0x31, 0x8c, 0xdf, 0xe3, 0x8c,
540		0xd3, 0x11, 0xc6, 0x06, 0x87, 0x2a, 0x55, 0x98, 0x38, 0x08, 0xd7, 0xdf, 0x71, 0xae, 0x3c, 0x8e,
541		0x92, 0x2c, 0xc3, 0x24, 0x25, 0x31, 0x3a, 0x7e, 0xe0, 0xb4, 0x69, 0xde, 0xbb, 0x3f, 0xcd, 0xdf,
542		0xbf, 0xc3, 0xf6, 0x4a, 0x81, 0xc0, 0xaa, 0x21, 0x4a, 0x51, 0x80, 0x7e, 0x72, 0x6a, 0x62, 0xc3,
543		0x8a, 0x61, 0xb8, 0xc3, 0x0d, 0x09, 0xf5, 0x95, 0xcf, 0xc1, 0x0c, 0xf9, 0x9f, 0xa6, 0xa5, 0xa8,
544		0x25, 0xf1, 0x17, 0x5e, 0xc5, 0xef, 0xbf, 0xc8, 0xb6, 0xe3, 0x74, 0x48, 0x10, 0xb1, 0x29, 0xb2,
545		0x8a, 0x2d, 0x1c, 0x04, 0xd8, 0xf3, 0x35, 0xdd, 0x1a, 0x66, 0x5e, 0xe4, 0xc6, 0xa0, 0xf8, 0x95,
546		0x77, 0x7b, 0x57, 0x71, 0x99, 0x21, 0xcb, 0x96, 0xa5, 0x6c, 0xc1, 0xd1, 0x21, 0x51, 0x31, 0x02,
547		0xe7, 0x4b, 0x9c, 0x73, 0x66, 0x20, 0x32, 0x08, 0xed, 0x06, 0x08, 0x79, 0xb8, 0x96, 0x23, 0x70,
548		0xfe, 0x2e, 0xe7, 0x44, 0x1c, 0x2b, 0x96, 0x94, 0x30, 0x3e, 0x03, 0x53, 0xd7, 0xb1, 0xb7, 0xed,
549		0xf8, 0xfc, 0x96, 0x66, 0x04, 0xba, 0x97, 0x39, 0xdd, 0x24, 0x07, 0xd2, 0x6b, 0x1b, 0xc2, 0x75,
550		0x09, 0x32, 0x3b, 0xba, 0x81, 0x47, 0xa0, 0xf8, 0x2a, 0xa7, 0x18, 0x27, 0xfa, 0x04, 0x5a, 0x86,
551		0x7c, 0xcb, 0xe1, 0x95, 0x29, 0x1e, 0xfe, 0x0a, 0x87, 0xe7, 0x04, 0x86, 0x53, 0xb8, 0x8e, 0xdb,
552		0xb1, 0x48, 0xd9, 0x8a, 0xa7, 0xf8, 0x3d, 0x41, 0x21, 0x30, 0x9c, 0xe2, 0x00, 0x6e, 0x7d, 0x55,
553		0x50, 0xf8, 0x11, 0x7f, 0x3e, 0x0d, 0x39, 0xc7, 0xb6, 0xf6, 0x1c, 0x7b, 0x14, 0x23, 0x5e, 0xe3,
554		0x0c, 0xc0, 0x21, 0x84, 0xe0, 0x32, 0x64, 0x47, 0x5d, 0x88, 0xaf, 0xbd, 0x2b, 0xb6, 0x87, 0x58,
555		0x81, 0x65, 0x98, 0x14, 0x09, 0xca, 0x74, 0xec, 0x11, 0x28, 0xfe, 0x80, 0x53, 0x14, 0x22, 0x30,
556		0x3e, 0x8d, 0x00, 0xfb, 0x41, 0x0b, 0x8f, 0x42, 0xf2, 0xba, 0x98, 0x06, 0x87, 0x70, 0x57, 0x6e,
557		0x63, 0xdb, 0xd8, 0x1d, 0x8d, 0xe1, 0x0d, 0xe1, 0x4a, 0x81, 0x21, 0x14, 0x55, 0x98, 0x68, 0xeb,
558		0x9e, 0xbf, 0xab, 0x5b, 0x23, 0x2d, 0xc7, 0x1f, 0x72, 0x8e, 0x7c, 0x08, 0xe2, 0x1e, 0xe9, 0xd8,
559		0x07, 0xa1, 0xf9, 0xba, 0xf0, 0x48, 0x04, 0xc6, 0xb7, 0x9e, 0x1f, 0xd0, 0x2b, 0xad, 0x83, 0xb0,
560		0xfd, 0x91, 0xd8, 0x7a, 0x0c, 0xbb, 0x1a, 0x65, 0xbc, 0x0c, 0x59, 0xdf, 0xbc, 0x35, 0x12, 0xcd,
561		0x1f, 0x8b, 0x95, 0xa6, 0x00, 0x02, 0x7e, 0x1e, 0x8e, 0x0d, 0x2d, 0x13, 0x23, 0x90, 0xfd, 0x09,
562		0x27, 0x3b, 0x32, 0xa4, 0x54, 0xf0, 0x94, 0x70, 0x50, 0xca, 0x3f, 0x15, 0x29, 0x01, 0xf7, 0x71,
563		0x6d, 0x90, 0xb3, 0x82, 0xaf, 0xef, 0x1c, 0xcc, 0x6b, 0x7f, 0x26, 0xbc, 0xc6, 0xb0, 0x3d, 0x5e,
564		0xdb, 0x84, 0x23, 0x9c, 0xf1, 0x60, 0xeb, 0xfa, 0xe7, 0x22, 0xb1, 0x32, 0xf4, 0x56, 0xef, 0xea,
565		0x7e, 0x1e, 0x66, 0x43, 0x77, 0x8a, 0xa6, 0xd4, 0xd7, 0xda, 0xba, 0x3b, 0x02, 0xf3, 0x37, 0x38,
566		0xb3, 0xc8, 0xf8, 0x61, 0x57, 0xeb, 0xaf, 0xea, 0x2e, 0x21, 0x7f, 0x0e, 0x8a, 0x82, 0xbc, 0x63,
567		0x7b, 0xd8, 0x70, 0x5a, 0xb6, 0x79, 0x0b, 0x37, 0x47, 0xa0, 0xfe, 0x8b, 0xbe, 0xa5, 0xda, 0x8a,
568		0xc0, 0x09, 0x73, 0x1d, 0xe4, 0xb0, 0x57, 0xd1, 0xcc, 0xb6, 0xeb, 0x78, 0x41, 0x0c, 0xe3, 0x37,
569		0xc5, 0x4a, 0x85, 0xb8, 0x3a, 0x85, 0x29, 0x35, 0x28, 0xd0, 0xc7, 0x51, 0x43, 0xf2, 0x2f, 0x39,
570		0xd1, 0x44, 0x17, 0xc5, 0x13, 0x87, 0xe1, 0xb4, 0x5d, 0xdd, 0x1b, 0x25, 0xff, 0xfd, 0x95, 0x48,
571		0x1c, 0x1c, 0xc2, 0x13, 0x47, 0xb0, 0xe7, 0x62, 0x52, 0xed, 0x47, 0x60, 0xf8, 0x96, 0x48, 0x1c,
572		0x02, 0xc3, 0x29, 0x44, 0xc3, 0x30, 0x02, 0xc5, 0x5f, 0x0b, 0x0a, 0x81, 0x21, 0x14, 0x9f, 0xed,
573		0x16, 0x5a, 0x0f, 0xb7, 0x4c, 0x3f, 0xf0, 0x58, 0x2b, 0x7c, 0x7f, 0xaa, 0x6f, 0xbf, 0xdb, 0xdb,
574		0x84, 0xa9, 0x11, 0x28, 0xc9, 0x44, 0xfc, 0x0a, 0x95, 0x9e, 0x94, 0xe2, 0x0d, 0xfb, 0x8e, 0xc8,
575		0x44, 0x11, 0x18, 0xdb, 0x9f, 0x93, 0x7d, 0xbd, 0x0a, 0x8a, 0xfb, 0x21, 0x4c, 0xf1, 0xe7, 0xde,
576		0xe7, 0x5c, 0xbd, 0xad, 0x8a, 0xb2, 0x42, 0x02, 0xa8, 0xb7, 0xa1, 0x88, 0x27, 0x7b, 0xf1, 0xfd,
577		0x30, 0x86, 0x7a, 0xfa, 0x09, 0xe5, 0x0a, 0x4c, 0xf4, 0x34, 0x13, 0xf1, 0x54, 0x3f, 0xcf, 0xa9,
578		0xf2, 0xd1, 0x5e, 0x42, 0x39, 0x07, 0x29, 0xd2, 0x18, 0xc4, 0xc3, 0x7f, 0x81, 0xc3, 0xa9, 0xba,
579		0xf2, 0x29, 0xc8, 0x88, 0x86, 0x20, 0x1e, 0xfa, 0x8b, 0x1c, 0x1a, 0x42, 0x08, 0x5c, 0x34, 0x03,
580		0xf1, 0xf0, 0x5f, 0x12, 0x70, 0x01, 0x21, 0xf0, 0xd1, 0x5d, 0xf8, 0xdd, 0x5f, 0x49, 0xf1, 0x84,
581		0x2e, 0x7c, 0x77, 0x19, 0xc6, 0x79, 0x17, 0x10, 0x8f, 0xfe, 0x22, 0x7f, 0xb9, 0x40, 0x28, 0x17,
582		0x20, 0x3d, 0xa2, 0xc3, 0x7f, 0x95, 0x43, 0x99, 0xbe, 0x52, 0x85, 0x5c, 0xa4, 0xf2, 0xc7, 0xc3,
583		0x7f, 0x8d, 0xc3, 0xa3, 0x28, 0x62, 0x3a, 0xaf, 0xfc, 0xf1, 0x04, 0x5f, 0x12, 0xa6, 0x73, 0x04,
584		0x71, 0x9b, 0x28, 0xfa, 0xf1, 0xe8, 0x5f, 0x17, 0x5e, 0x17, 0x10, 0xe5, 0x69, 0xc8, 0x86, 0x89,
585		0x3c, 0x1e, 0xff, 0x1b, 0x1c, 0xdf, 0xc5, 0x10, 0x0f, 0x44, 0x0a, 0x49, 0x3c, 0xc5, 0x6f, 0x0a,
586		0x0f, 0x44, 0x50, 0x64, 0x1b, 0xf5, 0x37, 0x07, 0xf1, 0x4c, 0xbf, 0x25, 0xb6, 0x51, 0x5f, 0x6f,
587		0x40, 0x56, 0x93, 0xe6, 0xd3, 0x78, 0x8a, 0xdf, 0x16, 0xab, 0x49, 0xf5, 0x89, 0x19, 0xfd, 0xd5,
588		0x36, 0x9e, 0xe3, 0x77, 0x84, 0x19, 0x7d, 0xc5, 0x56, 0xd9, 0x00, 0x34, 0x58, 0x69, 0xe3, 0xf9,
589		0xbe, 0xcc, 0xf9, 0xa6, 0x06, 0x0a, 0xad, 0xf2, 0x2c, 0x1c, 0x19, 0x5e, 0x65, 0xe3, 0x59, 0xbf,
590		0xf2, 0x7e, 0xdf, 0xb9, 0x28, 0x5a, 0x64, 0x95, 0xcd, 0x6e, 0xba, 0x8e, 0x56, 0xd8, 0x78, 0xda,
591		0x97, 0xde, 0xef, 0xcd, 0xd8, 0xd1, 0x02, 0xab, 0x94, 0x01, 0xba, 0xc5, 0x2d, 0x9e, 0xeb, 0x65,
592		0xce, 0x15, 0x01, 0x91, 0xad, 0xc1, 0x6b, 0x5b, 0x3c, 0xfe, 0xab, 0x62, 0x6b, 0x70, 0x04, 0xd9,
593		0x1a, 0xa2, 0xac, 0xc5, 0xa3, 0x5f, 0x11, 0x5b, 0x43, 0x40, 0x48, 0x64, 0x47, 0x2a, 0x47, 0x3c,
594		0xc3, 0x6b, 0x22, 0xb2, 0x23, 0x28, 0xe5, 0x32, 0x64, 0xec, 0x8e, 0x65, 0x91, 0x00, 0x45, 0xf7,
595		0xff, 0x81, 0x58, 0xf1, 0xdf, 0x3f, 0xe0, 0x16, 0x08, 0x80, 0x72, 0x0e, 0xd2, 0xb8, 0xbd, 0x8d,
596		0x9b, 0x71, 0xc8, 0xff, 0xf8, 0x40, 0x24, 0x25, 0xa2, 0xad, 0x3c, 0x0d, 0xc0, 0x8e, 0xf6, 0xf4,
597		0xb3, 0x55, 0x0c, 0xf6, 0x3f, 0x3f, 0xe0, 0x3f, 0xdd, 0xe8, 0x42, 0xba, 0x04, 0xec, 0x87, 0x20,
598		0xf7, 0x27, 0x78, 0xb7, 0x97, 0x80, 0xce, 0xfa, 0x12, 0x8c, 0x5f, 0xf5, 0x1d, 0x3b, 0xd0, 0x5b,
599		0x71, 0xe8, 0xff, 0xe2, 0x68, 0xa1, 0x4f, 0x1c, 0xd6, 0x76, 0x3c, 0x1c, 0xe8, 0x2d, 0x3f, 0x0e,
600		0xfb, 0xdf, 0x1c, 0x1b, 0x02, 0x08, 0xd8, 0xd0, 0xfd, 0x60, 0x94, 0x79, 0xff, 0x40, 0x80, 0x05,
601		0x80, 0x18, 0x4d, 0xfe, 0xbf, 0x86, 0xf7, 0xe2, 0xb0, 0xef, 0x09, 0xa3, 0xb9, 0xbe, 0xf2, 0x29,
602		0xc8, 0x92, 0x7f, 0xd9, 0xef, 0xb1, 0x62, 0xc0, 0xff, 0xc3, 0xc1, 0x5d, 0x04, 0x79, 0xb3, 0x1f,
603		0x34, 0x03, 0x33, 0xde, 0xd9, 0xff, 0xcb, 0x57, 0x5a, 0xe8, 0x2b, 0x65, 0xc8, 0xf9, 0x41, 0xb3,
604		0xd9, 0xe1, 0xfd, 0x55, 0x0c, 0xfc, 0xff, 0x3e, 0x08, 0x8f, 0xdc, 0x21, 0xa6, 0x52, 0x1b, 0x7e,
605		0x7b, 0x08, 0xcb, 0xce, 0xb2, 0xc3, 0xee, 0x0d, 0x5f, 0x28, 0xc5, 0x5f, 0x00, 0xc2, 0xdf, 0xa6,
606		0x60, 0x02, 0xdf, 0xd4, 0xdb, 0xae, 0x20, 0x41, 0x29, 0x52, 0xa3, 0x66, 0x0f, 0x76, 0x79, 0x58,
607		0xfa, 0x92, 0x04, 0x52, 0x19, 0x3d, 0x06, 0xb9, 0xa5, 0x6e, 0x85, 0x64, 0xbf, 0xc6, 0xa9, 0xa4,
608		0xee, 0xdc, 0x9d, 0x3f, 0xa4, 0x46, 0x07, 0xd0, 0x83, 0x30, 0xb6, 0xd6, 0xfd, 0x45, 0x57, 0x92,
609		0xab, 0x70, 0x19, 0x52, 0x20, 0x51, 0x67, 0x5f, 0xf6, 0xf2, 0x95, 0x53, 0x64, 0xe4, 0x9f, 0xee,
610		0xce, 0xef, 0x3f, 0x15, 0x62, 0xed, 0xe2, 0x56, 0xc7, 0x6c, 0xaa, 0x89, 0x7a, 0x53, 0xc9, 0xfc,
611		0xf2, 0xab, 0xf3, 0x87, 0xde, 0x78, 0x75, 0x5e, 0x2a, 0xd9, 0x20, 0x55, 0xd0, 0x3c, 0x48, 0x65,
612		0x6a, 0x46, 0xee, 0xcc, 0xf8, 0x22, 0xd5, 0x2c, 0x57, 0x32, 0x84, 0xf2, 0xcd, 0xbb, 0xf3, 0x92,
613		0x2a, 0x95, 0x51, 0x05, 0xa4, 0x65, 0x7a, 0x01, 0x9e, 0xaf, 0x9c, 0xe5, 0xaf, 0x7a, 0xf2, 0xbe,
614		0xaf, 0x3a, 0xcd, 0xf6, 0xcb, 0xe2, 0x96, 0x69, 0x07, 0x3f, 0x71, 0xe6, 0xa2, 0x2a, 0x2d, 0x2b,
615		0xa9, 0xf7, 0xc8, 0xfb, 0x1e, 0x06, 0xa9, 0x8a, 0xe6, 0x20, 0x45, 0x32, 0x20, 0x7d, 0x65, 0xb2,
616		0x02, 0xf7, 0xee, 0xce, 0x8f, 0xad, 0xee, 0x35, 0xcc, 0x5b, 0x58, 0xa5, 0xf2, 0xd2, 0x05, 0x90,
617		0xb6, 0xd0, 0xe1, 0x41, 0xa3, 0x88, 0x29, 0x87, 0x41, 0xaa, 0xf0, 0x1f, 0x2c, 0x72, 0x71, 0x45,
618		0x95, 0x2a, 0x4a, 0xea, 0x0e, 0x61, 0x9f, 0x06, 0xa9, 0x76, 0x2a, 0x93, 0x91, 0xd8, 0x57, 0x1d,
619		0x25, 0x75, 0xe7, 0xb5, 0xf9, 0x43, 0xa5, 0x93, 0x20, 0xa9, 0x68, 0x0e, 0xa0, 0x9b, 0xbc, 0x29,
620		0xed, 0x84, 0x1a, 0x91, 0x28, 0xa9, 0x37, 0x89, 0xea, 0x13, 0x90, 0xa9, 0xea, 0xbe, 0xf8, 0x0d,
621		0x58, 0xba, 0x6e, 0x07, 0x4f, 0x9d, 0xe1, 0x56, 0x66, 0xff, 0xff, 0xee, 0x7c, 0xda, 0x24, 0x02,
622		0x95, 0xc9, 0x2b, 0x4f, 0xfe, 0xe3, 0xdb, 0x73, 0x87, 0xde, 0x7a, 0x7b, 0x4e, 0x7a, 0xef, 0xed,
623		0x39, 0xe9, 0x87, 0x6f, 0xcf, 0x49, 0xb7, 0xef, 0xcd, 0x49, 0x6f, 0xdc, 0x9b, 0x93, 0xbe, 0x7d,
624		0x6f, 0x4e, 0xfa, 0xee, 0xbd, 0x39, 0xe9, 0xce, 0xbd, 0x39, 0xe9, 0xcd, 0x7b, 0x73, 0xd2, 0x5b,
625		0xf7, 0xe6, 0xa4, 0x1f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x3a, 0x37, 0xa6, 0x5c, 0x33, 0x00,
626		0x00,
627	}
628	r := bytes.NewReader(gzipped)
629	gzipr, err := compress_gzip.NewReader(r)
630	if err != nil {
631		panic(err)
632	}
633	ungzipped, err := io_ioutil.ReadAll(gzipr)
634	if err != nil {
635		panic(err)
636	}
637	if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
638		panic(err)
639	}
640	return d
641}
642func (this *A) VerboseEqual(that interface{}) error {
643	if that == nil {
644		if this == nil {
645			return nil
646		}
647		return fmt.Errorf("that == nil && this != nil")
648	}
649
650	that1, ok := that.(*A)
651	if !ok {
652		that2, ok := that.(A)
653		if ok {
654			that1 = &that2
655		} else {
656			return fmt.Errorf("that is not of type *A")
657		}
658	}
659	if that1 == nil {
660		if this == nil {
661			return nil
662		}
663		return fmt.Errorf("that is type *A but is nil && this != nil")
664	} else if this == nil {
665		return fmt.Errorf("that is type *A but is not nil && this == nil")
666	}
667	if this.Description != that1.Description {
668		return fmt.Errorf("Description this(%v) Not Equal that(%v)", this.Description, that1.Description)
669	}
670	if this.Number != that1.Number {
671		return fmt.Errorf("Number this(%v) Not Equal that(%v)", this.Number, that1.Number)
672	}
673	if !this.Id.Equal(that1.Id) {
674		return fmt.Errorf("Id this(%v) Not Equal that(%v)", this.Id, that1.Id)
675	}
676	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
677		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
678	}
679	return nil
680}
681func (this *A) Equal(that interface{}) bool {
682	if that == nil {
683		return this == nil
684	}
685
686	that1, ok := that.(*A)
687	if !ok {
688		that2, ok := that.(A)
689		if ok {
690			that1 = &that2
691		} else {
692			return false
693		}
694	}
695	if that1 == nil {
696		return this == nil
697	} else if this == nil {
698		return false
699	}
700	if this.Description != that1.Description {
701		return false
702	}
703	if this.Number != that1.Number {
704		return false
705	}
706	if !this.Id.Equal(that1.Id) {
707		return false
708	}
709	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
710		return false
711	}
712	return true
713}
714func (this *B) VerboseEqual(that interface{}) error {
715	if that == nil {
716		if this == nil {
717			return nil
718		}
719		return fmt.Errorf("that == nil && this != nil")
720	}
721
722	that1, ok := that.(*B)
723	if !ok {
724		that2, ok := that.(B)
725		if ok {
726			that1 = &that2
727		} else {
728			return fmt.Errorf("that is not of type *B")
729		}
730	}
731	if that1 == nil {
732		if this == nil {
733			return nil
734		}
735		return fmt.Errorf("that is type *B but is nil && this != nil")
736	} else if this == nil {
737		return fmt.Errorf("that is type *B but is not nil && this == nil")
738	}
739	if !this.A.Equal(&that1.A) {
740		return fmt.Errorf("A this(%v) Not Equal that(%v)", this.A, that1.A)
741	}
742	if len(this.G) != len(that1.G) {
743		return fmt.Errorf("G this(%v) Not Equal that(%v)", len(this.G), len(that1.G))
744	}
745	for i := range this.G {
746		if !this.G[i].Equal(that1.G[i]) {
747			return fmt.Errorf("G this[%v](%v) Not Equal that[%v](%v)", i, this.G[i], i, that1.G[i])
748		}
749	}
750	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
751		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
752	}
753	return nil
754}
755func (this *B) Equal(that interface{}) bool {
756	if that == nil {
757		return this == nil
758	}
759
760	that1, ok := that.(*B)
761	if !ok {
762		that2, ok := that.(B)
763		if ok {
764			that1 = &that2
765		} else {
766			return false
767		}
768	}
769	if that1 == nil {
770		return this == nil
771	} else if this == nil {
772		return false
773	}
774	if !this.A.Equal(&that1.A) {
775		return false
776	}
777	if len(this.G) != len(that1.G) {
778		return false
779	}
780	for i := range this.G {
781		if !this.G[i].Equal(that1.G[i]) {
782			return false
783		}
784	}
785	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
786		return false
787	}
788	return true
789}
790func (this *C) VerboseEqual(that interface{}) error {
791	if that == nil {
792		if this == nil {
793			return nil
794		}
795		return fmt.Errorf("that == nil && this != nil")
796	}
797
798	that1, ok := that.(*C)
799	if !ok {
800		that2, ok := that.(C)
801		if ok {
802			that1 = &that2
803		} else {
804			return fmt.Errorf("that is not of type *C")
805		}
806	}
807	if that1 == nil {
808		if this == nil {
809			return nil
810		}
811		return fmt.Errorf("that is type *C but is nil && this != nil")
812	} else if this == nil {
813		return fmt.Errorf("that is type *C but is not nil && this == nil")
814	}
815	if this.MySize != nil && that1.MySize != nil {
816		if *this.MySize != *that1.MySize {
817			return fmt.Errorf("MySize this(%v) Not Equal that(%v)", *this.MySize, *that1.MySize)
818		}
819	} else if this.MySize != nil {
820		return fmt.Errorf("this.MySize == nil && that.MySize != nil")
821	} else if that1.MySize != nil {
822		return fmt.Errorf("MySize this(%v) Not Equal that(%v)", this.MySize, that1.MySize)
823	}
824	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
825		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
826	}
827	return nil
828}
829func (this *C) Equal(that interface{}) bool {
830	if that == nil {
831		return this == nil
832	}
833
834	that1, ok := that.(*C)
835	if !ok {
836		that2, ok := that.(C)
837		if ok {
838			that1 = &that2
839		} else {
840			return false
841		}
842	}
843	if that1 == nil {
844		return this == nil
845	} else if this == nil {
846		return false
847	}
848	if this.MySize != nil && that1.MySize != nil {
849		if *this.MySize != *that1.MySize {
850			return false
851		}
852	} else if this.MySize != nil {
853		return false
854	} else if that1.MySize != nil {
855		return false
856	}
857	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
858		return false
859	}
860	return true
861}
862func (this *U) VerboseEqual(that interface{}) error {
863	if that == nil {
864		if this == nil {
865			return nil
866		}
867		return fmt.Errorf("that == nil && this != nil")
868	}
869
870	that1, ok := that.(*U)
871	if !ok {
872		that2, ok := that.(U)
873		if ok {
874			that1 = &that2
875		} else {
876			return fmt.Errorf("that is not of type *U")
877		}
878	}
879	if that1 == nil {
880		if this == nil {
881			return nil
882		}
883		return fmt.Errorf("that is type *U but is nil && this != nil")
884	} else if this == nil {
885		return fmt.Errorf("that is type *U but is not nil && this == nil")
886	}
887	if !this.A.Equal(that1.A) {
888		return fmt.Errorf("A this(%v) Not Equal that(%v)", this.A, that1.A)
889	}
890	if !this.B.Equal(that1.B) {
891		return fmt.Errorf("B this(%v) Not Equal that(%v)", this.B, that1.B)
892	}
893	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
894		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
895	}
896	return nil
897}
898func (this *U) Equal(that interface{}) bool {
899	if that == nil {
900		return this == nil
901	}
902
903	that1, ok := that.(*U)
904	if !ok {
905		that2, ok := that.(U)
906		if ok {
907			that1 = &that2
908		} else {
909			return false
910		}
911	}
912	if that1 == nil {
913		return this == nil
914	} else if this == nil {
915		return false
916	}
917	if !this.A.Equal(that1.A) {
918		return false
919	}
920	if !this.B.Equal(that1.B) {
921		return false
922	}
923	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
924		return false
925	}
926	return true
927}
928func (this *E) VerboseEqual(that interface{}) error {
929	if that == nil {
930		if this == nil {
931			return nil
932		}
933		return fmt.Errorf("that == nil && this != nil")
934	}
935
936	that1, ok := that.(*E)
937	if !ok {
938		that2, ok := that.(E)
939		if ok {
940			that1 = &that2
941		} else {
942			return fmt.Errorf("that is not of type *E")
943		}
944	}
945	if that1 == nil {
946		if this == nil {
947			return nil
948		}
949		return fmt.Errorf("that is type *E but is nil && this != nil")
950	} else if this == nil {
951		return fmt.Errorf("that is type *E but is not nil && this == nil")
952	}
953	if !bytes.Equal(this.XXX_extensions, that1.XXX_extensions) {
954		return fmt.Errorf("XXX_extensions this(%v) Not Equal that(%v)", this.XXX_extensions, that1.XXX_extensions)
955	}
956	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
957		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
958	}
959	return nil
960}
961func (this *E) Equal(that interface{}) bool {
962	if that == nil {
963		return this == nil
964	}
965
966	that1, ok := that.(*E)
967	if !ok {
968		that2, ok := that.(E)
969		if ok {
970			that1 = &that2
971		} else {
972			return false
973		}
974	}
975	if that1 == nil {
976		return this == nil
977	} else if this == nil {
978		return false
979	}
980	if !bytes.Equal(this.XXX_extensions, that1.XXX_extensions) {
981		return false
982	}
983	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
984		return false
985	}
986	return true
987}
988func (this *R) VerboseEqual(that interface{}) error {
989	if that == nil {
990		if this == nil {
991			return nil
992		}
993		return fmt.Errorf("that == nil && this != nil")
994	}
995
996	that1, ok := that.(*R)
997	if !ok {
998		that2, ok := that.(R)
999		if ok {
1000			that1 = &that2
1001		} else {
1002			return fmt.Errorf("that is not of type *R")
1003		}
1004	}
1005	if that1 == nil {
1006		if this == nil {
1007			return nil
1008		}
1009		return fmt.Errorf("that is type *R but is nil && this != nil")
1010	} else if this == nil {
1011		return fmt.Errorf("that is type *R but is not nil && this == nil")
1012	}
1013	if this.Recognized != nil && that1.Recognized != nil {
1014		if *this.Recognized != *that1.Recognized {
1015			return fmt.Errorf("Recognized this(%v) Not Equal that(%v)", *this.Recognized, *that1.Recognized)
1016		}
1017	} else if this.Recognized != nil {
1018		return fmt.Errorf("this.Recognized == nil && that.Recognized != nil")
1019	} else if that1.Recognized != nil {
1020		return fmt.Errorf("Recognized this(%v) Not Equal that(%v)", this.Recognized, that1.Recognized)
1021	}
1022	return nil
1023}
1024func (this *R) Equal(that interface{}) bool {
1025	if that == nil {
1026		return this == nil
1027	}
1028
1029	that1, ok := that.(*R)
1030	if !ok {
1031		that2, ok := that.(R)
1032		if ok {
1033			that1 = &that2
1034		} else {
1035			return false
1036		}
1037	}
1038	if that1 == nil {
1039		return this == nil
1040	} else if this == nil {
1041		return false
1042	}
1043	if this.Recognized != nil && that1.Recognized != nil {
1044		if *this.Recognized != *that1.Recognized {
1045			return false
1046		}
1047	} else if this.Recognized != nil {
1048		return false
1049	} else if that1.Recognized != nil {
1050		return false
1051	}
1052	return true
1053}
1054func (this *CastType) VerboseEqual(that interface{}) error {
1055	if that == nil {
1056		if this == nil {
1057			return nil
1058		}
1059		return fmt.Errorf("that == nil && this != nil")
1060	}
1061
1062	that1, ok := that.(*CastType)
1063	if !ok {
1064		that2, ok := that.(CastType)
1065		if ok {
1066			that1 = &that2
1067		} else {
1068			return fmt.Errorf("that is not of type *CastType")
1069		}
1070	}
1071	if that1 == nil {
1072		if this == nil {
1073			return nil
1074		}
1075		return fmt.Errorf("that is type *CastType but is nil && this != nil")
1076	} else if this == nil {
1077		return fmt.Errorf("that is type *CastType but is not nil && this == nil")
1078	}
1079	if this.Int32 != nil && that1.Int32 != nil {
1080		if *this.Int32 != *that1.Int32 {
1081			return fmt.Errorf("Int32 this(%v) Not Equal that(%v)", *this.Int32, *that1.Int32)
1082		}
1083	} else if this.Int32 != nil {
1084		return fmt.Errorf("this.Int32 == nil && that.Int32 != nil")
1085	} else if that1.Int32 != nil {
1086		return fmt.Errorf("Int32 this(%v) Not Equal that(%v)", this.Int32, that1.Int32)
1087	}
1088	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
1089		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
1090	}
1091	return nil
1092}
1093func (this *CastType) Equal(that interface{}) bool {
1094	if that == nil {
1095		return this == nil
1096	}
1097
1098	that1, ok := that.(*CastType)
1099	if !ok {
1100		that2, ok := that.(CastType)
1101		if ok {
1102			that1 = &that2
1103		} else {
1104			return false
1105		}
1106	}
1107	if that1 == nil {
1108		return this == nil
1109	} else if this == nil {
1110		return false
1111	}
1112	if this.Int32 != nil && that1.Int32 != nil {
1113		if *this.Int32 != *that1.Int32 {
1114			return false
1115		}
1116	} else if this.Int32 != nil {
1117		return false
1118	} else if that1.Int32 != nil {
1119		return false
1120	}
1121	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
1122		return false
1123	}
1124	return true
1125}
1126
1127type AFace interface {
1128	Proto() github_com_gogo_protobuf_proto.Message
1129	GetDescription() string
1130	GetNumber() int64
1131	GetId() github_com_gogo_protobuf_test.Uuid
1132}
1133
1134func (this *A) Proto() github_com_gogo_protobuf_proto.Message {
1135	return this
1136}
1137
1138func (this *A) TestProto() github_com_gogo_protobuf_proto.Message {
1139	return NewAFromFace(this)
1140}
1141
1142func (this *A) GetDescription() string {
1143	return this.Description
1144}
1145
1146func (this *A) GetNumber() int64 {
1147	return this.Number
1148}
1149
1150func (this *A) GetId() github_com_gogo_protobuf_test.Uuid {
1151	return this.Id
1152}
1153
1154func NewAFromFace(that AFace) *A {
1155	this := &A{}
1156	this.Description = that.GetDescription()
1157	this.Number = that.GetNumber()
1158	this.Id = that.GetId()
1159	return this
1160}
1161
1162func (this *A) GoString() string {
1163	if this == nil {
1164		return "nil"
1165	}
1166	s := make([]string, 0, 7)
1167	s = append(s, "&test.A{")
1168	s = append(s, "Description: "+fmt.Sprintf("%#v", this.Description)+",\n")
1169	s = append(s, "Number: "+fmt.Sprintf("%#v", this.Number)+",\n")
1170	s = append(s, "Id: "+fmt.Sprintf("%#v", this.Id)+",\n")
1171	if this.XXX_unrecognized != nil {
1172		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1173	}
1174	s = append(s, "}")
1175	return strings.Join(s, "")
1176}
1177func (this *B) GoString() string {
1178	if this == nil {
1179		return "nil"
1180	}
1181	s := make([]string, 0, 6)
1182	s = append(s, "&test.B{")
1183	s = append(s, "A: "+strings.Replace(this.A.GoString(), `&`, ``, 1)+",\n")
1184	if this.G != nil {
1185		s = append(s, "G: "+fmt.Sprintf("%#v", this.G)+",\n")
1186	}
1187	if this.XXX_unrecognized != nil {
1188		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1189	}
1190	s = append(s, "}")
1191	return strings.Join(s, "")
1192}
1193func (this *C) GoString() string {
1194	if this == nil {
1195		return "nil"
1196	}
1197	s := make([]string, 0, 5)
1198	s = append(s, "&test.C{")
1199	if this.MySize != nil {
1200		s = append(s, "MySize: "+valueToGoStringExample(this.MySize, "int64")+",\n")
1201	}
1202	if this.XXX_unrecognized != nil {
1203		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1204	}
1205	s = append(s, "}")
1206	return strings.Join(s, "")
1207}
1208func (this *U) GoString() string {
1209	if this == nil {
1210		return "nil"
1211	}
1212	s := make([]string, 0, 6)
1213	s = append(s, "&test.U{")
1214	if this.A != nil {
1215		s = append(s, "A: "+fmt.Sprintf("%#v", this.A)+",\n")
1216	}
1217	if this.B != nil {
1218		s = append(s, "B: "+fmt.Sprintf("%#v", this.B)+",\n")
1219	}
1220	if this.XXX_unrecognized != nil {
1221		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1222	}
1223	s = append(s, "}")
1224	return strings.Join(s, "")
1225}
1226func (this *E) GoString() string {
1227	if this == nil {
1228		return "nil"
1229	}
1230	s := make([]string, 0, 4)
1231	s = append(s, "&test.E{")
1232	if this.XXX_extensions != nil {
1233		s = append(s, "XXX_extensions: "+fmt.Sprintf("%#v", this.XXX_extensions)+",\n")
1234	}
1235	if this.XXX_unrecognized != nil {
1236		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1237	}
1238	s = append(s, "}")
1239	return strings.Join(s, "")
1240}
1241func (this *R) GoString() string {
1242	if this == nil {
1243		return "nil"
1244	}
1245	s := make([]string, 0, 5)
1246	s = append(s, "&test.R{")
1247	if this.Recognized != nil {
1248		s = append(s, "Recognized: "+valueToGoStringExample(this.Recognized, "uint32")+",\n")
1249	}
1250	s = append(s, "}")
1251	return strings.Join(s, "")
1252}
1253func (this *CastType) GoString() string {
1254	if this == nil {
1255		return "nil"
1256	}
1257	s := make([]string, 0, 5)
1258	s = append(s, "&test.CastType{")
1259	if this.Int32 != nil {
1260		s = append(s, "Int32: "+valueToGoStringExample(this.Int32, "int32")+",\n")
1261	}
1262	if this.XXX_unrecognized != nil {
1263		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
1264	}
1265	s = append(s, "}")
1266	return strings.Join(s, "")
1267}
1268func valueToGoStringExample(v interface{}, typ string) string {
1269	rv := reflect.ValueOf(v)
1270	if rv.IsNil() {
1271		return "nil"
1272	}
1273	pv := reflect.Indirect(rv).Interface()
1274	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
1275}
1276func (m *A) Marshal() (dAtA []byte, err error) {
1277	size := m.Size()
1278	dAtA = make([]byte, size)
1279	n, err := m.MarshalTo(dAtA)
1280	if err != nil {
1281		return nil, err
1282	}
1283	return dAtA[:n], nil
1284}
1285
1286func (m *A) MarshalTo(dAtA []byte) (int, error) {
1287	var i int
1288	_ = i
1289	var l int
1290	_ = l
1291	dAtA[i] = 0xa
1292	i++
1293	i = encodeVarintExample(dAtA, i, uint64(len(m.Description)))
1294	i += copy(dAtA[i:], m.Description)
1295	dAtA[i] = 0x10
1296	i++
1297	i = encodeVarintExample(dAtA, i, uint64(m.Number))
1298	dAtA[i] = 0x1a
1299	i++
1300	i = encodeVarintExample(dAtA, i, uint64(m.Id.Size()))
1301	n1, err := m.Id.MarshalTo(dAtA[i:])
1302	if err != nil {
1303		return 0, err
1304	}
1305	i += n1
1306	if m.XXX_unrecognized != nil {
1307		i += copy(dAtA[i:], m.XXX_unrecognized)
1308	}
1309	return i, nil
1310}
1311
1312func (m *B) Marshal() (dAtA []byte, err error) {
1313	size := m.Size()
1314	dAtA = make([]byte, size)
1315	n, err := m.MarshalTo(dAtA)
1316	if err != nil {
1317		return nil, err
1318	}
1319	return dAtA[:n], nil
1320}
1321
1322func (m *B) MarshalTo(dAtA []byte) (int, error) {
1323	var i int
1324	_ = i
1325	var l int
1326	_ = l
1327	dAtA[i] = 0xa
1328	i++
1329	i = encodeVarintExample(dAtA, i, uint64(m.A.Size()))
1330	n2, err := m.A.MarshalTo(dAtA[i:])
1331	if err != nil {
1332		return 0, err
1333	}
1334	i += n2
1335	if len(m.G) > 0 {
1336		for _, msg := range m.G {
1337			dAtA[i] = 0x12
1338			i++
1339			i = encodeVarintExample(dAtA, i, uint64(msg.Size()))
1340			n, err := msg.MarshalTo(dAtA[i:])
1341			if err != nil {
1342				return 0, err
1343			}
1344			i += n
1345		}
1346	}
1347	if m.XXX_unrecognized != nil {
1348		i += copy(dAtA[i:], m.XXX_unrecognized)
1349	}
1350	return i, nil
1351}
1352
1353func (m *C) Marshal() (dAtA []byte, err error) {
1354	size := m.Size()
1355	dAtA = make([]byte, size)
1356	n, err := m.MarshalTo(dAtA)
1357	if err != nil {
1358		return nil, err
1359	}
1360	return dAtA[:n], nil
1361}
1362
1363func (m *C) MarshalTo(dAtA []byte) (int, error) {
1364	var i int
1365	_ = i
1366	var l int
1367	_ = l
1368	if m.MySize != nil {
1369		dAtA[i] = 0x8
1370		i++
1371		i = encodeVarintExample(dAtA, i, uint64(*m.MySize))
1372	}
1373	if m.XXX_unrecognized != nil {
1374		i += copy(dAtA[i:], m.XXX_unrecognized)
1375	}
1376	return i, nil
1377}
1378
1379func (m *U) Marshal() (dAtA []byte, err error) {
1380	size := m.Size()
1381	dAtA = make([]byte, size)
1382	n, err := m.MarshalTo(dAtA)
1383	if err != nil {
1384		return nil, err
1385	}
1386	return dAtA[:n], nil
1387}
1388
1389func (m *U) MarshalTo(dAtA []byte) (int, error) {
1390	var i int
1391	_ = i
1392	var l int
1393	_ = l
1394	if m.A != nil {
1395		dAtA[i] = 0xa
1396		i++
1397		i = encodeVarintExample(dAtA, i, uint64(m.A.Size()))
1398		n3, err := m.A.MarshalTo(dAtA[i:])
1399		if err != nil {
1400			return 0, err
1401		}
1402		i += n3
1403	}
1404	if m.B != nil {
1405		dAtA[i] = 0x12
1406		i++
1407		i = encodeVarintExample(dAtA, i, uint64(m.B.Size()))
1408		n4, err := m.B.MarshalTo(dAtA[i:])
1409		if err != nil {
1410			return 0, err
1411		}
1412		i += n4
1413	}
1414	if m.XXX_unrecognized != nil {
1415		i += copy(dAtA[i:], m.XXX_unrecognized)
1416	}
1417	return i, nil
1418}
1419
1420func (m *E) Marshal() (dAtA []byte, err error) {
1421	size := m.Size()
1422	dAtA = make([]byte, size)
1423	n, err := m.MarshalTo(dAtA)
1424	if err != nil {
1425		return nil, err
1426	}
1427	return dAtA[:n], nil
1428}
1429
1430func (m *E) MarshalTo(dAtA []byte) (int, error) {
1431	var i int
1432	_ = i
1433	var l int
1434	_ = l
1435	if m.XXX_extensions != nil {
1436		i += copy(dAtA[i:], m.XXX_extensions)
1437	}
1438	if m.XXX_unrecognized != nil {
1439		i += copy(dAtA[i:], m.XXX_unrecognized)
1440	}
1441	return i, nil
1442}
1443
1444func (m *R) Marshal() (dAtA []byte, err error) {
1445	size := m.Size()
1446	dAtA = make([]byte, size)
1447	n, err := m.MarshalTo(dAtA)
1448	if err != nil {
1449		return nil, err
1450	}
1451	return dAtA[:n], nil
1452}
1453
1454func (m *R) MarshalTo(dAtA []byte) (int, error) {
1455	var i int
1456	_ = i
1457	var l int
1458	_ = l
1459	if m.Recognized != nil {
1460		dAtA[i] = 0x8
1461		i++
1462		i = encodeVarintExample(dAtA, i, uint64(*m.Recognized))
1463	}
1464	return i, nil
1465}
1466
1467func (m *CastType) Marshal() (dAtA []byte, err error) {
1468	size := m.Size()
1469	dAtA = make([]byte, size)
1470	n, err := m.MarshalTo(dAtA)
1471	if err != nil {
1472		return nil, err
1473	}
1474	return dAtA[:n], nil
1475}
1476
1477func (m *CastType) MarshalTo(dAtA []byte) (int, error) {
1478	var i int
1479	_ = i
1480	var l int
1481	_ = l
1482	if m.Int32 != nil {
1483		dAtA[i] = 0x8
1484		i++
1485		i = encodeVarintExample(dAtA, i, uint64(*m.Int32))
1486	}
1487	if m.XXX_unrecognized != nil {
1488		i += copy(dAtA[i:], m.XXX_unrecognized)
1489	}
1490	return i, nil
1491}
1492
1493func encodeVarintExample(dAtA []byte, offset int, v uint64) int {
1494	for v >= 1<<7 {
1495		dAtA[offset] = uint8(v&0x7f | 0x80)
1496		v >>= 7
1497		offset++
1498	}
1499	dAtA[offset] = uint8(v)
1500	return offset + 1
1501}
1502func NewPopulatedA(r randyExample, easy bool) *A {
1503	this := &A{}
1504	this.Description = string(randStringExample(r))
1505	this.Number = int64(r.Int63())
1506	if r.Intn(2) == 0 {
1507		this.Number *= -1
1508	}
1509	v1 := github_com_gogo_protobuf_test.NewPopulatedUuid(r)
1510	this.Id = *v1
1511	if !easy && r.Intn(10) != 0 {
1512		this.XXX_unrecognized = randUnrecognizedExample(r, 4)
1513	}
1514	return this
1515}
1516
1517func NewPopulatedB(r randyExample, easy bool) *B {
1518	this := &B{}
1519	v2 := NewPopulatedA(r, easy)
1520	this.A = *v2
1521	if r.Intn(10) != 0 {
1522		v3 := r.Intn(10)
1523		this.G = make([]github_com_gogo_protobuf_test_custom.Uint128, v3)
1524		for i := 0; i < v3; i++ {
1525			v4 := github_com_gogo_protobuf_test_custom.NewPopulatedUint128(r)
1526			this.G[i] = *v4
1527		}
1528	}
1529	if !easy && r.Intn(10) != 0 {
1530		this.XXX_unrecognized = randUnrecognizedExample(r, 3)
1531	}
1532	return this
1533}
1534
1535func NewPopulatedC(r randyExample, easy bool) *C {
1536	this := &C{}
1537	if r.Intn(10) != 0 {
1538		v5 := int64(r.Int63())
1539		if r.Intn(2) == 0 {
1540			v5 *= -1
1541		}
1542		this.MySize = &v5
1543	}
1544	if !easy && r.Intn(10) != 0 {
1545		this.XXX_unrecognized = randUnrecognizedExample(r, 2)
1546	}
1547	return this
1548}
1549
1550func NewPopulatedU(r randyExample, easy bool) *U {
1551	this := &U{}
1552	fieldNum := r.Intn(2)
1553	switch fieldNum {
1554	case 0:
1555		this.A = NewPopulatedA(r, easy)
1556	case 1:
1557		this.B = NewPopulatedB(r, easy)
1558	}
1559	return this
1560}
1561
1562func NewPopulatedE(r randyExample, easy bool) *E {
1563	this := &E{}
1564	if !easy && r.Intn(10) != 0 {
1565		l := r.Intn(5)
1566		for i := 0; i < l; i++ {
1567			fieldNumber := r.Intn(536870911) + 1
1568			wire := r.Intn(4)
1569			if wire == 3 {
1570				wire = 5
1571			}
1572			dAtA := randFieldExample(nil, r, fieldNumber, wire)
1573			github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA)
1574		}
1575	}
1576	return this
1577}
1578
1579func NewPopulatedR(r randyExample, easy bool) *R {
1580	this := &R{}
1581	if r.Intn(10) != 0 {
1582		v6 := uint32(r.Uint32())
1583		this.Recognized = &v6
1584	}
1585	if !easy && r.Intn(10) != 0 {
1586	}
1587	return this
1588}
1589
1590func NewPopulatedCastType(r randyExample, easy bool) *CastType {
1591	this := &CastType{}
1592	if r.Intn(10) != 0 {
1593		v7 := int32(r.Int63())
1594		if r.Intn(2) == 0 {
1595			v7 *= -1
1596		}
1597		this.Int32 = &v7
1598	}
1599	if !easy && r.Intn(10) != 0 {
1600		this.XXX_unrecognized = randUnrecognizedExample(r, 2)
1601	}
1602	return this
1603}
1604
1605type randyExample interface {
1606	Float32() float32
1607	Float64() float64
1608	Int63() int64
1609	Int31() int32
1610	Uint32() uint32
1611	Intn(n int) int
1612}
1613
1614func randUTF8RuneExample(r randyExample) rune {
1615	ru := r.Intn(62)
1616	if ru < 10 {
1617		return rune(ru + 48)
1618	} else if ru < 36 {
1619		return rune(ru + 55)
1620	}
1621	return rune(ru + 61)
1622}
1623func randStringExample(r randyExample) string {
1624	v8 := r.Intn(100)
1625	tmps := make([]rune, v8)
1626	for i := 0; i < v8; i++ {
1627		tmps[i] = randUTF8RuneExample(r)
1628	}
1629	return string(tmps)
1630}
1631func randUnrecognizedExample(r randyExample, maxFieldNumber int) (dAtA []byte) {
1632	l := r.Intn(5)
1633	for i := 0; i < l; i++ {
1634		wire := r.Intn(4)
1635		if wire == 3 {
1636			wire = 5
1637		}
1638		fieldNumber := maxFieldNumber + r.Intn(100)
1639		dAtA = randFieldExample(dAtA, r, fieldNumber, wire)
1640	}
1641	return dAtA
1642}
1643func randFieldExample(dAtA []byte, r randyExample, fieldNumber int, wire int) []byte {
1644	key := uint32(fieldNumber)<<3 | uint32(wire)
1645	switch wire {
1646	case 0:
1647		dAtA = encodeVarintPopulateExample(dAtA, uint64(key))
1648		v9 := r.Int63()
1649		if r.Intn(2) == 0 {
1650			v9 *= -1
1651		}
1652		dAtA = encodeVarintPopulateExample(dAtA, uint64(v9))
1653	case 1:
1654		dAtA = encodeVarintPopulateExample(dAtA, uint64(key))
1655		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)))
1656	case 2:
1657		dAtA = encodeVarintPopulateExample(dAtA, uint64(key))
1658		ll := r.Intn(100)
1659		dAtA = encodeVarintPopulateExample(dAtA, uint64(ll))
1660		for j := 0; j < ll; j++ {
1661			dAtA = append(dAtA, byte(r.Intn(256)))
1662		}
1663	default:
1664		dAtA = encodeVarintPopulateExample(dAtA, uint64(key))
1665		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
1666	}
1667	return dAtA
1668}
1669func encodeVarintPopulateExample(dAtA []byte, v uint64) []byte {
1670	for v >= 1<<7 {
1671		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
1672		v >>= 7
1673	}
1674	dAtA = append(dAtA, uint8(v))
1675	return dAtA
1676}
1677func (m *A) Size() (n int) {
1678	var l int
1679	_ = l
1680	l = len(m.Description)
1681	n += 1 + l + sovExample(uint64(l))
1682	n += 1 + sovExample(uint64(m.Number))
1683	l = m.Id.Size()
1684	n += 1 + l + sovExample(uint64(l))
1685	if m.XXX_unrecognized != nil {
1686		n += len(m.XXX_unrecognized)
1687	}
1688	return n
1689}
1690
1691func (m *B) Size() (n int) {
1692	var l int
1693	_ = l
1694	l = m.A.Size()
1695	n += 1 + l + sovExample(uint64(l))
1696	if len(m.G) > 0 {
1697		for _, e := range m.G {
1698			l = e.Size()
1699			n += 1 + l + sovExample(uint64(l))
1700		}
1701	}
1702	if m.XXX_unrecognized != nil {
1703		n += len(m.XXX_unrecognized)
1704	}
1705	return n
1706}
1707
1708func (m *C) Size() (n int) {
1709	var l int
1710	_ = l
1711	if m.MySize != nil {
1712		n += 1 + sovExample(uint64(*m.MySize))
1713	}
1714	if m.XXX_unrecognized != nil {
1715		n += len(m.XXX_unrecognized)
1716	}
1717	return n
1718}
1719
1720func (m *U) Size() (n int) {
1721	var l int
1722	_ = l
1723	if m.A != nil {
1724		l = m.A.Size()
1725		n += 1 + l + sovExample(uint64(l))
1726	}
1727	if m.B != nil {
1728		l = m.B.Size()
1729		n += 1 + l + sovExample(uint64(l))
1730	}
1731	if m.XXX_unrecognized != nil {
1732		n += len(m.XXX_unrecognized)
1733	}
1734	return n
1735}
1736
1737func (m *E) Size() (n int) {
1738	var l int
1739	_ = l
1740	if m.XXX_extensions != nil {
1741		n += len(m.XXX_extensions)
1742	}
1743	if m.XXX_unrecognized != nil {
1744		n += len(m.XXX_unrecognized)
1745	}
1746	return n
1747}
1748
1749func (m *R) Size() (n int) {
1750	var l int
1751	_ = l
1752	if m.Recognized != nil {
1753		n += 1 + sovExample(uint64(*m.Recognized))
1754	}
1755	return n
1756}
1757
1758func (m *CastType) Size() (n int) {
1759	var l int
1760	_ = l
1761	if m.Int32 != nil {
1762		n += 1 + sovExample(uint64(*m.Int32))
1763	}
1764	if m.XXX_unrecognized != nil {
1765		n += len(m.XXX_unrecognized)
1766	}
1767	return n
1768}
1769
1770func sovExample(x uint64) (n int) {
1771	for {
1772		n++
1773		x >>= 7
1774		if x == 0 {
1775			break
1776		}
1777	}
1778	return n
1779}
1780func sozExample(x uint64) (n int) {
1781	return sovExample(uint64((x << 1) ^ uint64((int64(x) >> 63))))
1782}
1783func (this *A) String() string {
1784	if this == nil {
1785		return "nil"
1786	}
1787	s := strings.Join([]string{`&A{`,
1788		`Description:` + fmt.Sprintf("%v", this.Description) + `,`,
1789		`Number:` + fmt.Sprintf("%v", this.Number) + `,`,
1790		`Id:` + fmt.Sprintf("%v", this.Id) + `,`,
1791		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1792		`}`,
1793	}, "")
1794	return s
1795}
1796func (this *B) String() string {
1797	if this == nil {
1798		return "nil"
1799	}
1800	s := strings.Join([]string{`&B{`,
1801		`A:` + strings.Replace(strings.Replace(this.A.String(), "A", "A", 1), `&`, ``, 1) + `,`,
1802		`G:` + fmt.Sprintf("%v", this.G) + `,`,
1803		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1804		`}`,
1805	}, "")
1806	return s
1807}
1808func (this *C) String() string {
1809	if this == nil {
1810		return "nil"
1811	}
1812	s := strings.Join([]string{`&C{`,
1813		`MySize:` + valueToStringExample(this.MySize) + `,`,
1814		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1815		`}`,
1816	}, "")
1817	return s
1818}
1819func (this *U) String() string {
1820	if this == nil {
1821		return "nil"
1822	}
1823	s := strings.Join([]string{`&U{`,
1824		`A:` + strings.Replace(fmt.Sprintf("%v", this.A), "A", "A", 1) + `,`,
1825		`B:` + strings.Replace(fmt.Sprintf("%v", this.B), "B", "B", 1) + `,`,
1826		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1827		`}`,
1828	}, "")
1829	return s
1830}
1831func (this *E) String() string {
1832	if this == nil {
1833		return "nil"
1834	}
1835	s := strings.Join([]string{`&E{`,
1836		`XXX_extensions:` + github_com_gogo_protobuf_proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`,
1837		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1838		`}`,
1839	}, "")
1840	return s
1841}
1842func (this *R) String() string {
1843	if this == nil {
1844		return "nil"
1845	}
1846	s := strings.Join([]string{`&R{`,
1847		`Recognized:` + valueToStringExample(this.Recognized) + `,`,
1848		`}`,
1849	}, "")
1850	return s
1851}
1852func (this *CastType) String() string {
1853	if this == nil {
1854		return "nil"
1855	}
1856	s := strings.Join([]string{`&CastType{`,
1857		`Int32:` + valueToStringExample(this.Int32) + `,`,
1858		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
1859		`}`,
1860	}, "")
1861	return s
1862}
1863func valueToStringExample(v interface{}) string {
1864	rv := reflect.ValueOf(v)
1865	if rv.IsNil() {
1866		return "nil"
1867	}
1868	pv := reflect.Indirect(rv).Interface()
1869	return fmt.Sprintf("*%v", pv)
1870}
1871func (this *U) GetValue() interface{} {
1872	if this.A != nil {
1873		return this.A
1874	}
1875	if this.B != nil {
1876		return this.B
1877	}
1878	return nil
1879}
1880
1881func (this *U) SetValue(value interface{}) bool {
1882	switch vt := value.(type) {
1883	case *A:
1884		this.A = vt
1885	case *B:
1886		this.B = vt
1887	default:
1888		return false
1889	}
1890	return true
1891}
1892func (m *A) Unmarshal(dAtA []byte) error {
1893	l := len(dAtA)
1894	iNdEx := 0
1895	for iNdEx < l {
1896		preIndex := iNdEx
1897		var wire uint64
1898		for shift := uint(0); ; shift += 7 {
1899			if shift >= 64 {
1900				return ErrIntOverflowExample
1901			}
1902			if iNdEx >= l {
1903				return io.ErrUnexpectedEOF
1904			}
1905			b := dAtA[iNdEx]
1906			iNdEx++
1907			wire |= (uint64(b) & 0x7F) << shift
1908			if b < 0x80 {
1909				break
1910			}
1911		}
1912		fieldNum := int32(wire >> 3)
1913		wireType := int(wire & 0x7)
1914		if wireType == 4 {
1915			return fmt.Errorf("proto: A: wiretype end group for non-group")
1916		}
1917		if fieldNum <= 0 {
1918			return fmt.Errorf("proto: A: illegal tag %d (wire type %d)", fieldNum, wire)
1919		}
1920		switch fieldNum {
1921		case 1:
1922			if wireType != 2 {
1923				return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType)
1924			}
1925			var stringLen uint64
1926			for shift := uint(0); ; shift += 7 {
1927				if shift >= 64 {
1928					return ErrIntOverflowExample
1929				}
1930				if iNdEx >= l {
1931					return io.ErrUnexpectedEOF
1932				}
1933				b := dAtA[iNdEx]
1934				iNdEx++
1935				stringLen |= (uint64(b) & 0x7F) << shift
1936				if b < 0x80 {
1937					break
1938				}
1939			}
1940			intStringLen := int(stringLen)
1941			if intStringLen < 0 {
1942				return ErrInvalidLengthExample
1943			}
1944			postIndex := iNdEx + intStringLen
1945			if postIndex > l {
1946				return io.ErrUnexpectedEOF
1947			}
1948			m.Description = string(dAtA[iNdEx:postIndex])
1949			iNdEx = postIndex
1950		case 2:
1951			if wireType != 0 {
1952				return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType)
1953			}
1954			m.Number = 0
1955			for shift := uint(0); ; shift += 7 {
1956				if shift >= 64 {
1957					return ErrIntOverflowExample
1958				}
1959				if iNdEx >= l {
1960					return io.ErrUnexpectedEOF
1961				}
1962				b := dAtA[iNdEx]
1963				iNdEx++
1964				m.Number |= (int64(b) & 0x7F) << shift
1965				if b < 0x80 {
1966					break
1967				}
1968			}
1969		case 3:
1970			if wireType != 2 {
1971				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
1972			}
1973			var byteLen int
1974			for shift := uint(0); ; shift += 7 {
1975				if shift >= 64 {
1976					return ErrIntOverflowExample
1977				}
1978				if iNdEx >= l {
1979					return io.ErrUnexpectedEOF
1980				}
1981				b := dAtA[iNdEx]
1982				iNdEx++
1983				byteLen |= (int(b) & 0x7F) << shift
1984				if b < 0x80 {
1985					break
1986				}
1987			}
1988			if byteLen < 0 {
1989				return ErrInvalidLengthExample
1990			}
1991			postIndex := iNdEx + byteLen
1992			if postIndex > l {
1993				return io.ErrUnexpectedEOF
1994			}
1995			if err := m.Id.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
1996				return err
1997			}
1998			iNdEx = postIndex
1999		default:
2000			iNdEx = preIndex
2001			skippy, err := skipExample(dAtA[iNdEx:])
2002			if err != nil {
2003				return err
2004			}
2005			if skippy < 0 {
2006				return ErrInvalidLengthExample
2007			}
2008			if (iNdEx + skippy) > l {
2009				return io.ErrUnexpectedEOF
2010			}
2011			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2012			iNdEx += skippy
2013		}
2014	}
2015
2016	if iNdEx > l {
2017		return io.ErrUnexpectedEOF
2018	}
2019	return nil
2020}
2021func (m *B) Unmarshal(dAtA []byte) error {
2022	l := len(dAtA)
2023	iNdEx := 0
2024	for iNdEx < l {
2025		preIndex := iNdEx
2026		var wire uint64
2027		for shift := uint(0); ; shift += 7 {
2028			if shift >= 64 {
2029				return ErrIntOverflowExample
2030			}
2031			if iNdEx >= l {
2032				return io.ErrUnexpectedEOF
2033			}
2034			b := dAtA[iNdEx]
2035			iNdEx++
2036			wire |= (uint64(b) & 0x7F) << shift
2037			if b < 0x80 {
2038				break
2039			}
2040		}
2041		fieldNum := int32(wire >> 3)
2042		wireType := int(wire & 0x7)
2043		if wireType == 4 {
2044			return fmt.Errorf("proto: B: wiretype end group for non-group")
2045		}
2046		if fieldNum <= 0 {
2047			return fmt.Errorf("proto: B: illegal tag %d (wire type %d)", fieldNum, wire)
2048		}
2049		switch fieldNum {
2050		case 1:
2051			if wireType != 2 {
2052				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
2053			}
2054			var msglen int
2055			for shift := uint(0); ; shift += 7 {
2056				if shift >= 64 {
2057					return ErrIntOverflowExample
2058				}
2059				if iNdEx >= l {
2060					return io.ErrUnexpectedEOF
2061				}
2062				b := dAtA[iNdEx]
2063				iNdEx++
2064				msglen |= (int(b) & 0x7F) << shift
2065				if b < 0x80 {
2066					break
2067				}
2068			}
2069			if msglen < 0 {
2070				return ErrInvalidLengthExample
2071			}
2072			postIndex := iNdEx + msglen
2073			if postIndex > l {
2074				return io.ErrUnexpectedEOF
2075			}
2076			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2077				return err
2078			}
2079			iNdEx = postIndex
2080		case 2:
2081			if wireType != 2 {
2082				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
2083			}
2084			var byteLen int
2085			for shift := uint(0); ; shift += 7 {
2086				if shift >= 64 {
2087					return ErrIntOverflowExample
2088				}
2089				if iNdEx >= l {
2090					return io.ErrUnexpectedEOF
2091				}
2092				b := dAtA[iNdEx]
2093				iNdEx++
2094				byteLen |= (int(b) & 0x7F) << shift
2095				if b < 0x80 {
2096					break
2097				}
2098			}
2099			if byteLen < 0 {
2100				return ErrInvalidLengthExample
2101			}
2102			postIndex := iNdEx + byteLen
2103			if postIndex > l {
2104				return io.ErrUnexpectedEOF
2105			}
2106			var v github_com_gogo_protobuf_test_custom.Uint128
2107			m.G = append(m.G, v)
2108			if err := m.G[len(m.G)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2109				return err
2110			}
2111			iNdEx = postIndex
2112		default:
2113			iNdEx = preIndex
2114			skippy, err := skipExample(dAtA[iNdEx:])
2115			if err != nil {
2116				return err
2117			}
2118			if skippy < 0 {
2119				return ErrInvalidLengthExample
2120			}
2121			if (iNdEx + skippy) > l {
2122				return io.ErrUnexpectedEOF
2123			}
2124			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2125			iNdEx += skippy
2126		}
2127	}
2128
2129	if iNdEx > l {
2130		return io.ErrUnexpectedEOF
2131	}
2132	return nil
2133}
2134func (m *C) Unmarshal(dAtA []byte) error {
2135	l := len(dAtA)
2136	iNdEx := 0
2137	for iNdEx < l {
2138		preIndex := iNdEx
2139		var wire uint64
2140		for shift := uint(0); ; shift += 7 {
2141			if shift >= 64 {
2142				return ErrIntOverflowExample
2143			}
2144			if iNdEx >= l {
2145				return io.ErrUnexpectedEOF
2146			}
2147			b := dAtA[iNdEx]
2148			iNdEx++
2149			wire |= (uint64(b) & 0x7F) << shift
2150			if b < 0x80 {
2151				break
2152			}
2153		}
2154		fieldNum := int32(wire >> 3)
2155		wireType := int(wire & 0x7)
2156		if wireType == 4 {
2157			return fmt.Errorf("proto: C: wiretype end group for non-group")
2158		}
2159		if fieldNum <= 0 {
2160			return fmt.Errorf("proto: C: illegal tag %d (wire type %d)", fieldNum, wire)
2161		}
2162		switch fieldNum {
2163		case 1:
2164			if wireType != 0 {
2165				return fmt.Errorf("proto: wrong wireType = %d for field MySize", wireType)
2166			}
2167			var v int64
2168			for shift := uint(0); ; shift += 7 {
2169				if shift >= 64 {
2170					return ErrIntOverflowExample
2171				}
2172				if iNdEx >= l {
2173					return io.ErrUnexpectedEOF
2174				}
2175				b := dAtA[iNdEx]
2176				iNdEx++
2177				v |= (int64(b) & 0x7F) << shift
2178				if b < 0x80 {
2179					break
2180				}
2181			}
2182			m.MySize = &v
2183		default:
2184			iNdEx = preIndex
2185			skippy, err := skipExample(dAtA[iNdEx:])
2186			if err != nil {
2187				return err
2188			}
2189			if skippy < 0 {
2190				return ErrInvalidLengthExample
2191			}
2192			if (iNdEx + skippy) > l {
2193				return io.ErrUnexpectedEOF
2194			}
2195			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2196			iNdEx += skippy
2197		}
2198	}
2199
2200	if iNdEx > l {
2201		return io.ErrUnexpectedEOF
2202	}
2203	return nil
2204}
2205func (m *U) Unmarshal(dAtA []byte) error {
2206	l := len(dAtA)
2207	iNdEx := 0
2208	for iNdEx < l {
2209		preIndex := iNdEx
2210		var wire uint64
2211		for shift := uint(0); ; shift += 7 {
2212			if shift >= 64 {
2213				return ErrIntOverflowExample
2214			}
2215			if iNdEx >= l {
2216				return io.ErrUnexpectedEOF
2217			}
2218			b := dAtA[iNdEx]
2219			iNdEx++
2220			wire |= (uint64(b) & 0x7F) << shift
2221			if b < 0x80 {
2222				break
2223			}
2224		}
2225		fieldNum := int32(wire >> 3)
2226		wireType := int(wire & 0x7)
2227		if wireType == 4 {
2228			return fmt.Errorf("proto: U: wiretype end group for non-group")
2229		}
2230		if fieldNum <= 0 {
2231			return fmt.Errorf("proto: U: illegal tag %d (wire type %d)", fieldNum, wire)
2232		}
2233		switch fieldNum {
2234		case 1:
2235			if wireType != 2 {
2236				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
2237			}
2238			var msglen int
2239			for shift := uint(0); ; shift += 7 {
2240				if shift >= 64 {
2241					return ErrIntOverflowExample
2242				}
2243				if iNdEx >= l {
2244					return io.ErrUnexpectedEOF
2245				}
2246				b := dAtA[iNdEx]
2247				iNdEx++
2248				msglen |= (int(b) & 0x7F) << shift
2249				if b < 0x80 {
2250					break
2251				}
2252			}
2253			if msglen < 0 {
2254				return ErrInvalidLengthExample
2255			}
2256			postIndex := iNdEx + msglen
2257			if postIndex > l {
2258				return io.ErrUnexpectedEOF
2259			}
2260			if m.A == nil {
2261				m.A = &A{}
2262			}
2263			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2264				return err
2265			}
2266			iNdEx = postIndex
2267		case 2:
2268			if wireType != 2 {
2269				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
2270			}
2271			var msglen int
2272			for shift := uint(0); ; shift += 7 {
2273				if shift >= 64 {
2274					return ErrIntOverflowExample
2275				}
2276				if iNdEx >= l {
2277					return io.ErrUnexpectedEOF
2278				}
2279				b := dAtA[iNdEx]
2280				iNdEx++
2281				msglen |= (int(b) & 0x7F) << shift
2282				if b < 0x80 {
2283					break
2284				}
2285			}
2286			if msglen < 0 {
2287				return ErrInvalidLengthExample
2288			}
2289			postIndex := iNdEx + msglen
2290			if postIndex > l {
2291				return io.ErrUnexpectedEOF
2292			}
2293			if m.B == nil {
2294				m.B = &B{}
2295			}
2296			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2297				return err
2298			}
2299			iNdEx = postIndex
2300		default:
2301			iNdEx = preIndex
2302			skippy, err := skipExample(dAtA[iNdEx:])
2303			if err != nil {
2304				return err
2305			}
2306			if skippy < 0 {
2307				return ErrInvalidLengthExample
2308			}
2309			if (iNdEx + skippy) > l {
2310				return io.ErrUnexpectedEOF
2311			}
2312			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2313			iNdEx += skippy
2314		}
2315	}
2316
2317	if iNdEx > l {
2318		return io.ErrUnexpectedEOF
2319	}
2320	return nil
2321}
2322func (m *E) Unmarshal(dAtA []byte) error {
2323	l := len(dAtA)
2324	iNdEx := 0
2325	for iNdEx < l {
2326		preIndex := iNdEx
2327		var wire uint64
2328		for shift := uint(0); ; shift += 7 {
2329			if shift >= 64 {
2330				return ErrIntOverflowExample
2331			}
2332			if iNdEx >= l {
2333				return io.ErrUnexpectedEOF
2334			}
2335			b := dAtA[iNdEx]
2336			iNdEx++
2337			wire |= (uint64(b) & 0x7F) << shift
2338			if b < 0x80 {
2339				break
2340			}
2341		}
2342		fieldNum := int32(wire >> 3)
2343		wireType := int(wire & 0x7)
2344		if wireType == 4 {
2345			return fmt.Errorf("proto: E: wiretype end group for non-group")
2346		}
2347		if fieldNum <= 0 {
2348			return fmt.Errorf("proto: E: illegal tag %d (wire type %d)", fieldNum, wire)
2349		}
2350		switch fieldNum {
2351		default:
2352			if (fieldNum >= 1) && (fieldNum < 536870912) {
2353				var sizeOfWire int
2354				for {
2355					sizeOfWire++
2356					wire >>= 7
2357					if wire == 0 {
2358						break
2359					}
2360				}
2361				iNdEx -= sizeOfWire
2362				skippy, err := skipExample(dAtA[iNdEx:])
2363				if err != nil {
2364					return err
2365				}
2366				if skippy < 0 {
2367					return ErrInvalidLengthExample
2368				}
2369				if (iNdEx + skippy) > l {
2370					return io.ErrUnexpectedEOF
2371				}
2372				github_com_gogo_protobuf_proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy])
2373				iNdEx += skippy
2374			} else {
2375				iNdEx = preIndex
2376				skippy, err := skipExample(dAtA[iNdEx:])
2377				if err != nil {
2378					return err
2379				}
2380				if skippy < 0 {
2381					return ErrInvalidLengthExample
2382				}
2383				if (iNdEx + skippy) > l {
2384					return io.ErrUnexpectedEOF
2385				}
2386				m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2387				iNdEx += skippy
2388			}
2389		}
2390	}
2391
2392	if iNdEx > l {
2393		return io.ErrUnexpectedEOF
2394	}
2395	return nil
2396}
2397func (m *R) Unmarshal(dAtA []byte) error {
2398	l := len(dAtA)
2399	iNdEx := 0
2400	for iNdEx < l {
2401		preIndex := iNdEx
2402		var wire uint64
2403		for shift := uint(0); ; shift += 7 {
2404			if shift >= 64 {
2405				return ErrIntOverflowExample
2406			}
2407			if iNdEx >= l {
2408				return io.ErrUnexpectedEOF
2409			}
2410			b := dAtA[iNdEx]
2411			iNdEx++
2412			wire |= (uint64(b) & 0x7F) << shift
2413			if b < 0x80 {
2414				break
2415			}
2416		}
2417		fieldNum := int32(wire >> 3)
2418		wireType := int(wire & 0x7)
2419		if wireType == 4 {
2420			return fmt.Errorf("proto: R: wiretype end group for non-group")
2421		}
2422		if fieldNum <= 0 {
2423			return fmt.Errorf("proto: R: illegal tag %d (wire type %d)", fieldNum, wire)
2424		}
2425		switch fieldNum {
2426		case 1:
2427			if wireType != 0 {
2428				return fmt.Errorf("proto: wrong wireType = %d for field Recognized", wireType)
2429			}
2430			var v uint32
2431			for shift := uint(0); ; shift += 7 {
2432				if shift >= 64 {
2433					return ErrIntOverflowExample
2434				}
2435				if iNdEx >= l {
2436					return io.ErrUnexpectedEOF
2437				}
2438				b := dAtA[iNdEx]
2439				iNdEx++
2440				v |= (uint32(b) & 0x7F) << shift
2441				if b < 0x80 {
2442					break
2443				}
2444			}
2445			m.Recognized = &v
2446		default:
2447			iNdEx = preIndex
2448			skippy, err := skipExample(dAtA[iNdEx:])
2449			if err != nil {
2450				return err
2451			}
2452			if skippy < 0 {
2453				return ErrInvalidLengthExample
2454			}
2455			if (iNdEx + skippy) > l {
2456				return io.ErrUnexpectedEOF
2457			}
2458			iNdEx += skippy
2459		}
2460	}
2461
2462	if iNdEx > l {
2463		return io.ErrUnexpectedEOF
2464	}
2465	return nil
2466}
2467func (m *CastType) Unmarshal(dAtA []byte) error {
2468	l := len(dAtA)
2469	iNdEx := 0
2470	for iNdEx < l {
2471		preIndex := iNdEx
2472		var wire uint64
2473		for shift := uint(0); ; shift += 7 {
2474			if shift >= 64 {
2475				return ErrIntOverflowExample
2476			}
2477			if iNdEx >= l {
2478				return io.ErrUnexpectedEOF
2479			}
2480			b := dAtA[iNdEx]
2481			iNdEx++
2482			wire |= (uint64(b) & 0x7F) << shift
2483			if b < 0x80 {
2484				break
2485			}
2486		}
2487		fieldNum := int32(wire >> 3)
2488		wireType := int(wire & 0x7)
2489		if wireType == 4 {
2490			return fmt.Errorf("proto: CastType: wiretype end group for non-group")
2491		}
2492		if fieldNum <= 0 {
2493			return fmt.Errorf("proto: CastType: illegal tag %d (wire type %d)", fieldNum, wire)
2494		}
2495		switch fieldNum {
2496		case 1:
2497			if wireType != 0 {
2498				return fmt.Errorf("proto: wrong wireType = %d for field Int32", wireType)
2499			}
2500			var v int32
2501			for shift := uint(0); ; shift += 7 {
2502				if shift >= 64 {
2503					return ErrIntOverflowExample
2504				}
2505				if iNdEx >= l {
2506					return io.ErrUnexpectedEOF
2507				}
2508				b := dAtA[iNdEx]
2509				iNdEx++
2510				v |= (int32(b) & 0x7F) << shift
2511				if b < 0x80 {
2512					break
2513				}
2514			}
2515			m.Int32 = &v
2516		default:
2517			iNdEx = preIndex
2518			skippy, err := skipExample(dAtA[iNdEx:])
2519			if err != nil {
2520				return err
2521			}
2522			if skippy < 0 {
2523				return ErrInvalidLengthExample
2524			}
2525			if (iNdEx + skippy) > l {
2526				return io.ErrUnexpectedEOF
2527			}
2528			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
2529			iNdEx += skippy
2530		}
2531	}
2532
2533	if iNdEx > l {
2534		return io.ErrUnexpectedEOF
2535	}
2536	return nil
2537}
2538func skipExample(dAtA []byte) (n int, err error) {
2539	l := len(dAtA)
2540	iNdEx := 0
2541	for iNdEx < l {
2542		var wire uint64
2543		for shift := uint(0); ; shift += 7 {
2544			if shift >= 64 {
2545				return 0, ErrIntOverflowExample
2546			}
2547			if iNdEx >= l {
2548				return 0, io.ErrUnexpectedEOF
2549			}
2550			b := dAtA[iNdEx]
2551			iNdEx++
2552			wire |= (uint64(b) & 0x7F) << shift
2553			if b < 0x80 {
2554				break
2555			}
2556		}
2557		wireType := int(wire & 0x7)
2558		switch wireType {
2559		case 0:
2560			for shift := uint(0); ; shift += 7 {
2561				if shift >= 64 {
2562					return 0, ErrIntOverflowExample
2563				}
2564				if iNdEx >= l {
2565					return 0, io.ErrUnexpectedEOF
2566				}
2567				iNdEx++
2568				if dAtA[iNdEx-1] < 0x80 {
2569					break
2570				}
2571			}
2572			return iNdEx, nil
2573		case 1:
2574			iNdEx += 8
2575			return iNdEx, nil
2576		case 2:
2577			var length int
2578			for shift := uint(0); ; shift += 7 {
2579				if shift >= 64 {
2580					return 0, ErrIntOverflowExample
2581				}
2582				if iNdEx >= l {
2583					return 0, io.ErrUnexpectedEOF
2584				}
2585				b := dAtA[iNdEx]
2586				iNdEx++
2587				length |= (int(b) & 0x7F) << shift
2588				if b < 0x80 {
2589					break
2590				}
2591			}
2592			iNdEx += length
2593			if length < 0 {
2594				return 0, ErrInvalidLengthExample
2595			}
2596			return iNdEx, nil
2597		case 3:
2598			for {
2599				var innerWire uint64
2600				var start int = iNdEx
2601				for shift := uint(0); ; shift += 7 {
2602					if shift >= 64 {
2603						return 0, ErrIntOverflowExample
2604					}
2605					if iNdEx >= l {
2606						return 0, io.ErrUnexpectedEOF
2607					}
2608					b := dAtA[iNdEx]
2609					iNdEx++
2610					innerWire |= (uint64(b) & 0x7F) << shift
2611					if b < 0x80 {
2612						break
2613					}
2614				}
2615				innerWireType := int(innerWire & 0x7)
2616				if innerWireType == 4 {
2617					break
2618				}
2619				next, err := skipExample(dAtA[start:])
2620				if err != nil {
2621					return 0, err
2622				}
2623				iNdEx = start + next
2624			}
2625			return iNdEx, nil
2626		case 4:
2627			return iNdEx, nil
2628		case 5:
2629			iNdEx += 4
2630			return iNdEx, nil
2631		default:
2632			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
2633		}
2634	}
2635	panic("unreachable")
2636}
2637
2638var (
2639	ErrInvalidLengthExample = fmt.Errorf("proto: negative length found during unmarshaling")
2640	ErrIntOverflowExample   = fmt.Errorf("proto: integer overflow")
2641)
2642
2643func init() { proto.RegisterFile("example.proto", fileDescriptor_example_32f420a2a58e4270) }
2644
2645var fileDescriptor_example_32f420a2a58e4270 = []byte{
2646	// 425 bytes of a gzipped FileDescriptorProto
2647	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x41, 0x6b, 0x13, 0x41,
2648	0x14, 0xc7, 0xf3, 0x36, 0xdb, 0xba, 0x7d, 0x6d, 0x41, 0x46, 0x0a, 0x41, 0x64, 0x26, 0xac, 0x20,
2649	0xb1, 0xd6, 0x0d, 0x46, 0x41, 0xd9, 0x5b, 0xa6, 0x4a, 0xc9, 0x41, 0x0f, 0xa3, 0xf9, 0x00, 0x4d,
2650	0x32, 0xc6, 0x01, 0xb3, 0x13, 0xb2, 0xb3, 0x60, 0x73, 0xda, 0xa3, 0x37, 0xbf, 0x42, 0xbd, 0xf5,
2651	0x23, 0x78, 0xf4, 0x98, 0x63, 0x8e, 0xe2, 0x61, 0x69, 0xe6, 0x13, 0xf4, 0x28, 0x9e, 0x64, 0xa6,
2652	0x41, 0x02, 0x62, 0x6f, 0xfb, 0x7e, 0xef, 0xed, 0xff, 0xff, 0x63, 0x70, 0x5f, 0x7e, 0x3a, 0x9d,
2653	0x4c, 0x3f, 0xca, 0x64, 0x3a, 0xd3, 0x46, 0x93, 0xd0, 0xc8, 0xdc, 0xdc, 0x7d, 0x3c, 0x56, 0xe6,
2654	0x43, 0x31, 0x48, 0x86, 0x7a, 0xd2, 0x1e, 0xeb, 0xb1, 0x6e, 0xfb, 0xe5, 0xa0, 0x78, 0xef, 0x27,
2655	0x3f, 0xf8, 0xaf, 0xeb, 0x9f, 0xe2, 0x2f, 0x80, 0xd0, 0x25, 0x0f, 0x70, 0xf7, 0xa5, 0xcc, 0x87,
2656	0x33, 0x35, 0x35, 0x4a, 0x67, 0x0d, 0x68, 0x42, 0x6b, 0x87, 0x87, 0x8b, 0x8a, 0xd5, 0xc4, 0xe6,
2657	0x82, 0xdc, 0xc3, 0xed, 0x37, 0xc5, 0x64, 0x20, 0x67, 0x8d, 0xa0, 0x09, 0xad, 0xfa, 0xfa, 0x64,
2658	0xcd, 0x48, 0x8a, 0x41, 0x6f, 0xd4, 0xa8, 0x37, 0xa1, 0xb5, 0xc7, 0x0f, 0xdd, 0xe6, 0x67, 0xc5,
2659	0xe2, 0xff, 0xea, 0x38, 0xdb, 0xa4, 0x5f, 0xa8, 0x91, 0x08, 0x7a, 0xa3, 0x34, 0xfa, 0x7c, 0xce,
2660	0x6a, 0x17, 0xe7, 0x0c, 0xe2, 0x0c, 0x81, 0x13, 0x86, 0xd0, 0xf5, 0x1a, 0xbb, 0x9d, 0x5b, 0x89,
2661	0xbf, 0xec, 0xf2, 0xc8, 0x45, 0x2e, 0x2b, 0x06, 0x02, 0xba, 0x84, 0x23, 0x9c, 0x34, 0x82, 0x66,
2662	0xbd, 0xb5, 0xc7, 0x9f, 0xad, 0xab, 0x8e, 0x6e, 0xac, 0x6a, 0x0f, 0x8b, 0xdc, 0xe8, 0x49, 0xd2,
2663	0x57, 0x99, 0x79, 0xd2, 0x79, 0x21, 0xe0, 0x24, 0x0d, 0xaf, 0x5c, 0xdf, 0x7d, 0x84, 0x63, 0x42,
2664	0x31, 0xcc, 0xd5, 0x5c, 0xfa, 0xca, 0x3a, 0x47, 0x5b, 0xb1, 0xed, 0xd7, 0x67, 0x6f, 0xd5, 0x5c,
2665	0x0a, 0xcf, 0xe3, 0xe7, 0x08, 0x7d, 0x72, 0xf0, 0xaf, 0x94, 0x53, 0x39, 0x40, 0xe0, 0xfe, 0x3d,
2666	0xfe, 0x62, 0x2e, 0x80, 0xa7, 0xe1, 0xc2, 0xa5, 0xdf, 0x41, 0x78, 0x75, 0x18, 0x45, 0x70, 0xbb,
2667	0x2c, 0xcb, 0x32, 0x48, 0xc3, 0xc5, 0x57, 0x56, 0x8b, 0x1f, 0x22, 0x08, 0x42, 0x11, 0x67, 0x72,
2668	0xa8, 0xc7, 0x99, 0x9a, 0xcb, 0x91, 0x8f, 0xdd, 0x17, 0x1b, 0x24, 0x0d, 0x97, 0xee, 0xf4, 0x11,
2669	0x46, 0xc7, 0xa7, 0xb9, 0x79, 0x77, 0x36, 0x95, 0x84, 0xe1, 0x56, 0x2f, 0x33, 0x4f, 0x3b, 0x6b,
2670	0xcb, 0x9d, 0xdf, 0x15, 0xdb, 0x52, 0x0e, 0x88, 0x6b, 0xce, 0x8f, 0x7e, 0xac, 0x68, 0xed, 0x72,
2671	0x45, 0xe1, 0x6a, 0x45, 0xe1, 0xd7, 0x8a, 0x42, 0x69, 0x29, 0x5c, 0x58, 0x0a, 0xdf, 0x2c, 0x85,
2672	0xef, 0x96, 0xc2, 0xc2, 0x52, 0x58, 0x5a, 0x0a, 0x97, 0x96, 0xc2, 0x9f, 0x00, 0x00, 0x00, 0xff,
2673	0xff, 0x71, 0x9d, 0xd3, 0x01, 0x3f, 0x02, 0x00, 0x00,
2674}
2675