internal/impl: fix WhichOneof() to work with synthetic oneofs
This is the equivalent of CL 638495, but for the Opaque API.
While the behavior is the same for non-synthetic oneofs between
the Open Struct API and Opaque API, the behavior for synthetic oneofs
is not the same: Because the Opaque API uses a bitfield to store
presence, we need to use the Opaque presence check in WhichOneof().
This CL extends the testproto generator to use the protoc
command-line flag for the test3 testproto (which specifies
syntax = "proto3";), as the in-file api_level is only available
in .proto files using editions (but editions does not use synthetic
oneofs for optional fields, only proto3 does).
For golang/protobuf#1659
Change-Id: I0a1fd6e5fc6f96eeab043f966728ce2a14dbd446
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/638515
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Chressie Himpel <chressie@google.com>
diff --git a/internal/cmd/generate-protos/main.go b/internal/cmd/generate-protos/main.go
index 5d95201..c42f908 100644
--- a/internal/cmd/generate-protos/main.go
+++ b/internal/cmd/generate-protos/main.go
@@ -182,7 +182,13 @@
if matches := goPackageRe.FindStringSubmatch(line); matches != nil {
goPkg := matches[1]
hybridGoPkg := strings.TrimSuffix(goPkg, "/") + "/" + filepath.Base(goPkg) + "_hybrid"
- return `option go_package = "` + hybridGoPkg + `";` + "\n" +
+ goPackage := `option go_package = "` + hybridGoPkg + `";` + "\n"
+ if strings.HasPrefix(relPath, "internal/testprotos/test3/") {
+ // The test3 testproto must remain on syntax = "proto3";
+ // and therefore cannot use the editions-only api_level.
+ return goPackage
+ }
+ return goPackage +
`import "google/protobuf/go_features.proto";` + "\n" +
`option features.(pb.go).api_level = API_HYBRID;`
}
@@ -211,7 +217,13 @@
if matches := goPackageRe.FindStringSubmatch(line); matches != nil {
goPkg := matches[1]
opaqueGoPkg := strings.TrimSuffix(goPkg, "/") + "/" + filepath.Base(goPkg) + "_opaque"
- return `option go_package = "` + opaqueGoPkg + `";` + "\n" +
+ goPackage := `option go_package = "` + opaqueGoPkg + `";` + "\n"
+ if strings.HasPrefix(relPath, "internal/testprotos/test3/") {
+ // The test3 testproto must remain on syntax = "proto3";
+ // and therefore cannot use the editions-only api_level.
+ return goPackage
+ }
+ return goPackage +
`import "google/protobuf/go_features.proto";` + "\n" +
`option features.(pb.go).api_level = API_OPAQUE;`
}
@@ -248,6 +260,12 @@
}{
{path: "internal/testprotos/required"},
{path: "internal/testprotos/testeditions"},
+ {
+ path: "internal/testprotos/test3",
+ exclude: map[string]bool{
+ "internal/testprotos/test3/test_extension.proto": true,
+ },
+ },
{path: "internal/testprotos/enums"},
{path: "internal/testprotos/textpbeditions"},
{path: "internal/testprotos/messageset"},
@@ -359,6 +377,18 @@
if d.annotate[filepath.ToSlash(relPath)] {
opts += ",annotate_code"
}
+ if strings.HasPrefix(relPath, "internal/testprotos/test3/") {
+ variant := strings.TrimPrefix(relPath, "internal/testprotos/test3/")
+ if idx := strings.IndexByte(variant, '/'); idx > -1 {
+ variant = variant[:idx]
+ }
+ switch variant {
+ case "test3_hybrid":
+ opts += fmt.Sprintf(",apilevelM%v=%v", relPath, "API_HYBRID")
+ case "test3_opaque":
+ opts += fmt.Sprintf(",apilevelM%v=%v", relPath, "API_OPAQUE")
+ }
+ }
protoc("-I"+filepath.Join(repoRoot, "src"), "-I"+filepath.Join(protoRoot, "src"), "-I"+repoRoot, "--go_out="+opts+":"+tmpDir, filepath.Join(repoRoot, relPath))
return nil
})
diff --git a/internal/impl/message_opaque.go b/internal/impl/message_opaque.go
index d407dd7..d7ec53f 100644
--- a/internal/impl/message_opaque.go
+++ b/internal/impl/message_opaque.go
@@ -88,9 +88,7 @@
mi.oneofs = map[protoreflect.Name]*oneofInfo{}
for i := 0; i < mi.Desc.Oneofs().Len(); i++ {
od := mi.Desc.Oneofs().Get(i)
- if !od.IsSynthetic() {
- mi.oneofs[od.Name()] = makeOneofInfo(od, si.structInfo, mi.Exporter)
- }
+ mi.oneofs[od.Name()] = makeOneofInfoOpaque(mi, od, si.structInfo, mi.Exporter)
}
mi.denseFields = make([]*fieldInfo, fds.Len()*2)
@@ -119,6 +117,26 @@
return true
}
+func makeOneofInfoOpaque(mi *MessageInfo, od protoreflect.OneofDescriptor, si structInfo, x exporter) *oneofInfo {
+ oi := &oneofInfo{oneofDesc: od}
+ if od.IsSynthetic() {
+ fd := od.Fields().Get(0)
+ index, _ := presenceIndex(mi.Desc, fd)
+ oi.which = func(p pointer) protoreflect.FieldNumber {
+ if p.IsNil() {
+ return 0
+ }
+ if !mi.present(p, index) {
+ return 0
+ }
+ return od.Fields().Get(0).Number()
+ }
+ return oi
+ }
+ // Dispatch to non-opaque oneof implementation for non-synthetic oneofs.
+ return makeOneofInfo(od, si, x)
+}
+
func (mi *MessageInfo) fieldInfoForMapOpaque(si opaqueStructInfo, fd protoreflect.FieldDescriptor, fs reflect.StructField) fieldInfo {
ft := fs.Type
if ft.Kind() != reflect.Map {
diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go b/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go
new file mode 100644
index 0000000..2188403
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go
@@ -0,0 +1,2762 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_hybrid/test.hybrid.proto
+
+//go:build !protoopaque
+
+package test3_hybrid
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ForeignEnum int32
+
+const (
+ ForeignEnum_FOREIGN_ZERO ForeignEnum = 0
+ ForeignEnum_FOREIGN_FOO ForeignEnum = 4
+ ForeignEnum_FOREIGN_BAR ForeignEnum = 5
+ ForeignEnum_FOREIGN_BAZ ForeignEnum = 6
+)
+
+// Enum value maps for ForeignEnum.
+var (
+ ForeignEnum_name = map[int32]string{
+ 0: "FOREIGN_ZERO",
+ 4: "FOREIGN_FOO",
+ 5: "FOREIGN_BAR",
+ 6: "FOREIGN_BAZ",
+ }
+ ForeignEnum_value = map[string]int32{
+ "FOREIGN_ZERO": 0,
+ "FOREIGN_FOO": 4,
+ "FOREIGN_BAR": 5,
+ "FOREIGN_BAZ": 6,
+ }
+)
+
+func (x ForeignEnum) Enum() *ForeignEnum {
+ p := new(ForeignEnum)
+ *p = x
+ return p
+}
+
+func (x ForeignEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ForeignEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0]
+}
+
+func (x ForeignEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes_NestedEnum int32
+
+const (
+ TestAllTypes_FOO TestAllTypes_NestedEnum = 0
+ TestAllTypes_BAR TestAllTypes_NestedEnum = 1
+ TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
+ TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative.
+)
+
+// Enum value maps for TestAllTypes_NestedEnum.
+var (
+ TestAllTypes_NestedEnum_name = map[int32]string{
+ 0: "FOO",
+ 1: "BAR",
+ 2: "BAZ",
+ -1: "NEG",
+ }
+ TestAllTypes_NestedEnum_value = map[string]int32{
+ "FOO": 0,
+ "BAR": 1,
+ "BAZ": 2,
+ "NEG": -1,
+ }
+)
+
+func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
+ p := new(TestAllTypes_NestedEnum)
+ *p = x
+ return p
+}
+
+func (x TestAllTypes_NestedEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1].Descriptor()
+}
+
+func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1]
+}
+
+func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes struct {
+ state protoimpl.MessageState `protogen:"hybrid.v1"`
+ SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"`
+ SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"`
+ SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"`
+ SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"`
+ SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"`
+ SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"`
+ SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"`
+ SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"`
+ SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"`
+ SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"`
+ SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"`
+ SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"`
+ SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"`
+ SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"`
+ SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"`
+ SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"`
+ SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"`
+ SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"`
+ SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
+ SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"`
+ SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"`
+ OptionalInt32 *int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"`
+ OptionalInt64 *int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"`
+ OptionalUint32 *uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"`
+ OptionalUint64 *uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"`
+ OptionalSint32 *int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"`
+ OptionalSint64 *int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"`
+ OptionalFixed32 *uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"`
+ OptionalFixed64 *uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"`
+ OptionalSfixed32 *int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"`
+ OptionalSfixed64 *int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"`
+ OptionalFloat *float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"`
+ OptionalDouble *float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"`
+ OptionalBool *bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"`
+ OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"`
+ OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"`
+ OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"`
+ OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"`
+ OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"`
+ OptionalNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"`
+ OptionalForeignEnum *ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"`
+ OptionalImportEnum *ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"`
+ RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"`
+ RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"`
+ RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"`
+ RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"`
+ RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"`
+ RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"`
+ RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"`
+ RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"`
+ RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"`
+ RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"`
+ RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"`
+ RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"`
+ RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"`
+ RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"`
+ RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"`
+ RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"`
+ RepeatedForeignMessage []*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"`
+ RepeatedImportmessage []*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"`
+ RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
+ RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
+ RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"`
+ MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32,proto3" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
+ MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64,proto3" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
+ MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32,proto3" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64,proto3" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32,proto3" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64,proto3" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage,proto3" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum,proto3" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum"`
+ // Types that are valid to be assigned to OneofField:
+ //
+ // *TestAllTypes_OneofUint32
+ // *TestAllTypes_OneofNestedMessage
+ // *TestAllTypes_OneofString
+ // *TestAllTypes_OneofBytes
+ // *TestAllTypes_OneofBool
+ // *TestAllTypes_OneofUint64
+ // *TestAllTypes_OneofFloat
+ // *TestAllTypes_OneofDouble
+ // *TestAllTypes_OneofEnum
+ OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes) Reset() {
+ *x = TestAllTypes{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes) ProtoMessage() {}
+
+func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes) GetSingularInt32() int32 {
+ if x != nil {
+ return x.SingularInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularInt64() int64 {
+ if x != nil {
+ return x.SingularInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint32() uint32 {
+ if x != nil {
+ return x.SingularUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint64() uint64 {
+ if x != nil {
+ return x.SingularUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint32() int32 {
+ if x != nil {
+ return x.SingularSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint64() int64 {
+ if x != nil {
+ return x.SingularSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed32() uint32 {
+ if x != nil {
+ return x.SingularFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed64() uint64 {
+ if x != nil {
+ return x.SingularFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed32() int32 {
+ if x != nil {
+ return x.SingularSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed64() int64 {
+ if x != nil {
+ return x.SingularSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFloat() float32 {
+ if x != nil {
+ return x.SingularFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularDouble() float64 {
+ if x != nil {
+ return x.SingularDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularBool() bool {
+ if x != nil {
+ return x.SingularBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetSingularString() string {
+ if x != nil {
+ return x.SingularString
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetSingularBytes() []byte {
+ if x != nil {
+ return x.SingularBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.SingularNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.SingularForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage {
+ if x != nil {
+ return x.SingularImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.SingularNestedEnum
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum {
+ if x != nil {
+ return x.SingularForeignEnum
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetSingularImportEnum() ImportEnum {
+ if x != nil {
+ return x.SingularImportEnum
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalInt32() int32 {
+ if x != nil && x.OptionalInt32 != nil {
+ return *x.OptionalInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalInt64() int64 {
+ if x != nil && x.OptionalInt64 != nil {
+ return *x.OptionalInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint32() uint32 {
+ if x != nil && x.OptionalUint32 != nil {
+ return *x.OptionalUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint64() uint64 {
+ if x != nil && x.OptionalUint64 != nil {
+ return *x.OptionalUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint32() int32 {
+ if x != nil && x.OptionalSint32 != nil {
+ return *x.OptionalSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint64() int64 {
+ if x != nil && x.OptionalSint64 != nil {
+ return *x.OptionalSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed32() uint32 {
+ if x != nil && x.OptionalFixed32 != nil {
+ return *x.OptionalFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed64() uint64 {
+ if x != nil && x.OptionalFixed64 != nil {
+ return *x.OptionalFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed32() int32 {
+ if x != nil && x.OptionalSfixed32 != nil {
+ return *x.OptionalSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed64() int64 {
+ if x != nil && x.OptionalSfixed64 != nil {
+ return *x.OptionalSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFloat() float32 {
+ if x != nil && x.OptionalFloat != nil {
+ return *x.OptionalFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalDouble() float64 {
+ if x != nil && x.OptionalDouble != nil {
+ return *x.OptionalDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalBool() bool {
+ if x != nil && x.OptionalBool != nil {
+ return *x.OptionalBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOptionalString() string {
+ if x != nil && x.OptionalString != nil {
+ return *x.OptionalString
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOptionalBytes() []byte {
+ if x != nil {
+ return x.OptionalBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.OptionalNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.OptionalForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage {
+ if x != nil {
+ return x.OptionalImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil && x.OptionalNestedEnum != nil {
+ return *x.OptionalNestedEnum
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
+ if x != nil && x.OptionalForeignEnum != nil {
+ return *x.OptionalForeignEnum
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum {
+ if x != nil && x.OptionalImportEnum != nil {
+ return *x.OptionalImportEnum
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetRepeatedInt32() []int32 {
+ if x != nil {
+ return x.RepeatedInt32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedInt64() []int64 {
+ if x != nil {
+ return x.RepeatedInt64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
+ if x != nil {
+ return x.RepeatedUint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
+ if x != nil {
+ return x.RepeatedUint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint32() []int32 {
+ if x != nil {
+ return x.RepeatedSint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint64() []int64 {
+ if x != nil {
+ return x.RepeatedSint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
+ if x != nil {
+ return x.RepeatedFixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
+ if x != nil {
+ return x.RepeatedFixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
+ if x != nil {
+ return x.RepeatedSfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
+ if x != nil {
+ return x.RepeatedSfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFloat() []float32 {
+ if x != nil {
+ return x.RepeatedFloat
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedDouble() []float64 {
+ if x != nil {
+ return x.RepeatedDouble
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBool() []bool {
+ if x != nil {
+ return x.RepeatedBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedString() []string {
+ if x != nil {
+ return x.RepeatedString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
+ if x != nil {
+ return x.RepeatedBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.RepeatedNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
+ if x != nil {
+ return x.RepeatedForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
+ if x != nil {
+ return x.RepeatedImportmessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.RepeatedNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
+ if x != nil {
+ return x.RepeatedForeignEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
+ if x != nil {
+ return x.RepeatedImportenum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
+ if x != nil {
+ return x.MapInt32Int32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
+ if x != nil {
+ return x.MapInt64Int64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
+ if x != nil {
+ return x.MapUint32Uint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
+ if x != nil {
+ return x.MapUint64Uint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
+ if x != nil {
+ return x.MapSint32Sint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
+ if x != nil {
+ return x.MapSint64Sint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
+ if x != nil {
+ return x.MapFixed32Fixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
+ if x != nil {
+ return x.MapFixed64Fixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
+ if x != nil {
+ return x.MapSfixed32Sfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
+ if x != nil {
+ return x.MapSfixed64Sfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
+ if x != nil {
+ return x.MapInt32Float
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
+ if x != nil {
+ return x.MapInt32Double
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
+ if x != nil {
+ return x.MapBoolBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringString() map[string]string {
+ if x != nil {
+ return x.MapStringString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
+ if x != nil {
+ return x.MapStringBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.MapStringNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.MapStringNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofField() isTestAllTypes_OneofField {
+ if x != nil {
+ return x.OneofField
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofUint32() uint32 {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok {
+ return x.OneofUint32
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok {
+ return x.OneofNestedMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofString() string {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofString); ok {
+ return x.OneofString
+ }
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOneofBytes() []byte {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok {
+ return x.OneofBytes
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofBool() bool {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofBool); ok {
+ return x.OneofBool
+ }
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOneofUint64() uint64 {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok {
+ return x.OneofUint64
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofFloat() float32 {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok {
+ return x.OneofFloat
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofDouble() float64 {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok {
+ return x.OneofDouble
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ if x, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok {
+ return x.OneofEnum
+ }
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) SetSingularInt32(v int32) {
+ x.SingularInt32 = v
+}
+
+func (x *TestAllTypes) SetSingularInt64(v int64) {
+ x.SingularInt64 = v
+}
+
+func (x *TestAllTypes) SetSingularUint32(v uint32) {
+ x.SingularUint32 = v
+}
+
+func (x *TestAllTypes) SetSingularUint64(v uint64) {
+ x.SingularUint64 = v
+}
+
+func (x *TestAllTypes) SetSingularSint32(v int32) {
+ x.SingularSint32 = v
+}
+
+func (x *TestAllTypes) SetSingularSint64(v int64) {
+ x.SingularSint64 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed32(v uint32) {
+ x.SingularFixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed64(v uint64) {
+ x.SingularFixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed32(v int32) {
+ x.SingularSfixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed64(v int64) {
+ x.SingularSfixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularFloat(v float32) {
+ x.SingularFloat = v
+}
+
+func (x *TestAllTypes) SetSingularDouble(v float64) {
+ x.SingularDouble = v
+}
+
+func (x *TestAllTypes) SetSingularBool(v bool) {
+ x.SingularBool = v
+}
+
+func (x *TestAllTypes) SetSingularString(v string) {
+ x.SingularString = v
+}
+
+func (x *TestAllTypes) SetSingularBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.SingularBytes = v
+}
+
+func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.SingularNestedMessage = v
+}
+
+func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) {
+ x.SingularForeignMessage = v
+}
+
+func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) {
+ x.SingularImportMessage = v
+}
+
+func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) {
+ x.SingularNestedEnum = v
+}
+
+func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) {
+ x.SingularForeignEnum = v
+}
+
+func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) {
+ x.SingularImportEnum = v
+}
+
+func (x *TestAllTypes) SetOptionalInt32(v int32) {
+ x.OptionalInt32 = &v
+}
+
+func (x *TestAllTypes) SetOptionalInt64(v int64) {
+ x.OptionalInt64 = &v
+}
+
+func (x *TestAllTypes) SetOptionalUint32(v uint32) {
+ x.OptionalUint32 = &v
+}
+
+func (x *TestAllTypes) SetOptionalUint64(v uint64) {
+ x.OptionalUint64 = &v
+}
+
+func (x *TestAllTypes) SetOptionalSint32(v int32) {
+ x.OptionalSint32 = &v
+}
+
+func (x *TestAllTypes) SetOptionalSint64(v int64) {
+ x.OptionalSint64 = &v
+}
+
+func (x *TestAllTypes) SetOptionalFixed32(v uint32) {
+ x.OptionalFixed32 = &v
+}
+
+func (x *TestAllTypes) SetOptionalFixed64(v uint64) {
+ x.OptionalFixed64 = &v
+}
+
+func (x *TestAllTypes) SetOptionalSfixed32(v int32) {
+ x.OptionalSfixed32 = &v
+}
+
+func (x *TestAllTypes) SetOptionalSfixed64(v int64) {
+ x.OptionalSfixed64 = &v
+}
+
+func (x *TestAllTypes) SetOptionalFloat(v float32) {
+ x.OptionalFloat = &v
+}
+
+func (x *TestAllTypes) SetOptionalDouble(v float64) {
+ x.OptionalDouble = &v
+}
+
+func (x *TestAllTypes) SetOptionalBool(v bool) {
+ x.OptionalBool = &v
+}
+
+func (x *TestAllTypes) SetOptionalString(v string) {
+ x.OptionalString = &v
+}
+
+func (x *TestAllTypes) SetOptionalBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.OptionalBytes = v
+}
+
+func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.OptionalNestedMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) {
+ x.OptionalForeignMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) {
+ x.OptionalImportMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) {
+ x.OptionalNestedEnum = &v
+}
+
+func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) {
+ x.OptionalForeignEnum = &v
+}
+
+func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) {
+ x.OptionalImportEnum = &v
+}
+
+func (x *TestAllTypes) SetRepeatedInt32(v []int32) {
+ x.RepeatedInt32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedInt64(v []int64) {
+ x.RepeatedInt64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint32(v []uint32) {
+ x.RepeatedUint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint64(v []uint64) {
+ x.RepeatedUint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint32(v []int32) {
+ x.RepeatedSint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint64(v []int64) {
+ x.RepeatedSint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) {
+ x.RepeatedFixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) {
+ x.RepeatedFixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) {
+ x.RepeatedSfixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) {
+ x.RepeatedSfixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFloat(v []float32) {
+ x.RepeatedFloat = v
+}
+
+func (x *TestAllTypes) SetRepeatedDouble(v []float64) {
+ x.RepeatedDouble = v
+}
+
+func (x *TestAllTypes) SetRepeatedBool(v []bool) {
+ x.RepeatedBool = v
+}
+
+func (x *TestAllTypes) SetRepeatedString(v []string) {
+ x.RepeatedString = v
+}
+
+func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) {
+ x.RepeatedBytes = v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) {
+ x.RepeatedNestedMessage = v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) {
+ x.RepeatedForeignMessage = v
+}
+
+func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) {
+ x.RepeatedImportmessage = v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) {
+ x.RepeatedNestedEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) {
+ x.RepeatedForeignEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) {
+ x.RepeatedImportenum = v
+}
+
+func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) {
+ x.MapInt32Int32 = v
+}
+
+func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) {
+ x.MapInt64Int64 = v
+}
+
+func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) {
+ x.MapUint32Uint32 = v
+}
+
+func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) {
+ x.MapUint64Uint64 = v
+}
+
+func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) {
+ x.MapSint32Sint32 = v
+}
+
+func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) {
+ x.MapSint64Sint64 = v
+}
+
+func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) {
+ x.MapFixed32Fixed32 = v
+}
+
+func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) {
+ x.MapFixed64Fixed64 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) {
+ x.MapSfixed32Sfixed32 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) {
+ x.MapSfixed64Sfixed64 = v
+}
+
+func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) {
+ x.MapInt32Float = v
+}
+
+func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) {
+ x.MapInt32Double = v
+}
+
+func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) {
+ x.MapBoolBool = v
+}
+
+func (x *TestAllTypes) SetMapStringString(v map[string]string) {
+ x.MapStringString = v
+}
+
+func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) {
+ x.MapStringBytes = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) {
+ x.MapStringNestedMessage = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) {
+ x.MapStringNestedEnum = v
+}
+
+func (x *TestAllTypes) SetOneofUint32(v uint32) {
+ x.OneofField = &TestAllTypes_OneofUint32{v}
+}
+
+func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) {
+ if v == nil {
+ x.OneofField = nil
+ return
+ }
+ x.OneofField = &TestAllTypes_OneofNestedMessage{v}
+}
+
+func (x *TestAllTypes) SetOneofString(v string) {
+ x.OneofField = &TestAllTypes_OneofString{v}
+}
+
+func (x *TestAllTypes) SetOneofBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.OneofField = &TestAllTypes_OneofBytes{v}
+}
+
+func (x *TestAllTypes) SetOneofBool(v bool) {
+ x.OneofField = &TestAllTypes_OneofBool{v}
+}
+
+func (x *TestAllTypes) SetOneofUint64(v uint64) {
+ x.OneofField = &TestAllTypes_OneofUint64{v}
+}
+
+func (x *TestAllTypes) SetOneofFloat(v float32) {
+ x.OneofField = &TestAllTypes_OneofFloat{v}
+}
+
+func (x *TestAllTypes) SetOneofDouble(v float64) {
+ x.OneofField = &TestAllTypes_OneofDouble{v}
+}
+
+func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) {
+ x.OneofField = &TestAllTypes_OneofEnum{v}
+}
+
+func (x *TestAllTypes) HasSingularNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.SingularNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.SingularForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.SingularImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalInt32() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalInt32 != nil
+}
+
+func (x *TestAllTypes) HasOptionalInt64() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalInt64 != nil
+}
+
+func (x *TestAllTypes) HasOptionalUint32() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalUint32 != nil
+}
+
+func (x *TestAllTypes) HasOptionalUint64() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalUint64 != nil
+}
+
+func (x *TestAllTypes) HasOptionalSint32() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalSint32 != nil
+}
+
+func (x *TestAllTypes) HasOptionalSint64() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalSint64 != nil
+}
+
+func (x *TestAllTypes) HasOptionalFixed32() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalFixed32 != nil
+}
+
+func (x *TestAllTypes) HasOptionalFixed64() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalFixed64 != nil
+}
+
+func (x *TestAllTypes) HasOptionalSfixed32() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalSfixed32 != nil
+}
+
+func (x *TestAllTypes) HasOptionalSfixed64() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalSfixed64 != nil
+}
+
+func (x *TestAllTypes) HasOptionalFloat() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalFloat != nil
+}
+
+func (x *TestAllTypes) HasOptionalDouble() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalDouble != nil
+}
+
+func (x *TestAllTypes) HasOptionalBool() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalBool != nil
+}
+
+func (x *TestAllTypes) HasOptionalString() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalString != nil
+}
+
+func (x *TestAllTypes) HasOptionalBytes() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalBytes != nil
+}
+
+func (x *TestAllTypes) HasOptionalNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalNestedEnum() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalNestedEnum != nil
+}
+
+func (x *TestAllTypes) HasOptionalForeignEnum() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalForeignEnum != nil
+}
+
+func (x *TestAllTypes) HasOptionalImportEnum() bool {
+ if x == nil {
+ return false
+ }
+ return x.OptionalImportEnum != nil
+}
+
+func (x *TestAllTypes) HasOneofField() bool {
+ if x == nil {
+ return false
+ }
+ return x.OneofField != nil
+}
+
+func (x *TestAllTypes) HasOneofUint32() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofUint32)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofString() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofString)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBytes() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofBytes)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBool() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofBool)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofUint64() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofUint64)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofFloat() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofFloat)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofDouble() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofDouble)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofEnum() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.OneofField.(*TestAllTypes_OneofEnum)
+ return ok
+}
+
+func (x *TestAllTypes) ClearSingularNestedMessage() {
+ x.SingularNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularForeignMessage() {
+ x.SingularForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularImportMessage() {
+ x.SingularImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalInt32() {
+ x.OptionalInt32 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalInt64() {
+ x.OptionalInt64 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalUint32() {
+ x.OptionalUint32 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalUint64() {
+ x.OptionalUint64 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalSint32() {
+ x.OptionalSint32 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalSint64() {
+ x.OptionalSint64 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalFixed32() {
+ x.OptionalFixed32 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalFixed64() {
+ x.OptionalFixed64 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed32() {
+ x.OptionalSfixed32 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed64() {
+ x.OptionalSfixed64 = nil
+}
+
+func (x *TestAllTypes) ClearOptionalFloat() {
+ x.OptionalFloat = nil
+}
+
+func (x *TestAllTypes) ClearOptionalDouble() {
+ x.OptionalDouble = nil
+}
+
+func (x *TestAllTypes) ClearOptionalBool() {
+ x.OptionalBool = nil
+}
+
+func (x *TestAllTypes) ClearOptionalString() {
+ x.OptionalString = nil
+}
+
+func (x *TestAllTypes) ClearOptionalBytes() {
+ x.OptionalBytes = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedMessage() {
+ x.OptionalNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalForeignMessage() {
+ x.OptionalForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalImportMessage() {
+ x.OptionalImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedEnum() {
+ x.OptionalNestedEnum = nil
+}
+
+func (x *TestAllTypes) ClearOptionalForeignEnum() {
+ x.OptionalForeignEnum = nil
+}
+
+func (x *TestAllTypes) ClearOptionalImportEnum() {
+ x.OptionalImportEnum = nil
+}
+
+func (x *TestAllTypes) ClearOneofField() {
+ x.OneofField = nil
+}
+
+func (x *TestAllTypes) ClearOneofUint32() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofNestedMessage() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofString() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofString); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBytes() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBool() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofBool); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofUint64() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofFloat() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofDouble() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok {
+ x.OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofEnum() {
+ if _, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok {
+ x.OneofField = nil
+ }
+}
+
+const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0
+const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111
+const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112
+const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113
+const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114
+const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115
+const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116
+const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117
+const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118
+const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119
+
+func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField {
+ if x == nil {
+ return TestAllTypes_OneofField_not_set_case
+ }
+ switch x.OneofField.(type) {
+ case *TestAllTypes_OneofUint32:
+ return TestAllTypes_OneofUint32_case
+ case *TestAllTypes_OneofNestedMessage:
+ return TestAllTypes_OneofNestedMessage_case
+ case *TestAllTypes_OneofString:
+ return TestAllTypes_OneofString_case
+ case *TestAllTypes_OneofBytes:
+ return TestAllTypes_OneofBytes_case
+ case *TestAllTypes_OneofBool:
+ return TestAllTypes_OneofBool_case
+ case *TestAllTypes_OneofUint64:
+ return TestAllTypes_OneofUint64_case
+ case *TestAllTypes_OneofFloat:
+ return TestAllTypes_OneofFloat_case
+ case *TestAllTypes_OneofDouble:
+ return TestAllTypes_OneofDouble_case
+ case *TestAllTypes_OneofEnum:
+ return TestAllTypes_OneofEnum_case
+ default:
+ return TestAllTypes_OneofField_not_set_case
+ }
+}
+
+type TestAllTypes_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ SingularInt32 int32
+ SingularInt64 int64
+ SingularUint32 uint32
+ SingularUint64 uint64
+ SingularSint32 int32
+ SingularSint64 int64
+ SingularFixed32 uint32
+ SingularFixed64 uint64
+ SingularSfixed32 int32
+ SingularSfixed64 int64
+ SingularFloat float32
+ SingularDouble float64
+ SingularBool bool
+ SingularString string
+ SingularBytes []byte
+ SingularNestedMessage *TestAllTypes_NestedMessage
+ SingularForeignMessage *ForeignMessage
+ SingularImportMessage *ImportMessage
+ SingularNestedEnum TestAllTypes_NestedEnum
+ SingularForeignEnum ForeignEnum
+ SingularImportEnum ImportEnum
+ OptionalInt32 *int32
+ OptionalInt64 *int64
+ OptionalUint32 *uint32
+ OptionalUint64 *uint64
+ OptionalSint32 *int32
+ OptionalSint64 *int64
+ OptionalFixed32 *uint32
+ OptionalFixed64 *uint64
+ OptionalSfixed32 *int32
+ OptionalSfixed64 *int64
+ OptionalFloat *float32
+ OptionalDouble *float64
+ OptionalBool *bool
+ OptionalString *string
+ OptionalBytes []byte
+ OptionalNestedMessage *TestAllTypes_NestedMessage
+ OptionalForeignMessage *ForeignMessage
+ OptionalImportMessage *ImportMessage
+ OptionalNestedEnum *TestAllTypes_NestedEnum
+ OptionalForeignEnum *ForeignEnum
+ OptionalImportEnum *ImportEnum
+ RepeatedInt32 []int32
+ RepeatedInt64 []int64
+ RepeatedUint32 []uint32
+ RepeatedUint64 []uint64
+ RepeatedSint32 []int32
+ RepeatedSint64 []int64
+ RepeatedFixed32 []uint32
+ RepeatedFixed64 []uint64
+ RepeatedSfixed32 []int32
+ RepeatedSfixed64 []int64
+ RepeatedFloat []float32
+ RepeatedDouble []float64
+ RepeatedBool []bool
+ RepeatedString []string
+ RepeatedBytes [][]byte
+ RepeatedNestedMessage []*TestAllTypes_NestedMessage
+ RepeatedForeignMessage []*ForeignMessage
+ RepeatedImportmessage []*ImportMessage
+ RepeatedNestedEnum []TestAllTypes_NestedEnum
+ RepeatedForeignEnum []ForeignEnum
+ RepeatedImportenum []ImportEnum
+ MapInt32Int32 map[int32]int32
+ MapInt64Int64 map[int64]int64
+ MapUint32Uint32 map[uint32]uint32
+ MapUint64Uint64 map[uint64]uint64
+ MapSint32Sint32 map[int32]int32
+ MapSint64Sint64 map[int64]int64
+ MapFixed32Fixed32 map[uint32]uint32
+ MapFixed64Fixed64 map[uint64]uint64
+ MapSfixed32Sfixed32 map[int32]int32
+ MapSfixed64Sfixed64 map[int64]int64
+ MapInt32Float map[int32]float32
+ MapInt32Double map[int32]float64
+ MapBoolBool map[bool]bool
+ MapStringString map[string]string
+ MapStringBytes map[string][]byte
+ MapStringNestedMessage map[string]*TestAllTypes_NestedMessage
+ MapStringNestedEnum map[string]TestAllTypes_NestedEnum
+ // Fields of oneof OneofField:
+ OneofUint32 *uint32
+ OneofNestedMessage *TestAllTypes_NestedMessage
+ OneofString *string
+ OneofBytes []byte
+ OneofBool *bool
+ OneofUint64 *uint64
+ OneofFloat *float32
+ OneofDouble *float64
+ OneofEnum *TestAllTypes_NestedEnum
+ // -- end of OneofField
+}
+
+func (b0 TestAllTypes_builder) Build() *TestAllTypes {
+ m0 := &TestAllTypes{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.SingularInt32 = b.SingularInt32
+ x.SingularInt64 = b.SingularInt64
+ x.SingularUint32 = b.SingularUint32
+ x.SingularUint64 = b.SingularUint64
+ x.SingularSint32 = b.SingularSint32
+ x.SingularSint64 = b.SingularSint64
+ x.SingularFixed32 = b.SingularFixed32
+ x.SingularFixed64 = b.SingularFixed64
+ x.SingularSfixed32 = b.SingularSfixed32
+ x.SingularSfixed64 = b.SingularSfixed64
+ x.SingularFloat = b.SingularFloat
+ x.SingularDouble = b.SingularDouble
+ x.SingularBool = b.SingularBool
+ x.SingularString = b.SingularString
+ x.SingularBytes = b.SingularBytes
+ x.SingularNestedMessage = b.SingularNestedMessage
+ x.SingularForeignMessage = b.SingularForeignMessage
+ x.SingularImportMessage = b.SingularImportMessage
+ x.SingularNestedEnum = b.SingularNestedEnum
+ x.SingularForeignEnum = b.SingularForeignEnum
+ x.SingularImportEnum = b.SingularImportEnum
+ x.OptionalInt32 = b.OptionalInt32
+ x.OptionalInt64 = b.OptionalInt64
+ x.OptionalUint32 = b.OptionalUint32
+ x.OptionalUint64 = b.OptionalUint64
+ x.OptionalSint32 = b.OptionalSint32
+ x.OptionalSint64 = b.OptionalSint64
+ x.OptionalFixed32 = b.OptionalFixed32
+ x.OptionalFixed64 = b.OptionalFixed64
+ x.OptionalSfixed32 = b.OptionalSfixed32
+ x.OptionalSfixed64 = b.OptionalSfixed64
+ x.OptionalFloat = b.OptionalFloat
+ x.OptionalDouble = b.OptionalDouble
+ x.OptionalBool = b.OptionalBool
+ x.OptionalString = b.OptionalString
+ x.OptionalBytes = b.OptionalBytes
+ x.OptionalNestedMessage = b.OptionalNestedMessage
+ x.OptionalForeignMessage = b.OptionalForeignMessage
+ x.OptionalImportMessage = b.OptionalImportMessage
+ x.OptionalNestedEnum = b.OptionalNestedEnum
+ x.OptionalForeignEnum = b.OptionalForeignEnum
+ x.OptionalImportEnum = b.OptionalImportEnum
+ x.RepeatedInt32 = b.RepeatedInt32
+ x.RepeatedInt64 = b.RepeatedInt64
+ x.RepeatedUint32 = b.RepeatedUint32
+ x.RepeatedUint64 = b.RepeatedUint64
+ x.RepeatedSint32 = b.RepeatedSint32
+ x.RepeatedSint64 = b.RepeatedSint64
+ x.RepeatedFixed32 = b.RepeatedFixed32
+ x.RepeatedFixed64 = b.RepeatedFixed64
+ x.RepeatedSfixed32 = b.RepeatedSfixed32
+ x.RepeatedSfixed64 = b.RepeatedSfixed64
+ x.RepeatedFloat = b.RepeatedFloat
+ x.RepeatedDouble = b.RepeatedDouble
+ x.RepeatedBool = b.RepeatedBool
+ x.RepeatedString = b.RepeatedString
+ x.RepeatedBytes = b.RepeatedBytes
+ x.RepeatedNestedMessage = b.RepeatedNestedMessage
+ x.RepeatedForeignMessage = b.RepeatedForeignMessage
+ x.RepeatedImportmessage = b.RepeatedImportmessage
+ x.RepeatedNestedEnum = b.RepeatedNestedEnum
+ x.RepeatedForeignEnum = b.RepeatedForeignEnum
+ x.RepeatedImportenum = b.RepeatedImportenum
+ x.MapInt32Int32 = b.MapInt32Int32
+ x.MapInt64Int64 = b.MapInt64Int64
+ x.MapUint32Uint32 = b.MapUint32Uint32
+ x.MapUint64Uint64 = b.MapUint64Uint64
+ x.MapSint32Sint32 = b.MapSint32Sint32
+ x.MapSint64Sint64 = b.MapSint64Sint64
+ x.MapFixed32Fixed32 = b.MapFixed32Fixed32
+ x.MapFixed64Fixed64 = b.MapFixed64Fixed64
+ x.MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32
+ x.MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64
+ x.MapInt32Float = b.MapInt32Float
+ x.MapInt32Double = b.MapInt32Double
+ x.MapBoolBool = b.MapBoolBool
+ x.MapStringString = b.MapStringString
+ x.MapStringBytes = b.MapStringBytes
+ x.MapStringNestedMessage = b.MapStringNestedMessage
+ x.MapStringNestedEnum = b.MapStringNestedEnum
+ if b.OneofUint32 != nil {
+ x.OneofField = &TestAllTypes_OneofUint32{*b.OneofUint32}
+ }
+ if b.OneofNestedMessage != nil {
+ x.OneofField = &TestAllTypes_OneofNestedMessage{b.OneofNestedMessage}
+ }
+ if b.OneofString != nil {
+ x.OneofField = &TestAllTypes_OneofString{*b.OneofString}
+ }
+ if b.OneofBytes != nil {
+ x.OneofField = &TestAllTypes_OneofBytes{b.OneofBytes}
+ }
+ if b.OneofBool != nil {
+ x.OneofField = &TestAllTypes_OneofBool{*b.OneofBool}
+ }
+ if b.OneofUint64 != nil {
+ x.OneofField = &TestAllTypes_OneofUint64{*b.OneofUint64}
+ }
+ if b.OneofFloat != nil {
+ x.OneofField = &TestAllTypes_OneofFloat{*b.OneofFloat}
+ }
+ if b.OneofDouble != nil {
+ x.OneofField = &TestAllTypes_OneofDouble{*b.OneofDouble}
+ }
+ if b.OneofEnum != nil {
+ x.OneofField = &TestAllTypes_OneofEnum{*b.OneofEnum}
+ }
+ return m0
+}
+
+type case_TestAllTypes_OneofField protoreflect.FieldNumber
+
+func (x case_TestAllTypes_OneofField) String() string {
+ md := file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].Descriptor()
+ if x == 0 {
+ return "not set"
+ }
+ return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isTestAllTypes_OneofField interface {
+ isTestAllTypes_OneofField()
+}
+
+type TestAllTypes_OneofUint32 struct {
+ OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"`
+}
+
+type TestAllTypes_OneofNestedMessage struct {
+ OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"`
+}
+
+type TestAllTypes_OneofString struct {
+ OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"`
+}
+
+type TestAllTypes_OneofBytes struct {
+ OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"`
+}
+
+type TestAllTypes_OneofBool struct {
+ OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"`
+}
+
+type TestAllTypes_OneofUint64 struct {
+ OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"`
+}
+
+type TestAllTypes_OneofFloat struct {
+ OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"`
+}
+
+type TestAllTypes_OneofDouble struct {
+ OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"`
+}
+
+type TestAllTypes_OneofEnum struct {
+ OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"`
+}
+
+func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofBool) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofUint64) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofFloat) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofDouble) isTestAllTypes_OneofField() {}
+
+func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
+
+type ForeignMessage struct {
+ state protoimpl.MessageState `protogen:"hybrid.v1"`
+ C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
+ D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ForeignMessage) Reset() {
+ *x = ForeignMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ForeignMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForeignMessage) ProtoMessage() {}
+
+func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *ForeignMessage) GetC() int32 {
+ if x != nil {
+ return x.C
+ }
+ return 0
+}
+
+func (x *ForeignMessage) GetD() int32 {
+ if x != nil {
+ return x.D
+ }
+ return 0
+}
+
+func (x *ForeignMessage) SetC(v int32) {
+ x.C = v
+}
+
+func (x *ForeignMessage) SetD(v int32) {
+ x.D = v
+}
+
+type ForeignMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ C int32
+ D int32
+}
+
+func (b0 ForeignMessage_builder) Build() *ForeignMessage {
+ m0 := &ForeignMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.C = b.C
+ x.D = b.D
+ return m0
+}
+
+type TestAllTypes_NestedMessage struct {
+ state protoimpl.MessageState `protogen:"hybrid.v1"`
+ A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
+ Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_NestedMessage) Reset() {
+ *x = TestAllTypes_NestedMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_NestedMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_NestedMessage) ProtoMessage() {}
+
+func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes_NestedMessage) GetA() int32 {
+ if x != nil {
+ return x.A
+ }
+ return 0
+}
+
+func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
+ if x != nil {
+ return x.Corecursive
+ }
+ return nil
+}
+
+func (x *TestAllTypes_NestedMessage) SetA(v int32) {
+ x.A = v
+}
+
+func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) {
+ x.Corecursive = v
+}
+
+func (x *TestAllTypes_NestedMessage) HasCorecursive() bool {
+ if x == nil {
+ return false
+ }
+ return x.Corecursive != nil
+}
+
+func (x *TestAllTypes_NestedMessage) ClearCorecursive() {
+ x.Corecursive = nil
+}
+
+type TestAllTypes_NestedMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ A int32
+ Corecursive *TestAllTypes
+}
+
+func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage {
+ m0 := &TestAllTypes_NestedMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.A = b.A
+ x.Corecursive = b.Corecursive
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = []byte{
+ 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x68, 0x79,
+ 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28,
+ 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57,
+ 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52,
+ 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+ 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a,
+ 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46,
+ 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73,
+ 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14,
+ 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e,
+ 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f,
+ 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01,
+ 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88,
+ 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07,
+ 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06,
+ 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a,
+ 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
+ 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72,
+ 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01,
+ 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79,
+ 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d,
+ 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
+ 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26,
+ 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f,
+ 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
+ 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
+ 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
+ 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03,
+ 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e,
+ 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
+ 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63,
+ 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
+ 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
+ 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69,
+ 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70,
+ 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
+ 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d,
+ 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
+ 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11,
+ 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
+ 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d,
+ 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
+ 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
+ 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d,
+ 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3c, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f,
+ 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x44, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14,
+ 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f,
+ 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01,
+ 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73,
+ 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f,
+ 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65,
+ 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54,
+ 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
+ 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70,
+ 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75,
+ 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b,
+ 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
+ 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f,
+ 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
+ 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
+ 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b,
+ 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f,
+ 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+ 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
+ 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f,
+ 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42,
+ 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f,
+ 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73,
+ 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = []any{
+ (ForeignEnum)(0), // 0: hybrid.goproto.proto.test3.ForeignEnum
+ (TestAllTypes_NestedEnum)(0), // 1: hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ (*TestAllTypes)(nil), // 2: hybrid.goproto.proto.test3.TestAllTypes
+ (*ForeignMessage)(nil), // 3: hybrid.goproto.proto.test3.ForeignMessage
+ (*TestAllTypes_NestedMessage)(nil), // 4: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ nil, // 5: hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ nil, // 6: hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ nil, // 7: hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ nil, // 8: hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ nil, // 9: hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ nil, // 10: hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ nil, // 11: hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ nil, // 12: hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ nil, // 13: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ nil, // 14: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ nil, // 15: hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ nil, // 16: hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ nil, // 17: hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ nil, // 18: hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ nil, // 19: hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ nil, // 20: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ nil, // 21: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ (*ImportMessage)(nil), // 22: hybrid.goproto.proto.test3.ImportMessage
+ (ImportEnum)(0), // 23: hybrid.goproto.proto.test3.ImportEnum
+}
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = []int32{
+ 4, // 0: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 1: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 2: hybrid.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 3: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 4: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 5: hybrid.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 4, // 6: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 7: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 8: hybrid.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 9: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 10: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 11: hybrid.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 4, // 12: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 13: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 14: hybrid.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 15: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 16: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 17: hybrid.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 5, // 18: hybrid.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ 6, // 19: hybrid.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ 7, // 20: hybrid.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ 8, // 21: hybrid.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ 9, // 22: hybrid.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ 10, // 23: hybrid.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ 11, // 24: hybrid.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ 12, // 25: hybrid.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ 13, // 26: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ 14, // 27: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ 15, // 28: hybrid.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ 16, // 29: hybrid.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ 17, // 30: hybrid.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ 18, // 31: hybrid.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ 19, // 32: hybrid.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ 20, // 33: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ 21, // 34: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ 4, // 35: hybrid.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 36: hybrid.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 2, // 37: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.test3.TestAllTypes
+ 4, // 38: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 39: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 40, // [40:40] is the sub-list for method output_type
+ 40, // [40:40] is the sub-list for method input_type
+ 40, // [40:40] is the sub-list for extension type_name
+ 40, // [40:40] is the sub-list for extension extendee
+ 0, // [0:40] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() }
+func file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() {
+ if File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto != nil {
+ return
+ }
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init()
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].OneofWrappers = []any{
+ (*TestAllTypes_OneofUint32)(nil),
+ (*TestAllTypes_OneofNestedMessage)(nil),
+ (*TestAllTypes_OneofString)(nil),
+ (*TestAllTypes_OneofBytes)(nil),
+ (*TestAllTypes_OneofBool)(nil),
+ (*TestAllTypes_OneofUint64)(nil),
+ (*TestAllTypes_OneofFloat)(nil),
+ (*TestAllTypes_OneofDouble)(nil),
+ (*TestAllTypes_OneofEnum)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 20,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto = out.File
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid.proto b/internal/testprotos/test3/test3_hybrid/test.hybrid.proto
new file mode 100644
index 0000000..541bbbe
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test.hybrid.proto
@@ -0,0 +1,134 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+syntax = "proto3";
+
+package hybrid.goproto.proto.test3;
+
+import "internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto";
+
+option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid";
+
+
+message TestAllTypes {
+ message NestedMessage {
+ int32 a = 1;
+ TestAllTypes corecursive = 2;
+ }
+
+ enum NestedEnum {
+ FOO = 0;
+ BAR = 1;
+ BAZ = 2;
+ NEG = -1; // Intentionally negative.
+ }
+
+ int32 singular_int32 = 81;
+ int64 singular_int64 = 82;
+ uint32 singular_uint32 = 83;
+ uint64 singular_uint64 = 84;
+ sint32 singular_sint32 = 85;
+ sint64 singular_sint64 = 86;
+ fixed32 singular_fixed32 = 87;
+ fixed64 singular_fixed64 = 88;
+ sfixed32 singular_sfixed32 = 89;
+ sfixed64 singular_sfixed64 = 90;
+ float singular_float = 91;
+ double singular_double = 92;
+ bool singular_bool = 93;
+ string singular_string = 94;
+ bytes singular_bytes = 95;
+ NestedMessage singular_nested_message = 98;
+ ForeignMessage singular_foreign_message = 99;
+ ImportMessage singular_import_message = 100;
+ NestedEnum singular_nested_enum = 101;
+ ForeignEnum singular_foreign_enum = 102;
+ ImportEnum singular_import_enum = 103;
+
+ optional int32 optional_int32 = 1;
+ optional int64 optional_int64 = 2;
+ optional uint32 optional_uint32 = 3;
+ optional uint64 optional_uint64 = 4;
+ optional sint32 optional_sint32 = 5;
+ optional sint64 optional_sint64 = 6;
+ optional fixed32 optional_fixed32 = 7;
+ optional fixed64 optional_fixed64 = 8;
+ optional sfixed32 optional_sfixed32 = 9;
+ optional sfixed64 optional_sfixed64 = 10;
+ optional float optional_float = 11;
+ optional double optional_double = 12;
+ optional bool optional_bool = 13;
+ optional string optional_string = 14;
+ optional bytes optional_bytes = 15;
+ optional NestedMessage optional_nested_message = 18;
+ optional ForeignMessage optional_foreign_message = 19;
+ optional ImportMessage optional_import_message = 20;
+ optional NestedEnum optional_nested_enum = 21;
+ optional ForeignEnum optional_foreign_enum = 22;
+ optional ImportEnum optional_import_enum = 23;
+
+ repeated int32 repeated_int32 = 31;
+ repeated int64 repeated_int64 = 32;
+ repeated uint32 repeated_uint32 = 33;
+ repeated uint64 repeated_uint64 = 34;
+ repeated sint32 repeated_sint32 = 35;
+ repeated sint64 repeated_sint64 = 36;
+ repeated fixed32 repeated_fixed32 = 37;
+ repeated fixed64 repeated_fixed64 = 38;
+ repeated sfixed32 repeated_sfixed32 = 39;
+ repeated sfixed64 repeated_sfixed64 = 40;
+ repeated float repeated_float = 41;
+ repeated double repeated_double = 42;
+ repeated bool repeated_bool = 43;
+ repeated string repeated_string = 44;
+ repeated bytes repeated_bytes = 45;
+ repeated NestedMessage repeated_nested_message = 48;
+ repeated ForeignMessage repeated_foreign_message = 49;
+ repeated ImportMessage repeated_importmessage = 50;
+ repeated NestedEnum repeated_nested_enum = 51;
+ repeated ForeignEnum repeated_foreign_enum = 52;
+ repeated ImportEnum repeated_importenum = 53;
+
+ map<int32, int32> map_int32_int32 = 56;
+ map<int64, int64> map_int64_int64 = 57;
+ map<uint32, uint32> map_uint32_uint32 = 58;
+ map<uint64, uint64> map_uint64_uint64 = 59;
+ map<sint32, sint32> map_sint32_sint32 = 60;
+ map<sint64, sint64> map_sint64_sint64 = 61;
+ map<fixed32, fixed32> map_fixed32_fixed32 = 62;
+ map<fixed64, fixed64> map_fixed64_fixed64 = 63;
+ map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 64;
+ map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 65;
+ map<int32, float> map_int32_float = 66;
+ map<int32, double> map_int32_double = 67;
+ map<bool, bool> map_bool_bool = 68;
+ map<string, string> map_string_string = 69;
+ map<string, bytes> map_string_bytes = 70;
+ map<string, NestedMessage> map_string_nested_message = 71;
+ map<string, NestedEnum> map_string_nested_enum = 73;
+
+ oneof oneof_field {
+ uint32 oneof_uint32 = 111;
+ NestedMessage oneof_nested_message = 112;
+ string oneof_string = 113;
+ bytes oneof_bytes = 114;
+ bool oneof_bool = 115;
+ uint64 oneof_uint64 = 116;
+ float oneof_float = 117;
+ double oneof_double = 118;
+ NestedEnum oneof_enum = 119;
+ }
+}
+
+message ForeignMessage {
+ int32 c = 1;
+ int32 d = 2;
+}
+
+enum ForeignEnum {
+ FOREIGN_ZERO = 0;
+ FOREIGN_FOO = 4;
+ FOREIGN_BAR = 5;
+ FOREIGN_BAZ = 6;
+}
\ No newline at end of file
diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go b/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..6cdaf42
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go
@@ -0,0 +1,2851 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_hybrid/test.hybrid.proto
+
+//go:build protoopaque
+
+package test3_hybrid
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ForeignEnum int32
+
+const (
+ ForeignEnum_FOREIGN_ZERO ForeignEnum = 0
+ ForeignEnum_FOREIGN_FOO ForeignEnum = 4
+ ForeignEnum_FOREIGN_BAR ForeignEnum = 5
+ ForeignEnum_FOREIGN_BAZ ForeignEnum = 6
+)
+
+// Enum value maps for ForeignEnum.
+var (
+ ForeignEnum_name = map[int32]string{
+ 0: "FOREIGN_ZERO",
+ 4: "FOREIGN_FOO",
+ 5: "FOREIGN_BAR",
+ 6: "FOREIGN_BAZ",
+ }
+ ForeignEnum_value = map[string]int32{
+ "FOREIGN_ZERO": 0,
+ "FOREIGN_FOO": 4,
+ "FOREIGN_BAR": 5,
+ "FOREIGN_BAZ": 6,
+ }
+)
+
+func (x ForeignEnum) Enum() *ForeignEnum {
+ p := new(ForeignEnum)
+ *p = x
+ return p
+}
+
+func (x ForeignEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ForeignEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0]
+}
+
+func (x ForeignEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes_NestedEnum int32
+
+const (
+ TestAllTypes_FOO TestAllTypes_NestedEnum = 0
+ TestAllTypes_BAR TestAllTypes_NestedEnum = 1
+ TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
+ TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative.
+)
+
+// Enum value maps for TestAllTypes_NestedEnum.
+var (
+ TestAllTypes_NestedEnum_name = map[int32]string{
+ 0: "FOO",
+ 1: "BAR",
+ 2: "BAZ",
+ -1: "NEG",
+ }
+ TestAllTypes_NestedEnum_value = map[string]int32{
+ "FOO": 0,
+ "BAR": 1,
+ "BAZ": 2,
+ "NEG": -1,
+ }
+)
+
+func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
+ p := new(TestAllTypes_NestedEnum)
+ *p = x
+ return p
+}
+
+func (x TestAllTypes_NestedEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1].Descriptor()
+}
+
+func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1]
+}
+
+func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"`
+ xxx_hidden_SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"`
+ xxx_hidden_SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"`
+ xxx_hidden_SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"`
+ xxx_hidden_SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"`
+ xxx_hidden_SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"`
+ xxx_hidden_SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"`
+ xxx_hidden_SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"`
+ xxx_hidden_SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"`
+ xxx_hidden_SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"`
+ xxx_hidden_SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"`
+ xxx_hidden_SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"`
+ xxx_hidden_SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"`
+ xxx_hidden_SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"`
+ xxx_hidden_SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"`
+ xxx_hidden_SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"`
+ xxx_hidden_SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"`
+ xxx_hidden_SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"`
+ xxx_hidden_SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
+ xxx_hidden_SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"`
+ xxx_hidden_SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"`
+ xxx_hidden_OptionalInt32 int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"`
+ xxx_hidden_OptionalInt64 int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"`
+ xxx_hidden_OptionalUint32 uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"`
+ xxx_hidden_OptionalUint64 uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"`
+ xxx_hidden_OptionalSint32 int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"`
+ xxx_hidden_OptionalSint64 int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"`
+ xxx_hidden_OptionalFixed32 uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"`
+ xxx_hidden_OptionalFixed64 uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"`
+ xxx_hidden_OptionalSfixed32 int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"`
+ xxx_hidden_OptionalSfixed64 int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"`
+ xxx_hidden_OptionalFloat float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"`
+ xxx_hidden_OptionalDouble float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"`
+ xxx_hidden_OptionalBool bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"`
+ xxx_hidden_OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"`
+ xxx_hidden_OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"`
+ xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"`
+ xxx_hidden_OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"`
+ xxx_hidden_OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"`
+ xxx_hidden_OptionalNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"`
+ xxx_hidden_OptionalForeignEnum ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"`
+ xxx_hidden_OptionalImportEnum ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"`
+ xxx_hidden_RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"`
+ xxx_hidden_RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"`
+ xxx_hidden_RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"`
+ xxx_hidden_RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"`
+ xxx_hidden_RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"`
+ xxx_hidden_RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"`
+ xxx_hidden_RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"`
+ xxx_hidden_RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"`
+ xxx_hidden_RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"`
+ xxx_hidden_RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"`
+ xxx_hidden_RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"`
+ xxx_hidden_RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"`
+ xxx_hidden_RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"`
+ xxx_hidden_RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"`
+ xxx_hidden_RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"`
+ xxx_hidden_RepeatedNestedMessage *[]*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"`
+ xxx_hidden_RepeatedForeignMessage *[]*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"`
+ xxx_hidden_RepeatedImportmessage *[]*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"`
+ xxx_hidden_RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
+ xxx_hidden_RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
+ xxx_hidden_RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"`
+ xxx_hidden_MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32,proto3" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
+ xxx_hidden_MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64,proto3" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
+ xxx_hidden_MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32,proto3" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64,proto3" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32,proto3" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64,proto3" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage,proto3" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum,proto3" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum"`
+ xxx_hidden_OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"`
+ XXX_raceDetectHookData protoimpl.RaceDetectHookData
+ XXX_presence [3]uint32
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes) Reset() {
+ *x = TestAllTypes{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes) ProtoMessage() {}
+
+func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes) GetSingularInt32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularInt64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_SingularUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_SingularUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_SingularFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_SingularFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFloat() float32 {
+ if x != nil {
+ return x.xxx_hidden_SingularFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularDouble() float64 {
+ if x != nil {
+ return x.xxx_hidden_SingularDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularBool() bool {
+ if x != nil {
+ return x.xxx_hidden_SingularBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetSingularString() string {
+ if x != nil {
+ return x.xxx_hidden_SingularString
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetSingularBytes() []byte {
+ if x != nil {
+ return x.xxx_hidden_SingularBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularNestedEnum
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularForeignEnum
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetSingularImportEnum() ImportEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularImportEnum
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalInt32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalInt64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFloat() float32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalDouble() float64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalBool() bool {
+ if x != nil {
+ return x.xxx_hidden_OptionalBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOptionalString() string {
+ if x != nil {
+ if x.xxx_hidden_OptionalString != nil {
+ return *x.xxx_hidden_OptionalString
+ }
+ return ""
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOptionalBytes() []byte {
+ if x != nil {
+ return x.xxx_hidden_OptionalBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 39) {
+ return x.xxx_hidden_OptionalNestedEnum
+ }
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 40) {
+ return x.xxx_hidden_OptionalForeignEnum
+ }
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 41) {
+ return x.xxx_hidden_OptionalImportEnum
+ }
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetRepeatedInt32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedInt32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedInt64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedInt64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedUint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedUint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFloat() []float32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFloat
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedDouble() []float64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedDouble
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBool() []bool {
+ if x != nil {
+ return x.xxx_hidden_RepeatedBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedString() []string {
+ if x != nil {
+ return x.xxx_hidden_RepeatedString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
+ if x != nil {
+ return x.xxx_hidden_RepeatedBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedNestedMessage != nil {
+ return *x.xxx_hidden_RepeatedNestedMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedForeignMessage != nil {
+ return *x.xxx_hidden_RepeatedForeignMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedImportmessage != nil {
+ return *x.xxx_hidden_RepeatedImportmessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedForeignEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedImportenum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Int32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapInt64Int64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
+ if x != nil {
+ return x.xxx_hidden_MapUint32Uint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
+ if x != nil {
+ return x.xxx_hidden_MapUint64Uint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapSint32Sint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapSint64Sint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
+ if x != nil {
+ return x.xxx_hidden_MapFixed32Fixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
+ if x != nil {
+ return x.xxx_hidden_MapFixed64Fixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapSfixed32Sfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapSfixed64Sfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Float
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Double
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
+ if x != nil {
+ return x.xxx_hidden_MapBoolBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringString() map[string]string {
+ if x != nil {
+ return x.xxx_hidden_MapStringString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
+ if x != nil {
+ return x.xxx_hidden_MapStringBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_MapStringNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_MapStringNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofUint32() uint32 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
+ return x.OneofUint32
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
+ return x.OneofNestedMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofString() string {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
+ return x.OneofString
+ }
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOneofBytes() []byte {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
+ return x.OneofBytes
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofBool() bool {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
+ return x.OneofBool
+ }
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOneofUint64() uint64 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
+ return x.OneofUint64
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofFloat() float32 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
+ return x.OneofFloat
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofDouble() float64 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
+ return x.OneofDouble
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
+ return x.OneofEnum
+ }
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) SetSingularInt32(v int32) {
+ x.xxx_hidden_SingularInt32 = v
+}
+
+func (x *TestAllTypes) SetSingularInt64(v int64) {
+ x.xxx_hidden_SingularInt64 = v
+}
+
+func (x *TestAllTypes) SetSingularUint32(v uint32) {
+ x.xxx_hidden_SingularUint32 = v
+}
+
+func (x *TestAllTypes) SetSingularUint64(v uint64) {
+ x.xxx_hidden_SingularUint64 = v
+}
+
+func (x *TestAllTypes) SetSingularSint32(v int32) {
+ x.xxx_hidden_SingularSint32 = v
+}
+
+func (x *TestAllTypes) SetSingularSint64(v int64) {
+ x.xxx_hidden_SingularSint64 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed32(v uint32) {
+ x.xxx_hidden_SingularFixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed64(v uint64) {
+ x.xxx_hidden_SingularFixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed32(v int32) {
+ x.xxx_hidden_SingularSfixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed64(v int64) {
+ x.xxx_hidden_SingularSfixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularFloat(v float32) {
+ x.xxx_hidden_SingularFloat = v
+}
+
+func (x *TestAllTypes) SetSingularDouble(v float64) {
+ x.xxx_hidden_SingularDouble = v
+}
+
+func (x *TestAllTypes) SetSingularBool(v bool) {
+ x.xxx_hidden_SingularBool = v
+}
+
+func (x *TestAllTypes) SetSingularString(v string) {
+ x.xxx_hidden_SingularString = v
+}
+
+func (x *TestAllTypes) SetSingularBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_SingularBytes = v
+}
+
+func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.xxx_hidden_SingularNestedMessage = v
+}
+
+func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) {
+ x.xxx_hidden_SingularForeignMessage = v
+}
+
+func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) {
+ x.xxx_hidden_SingularImportMessage = v
+}
+
+func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_SingularNestedEnum = v
+}
+
+func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) {
+ x.xxx_hidden_SingularForeignEnum = v
+}
+
+func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) {
+ x.xxx_hidden_SingularImportEnum = v
+}
+
+func (x *TestAllTypes) SetOptionalInt32(v int32) {
+ x.xxx_hidden_OptionalInt32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 81)
+}
+
+func (x *TestAllTypes) SetOptionalInt64(v int64) {
+ x.xxx_hidden_OptionalInt64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 81)
+}
+
+func (x *TestAllTypes) SetOptionalUint32(v uint32) {
+ x.xxx_hidden_OptionalUint32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 81)
+}
+
+func (x *TestAllTypes) SetOptionalUint64(v uint64) {
+ x.xxx_hidden_OptionalUint64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSint32(v int32) {
+ x.xxx_hidden_OptionalSint32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSint64(v int64) {
+ x.xxx_hidden_OptionalSint64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFixed32(v uint32) {
+ x.xxx_hidden_OptionalFixed32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFixed64(v uint64) {
+ x.xxx_hidden_OptionalFixed64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed32(v int32) {
+ x.xxx_hidden_OptionalSfixed32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed64(v int64) {
+ x.xxx_hidden_OptionalSfixed64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFloat(v float32) {
+ x.xxx_hidden_OptionalFloat = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 81)
+}
+
+func (x *TestAllTypes) SetOptionalDouble(v float64) {
+ x.xxx_hidden_OptionalDouble = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 81)
+}
+
+func (x *TestAllTypes) SetOptionalBool(v bool) {
+ x.xxx_hidden_OptionalBool = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 33, 81)
+}
+
+func (x *TestAllTypes) SetOptionalString(v string) {
+ x.xxx_hidden_OptionalString = &v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 34, 81)
+}
+
+func (x *TestAllTypes) SetOptionalBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_OptionalBytes = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 35, 81)
+}
+
+func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) {
+ x.xxx_hidden_OptionalForeignMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) {
+ x.xxx_hidden_OptionalImportMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_OptionalNestedEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 81)
+}
+
+func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) {
+ x.xxx_hidden_OptionalForeignEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 81)
+}
+
+func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) {
+ x.xxx_hidden_OptionalImportEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 81)
+}
+
+func (x *TestAllTypes) SetRepeatedInt32(v []int32) {
+ x.xxx_hidden_RepeatedInt32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedInt64(v []int64) {
+ x.xxx_hidden_RepeatedInt64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint32(v []uint32) {
+ x.xxx_hidden_RepeatedUint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint64(v []uint64) {
+ x.xxx_hidden_RepeatedUint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint32(v []int32) {
+ x.xxx_hidden_RepeatedSint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint64(v []int64) {
+ x.xxx_hidden_RepeatedSint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) {
+ x.xxx_hidden_RepeatedFixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) {
+ x.xxx_hidden_RepeatedFixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) {
+ x.xxx_hidden_RepeatedSfixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) {
+ x.xxx_hidden_RepeatedSfixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFloat(v []float32) {
+ x.xxx_hidden_RepeatedFloat = v
+}
+
+func (x *TestAllTypes) SetRepeatedDouble(v []float64) {
+ x.xxx_hidden_RepeatedDouble = v
+}
+
+func (x *TestAllTypes) SetRepeatedBool(v []bool) {
+ x.xxx_hidden_RepeatedBool = v
+}
+
+func (x *TestAllTypes) SetRepeatedString(v []string) {
+ x.xxx_hidden_RepeatedString = v
+}
+
+func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) {
+ x.xxx_hidden_RepeatedBytes = v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) {
+ x.xxx_hidden_RepeatedNestedMessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) {
+ x.xxx_hidden_RepeatedForeignMessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) {
+ x.xxx_hidden_RepeatedImportmessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) {
+ x.xxx_hidden_RepeatedNestedEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) {
+ x.xxx_hidden_RepeatedForeignEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) {
+ x.xxx_hidden_RepeatedImportenum = v
+}
+
+func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) {
+ x.xxx_hidden_MapInt32Int32 = v
+}
+
+func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) {
+ x.xxx_hidden_MapInt64Int64 = v
+}
+
+func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) {
+ x.xxx_hidden_MapUint32Uint32 = v
+}
+
+func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) {
+ x.xxx_hidden_MapUint64Uint64 = v
+}
+
+func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) {
+ x.xxx_hidden_MapSint32Sint32 = v
+}
+
+func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) {
+ x.xxx_hidden_MapSint64Sint64 = v
+}
+
+func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) {
+ x.xxx_hidden_MapFixed32Fixed32 = v
+}
+
+func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) {
+ x.xxx_hidden_MapFixed64Fixed64 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) {
+ x.xxx_hidden_MapSfixed32Sfixed32 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) {
+ x.xxx_hidden_MapSfixed64Sfixed64 = v
+}
+
+func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) {
+ x.xxx_hidden_MapInt32Float = v
+}
+
+func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) {
+ x.xxx_hidden_MapInt32Double = v
+}
+
+func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) {
+ x.xxx_hidden_MapBoolBool = v
+}
+
+func (x *TestAllTypes) SetMapStringString(v map[string]string) {
+ x.xxx_hidden_MapStringString = v
+}
+
+func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) {
+ x.xxx_hidden_MapStringBytes = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) {
+ x.xxx_hidden_MapStringNestedMessage = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) {
+ x.xxx_hidden_MapStringNestedEnum = v
+}
+
+func (x *TestAllTypes) SetOneofUint32(v uint32) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{v}
+}
+
+func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) {
+ if v == nil {
+ x.xxx_hidden_OneofField = nil
+ return
+ }
+ x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{v}
+}
+
+func (x *TestAllTypes) SetOneofString(v string) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofString{v}
+}
+
+func (x *TestAllTypes) SetOneofBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{v}
+}
+
+func (x *TestAllTypes) SetOneofBool(v bool) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBool{v}
+}
+
+func (x *TestAllTypes) SetOneofUint64(v uint64) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{v}
+}
+
+func (x *TestAllTypes) SetOneofFloat(v float32) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{v}
+}
+
+func (x *TestAllTypes) SetOneofDouble(v float64) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{v}
+}
+
+func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{v}
+}
+
+func (x *TestAllTypes) HasSingularNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalInt32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 21)
+}
+
+func (x *TestAllTypes) HasOptionalInt64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 22)
+}
+
+func (x *TestAllTypes) HasOptionalUint32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 23)
+}
+
+func (x *TestAllTypes) HasOptionalUint64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 24)
+}
+
+func (x *TestAllTypes) HasOptionalSint32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 25)
+}
+
+func (x *TestAllTypes) HasOptionalSint64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 26)
+}
+
+func (x *TestAllTypes) HasOptionalFixed32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 27)
+}
+
+func (x *TestAllTypes) HasOptionalFixed64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 28)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 29)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 30)
+}
+
+func (x *TestAllTypes) HasOptionalFloat() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 31)
+}
+
+func (x *TestAllTypes) HasOptionalDouble() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 32)
+}
+
+func (x *TestAllTypes) HasOptionalBool() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 33)
+}
+
+func (x *TestAllTypes) HasOptionalString() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 34)
+}
+
+func (x *TestAllTypes) HasOptionalBytes() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 35)
+}
+
+func (x *TestAllTypes) HasOptionalNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalNestedEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 39)
+}
+
+func (x *TestAllTypes) HasOptionalForeignEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 40)
+}
+
+func (x *TestAllTypes) HasOptionalImportEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 41)
+}
+
+func (x *TestAllTypes) HasOneofField() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OneofField != nil
+}
+
+func (x *TestAllTypes) HasOneofUint32() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofString() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBytes() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBool() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofUint64() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofFloat() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofDouble() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofEnum() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum)
+ return ok
+}
+
+func (x *TestAllTypes) ClearSingularNestedMessage() {
+ x.xxx_hidden_SingularNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularForeignMessage() {
+ x.xxx_hidden_SingularForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularImportMessage() {
+ x.xxx_hidden_SingularImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalInt32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21)
+ x.xxx_hidden_OptionalInt32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalInt64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22)
+ x.xxx_hidden_OptionalInt64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23)
+ x.xxx_hidden_OptionalUint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24)
+ x.xxx_hidden_OptionalUint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25)
+ x.xxx_hidden_OptionalSint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26)
+ x.xxx_hidden_OptionalSint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27)
+ x.xxx_hidden_OptionalFixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28)
+ x.xxx_hidden_OptionalFixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29)
+ x.xxx_hidden_OptionalSfixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30)
+ x.xxx_hidden_OptionalSfixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFloat() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31)
+ x.xxx_hidden_OptionalFloat = 0
+}
+
+func (x *TestAllTypes) ClearOptionalDouble() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32)
+ x.xxx_hidden_OptionalDouble = 0
+}
+
+func (x *TestAllTypes) ClearOptionalBool() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 33)
+ x.xxx_hidden_OptionalBool = false
+}
+
+func (x *TestAllTypes) ClearOptionalString() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 34)
+ x.xxx_hidden_OptionalString = nil
+}
+
+func (x *TestAllTypes) ClearOptionalBytes() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 35)
+ x.xxx_hidden_OptionalBytes = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedMessage() {
+ x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalForeignMessage() {
+ x.xxx_hidden_OptionalForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalImportMessage() {
+ x.xxx_hidden_OptionalImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39)
+ x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) ClearOptionalForeignEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40)
+ x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) ClearOptionalImportEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
+ x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) ClearOneofField() {
+ x.xxx_hidden_OneofField = nil
+}
+
+func (x *TestAllTypes) ClearOneofUint32() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofNestedMessage() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofString() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBytes() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBool() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofUint64() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofFloat() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofDouble() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofEnum() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0
+const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111
+const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112
+const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113
+const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114
+const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115
+const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116
+const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117
+const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118
+const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119
+
+func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField {
+ if x == nil {
+ return TestAllTypes_OneofField_not_set_case
+ }
+ switch x.xxx_hidden_OneofField.(type) {
+ case *testAllTypes_OneofUint32:
+ return TestAllTypes_OneofUint32_case
+ case *testAllTypes_OneofNestedMessage:
+ return TestAllTypes_OneofNestedMessage_case
+ case *testAllTypes_OneofString:
+ return TestAllTypes_OneofString_case
+ case *testAllTypes_OneofBytes:
+ return TestAllTypes_OneofBytes_case
+ case *testAllTypes_OneofBool:
+ return TestAllTypes_OneofBool_case
+ case *testAllTypes_OneofUint64:
+ return TestAllTypes_OneofUint64_case
+ case *testAllTypes_OneofFloat:
+ return TestAllTypes_OneofFloat_case
+ case *testAllTypes_OneofDouble:
+ return TestAllTypes_OneofDouble_case
+ case *testAllTypes_OneofEnum:
+ return TestAllTypes_OneofEnum_case
+ default:
+ return TestAllTypes_OneofField_not_set_case
+ }
+}
+
+type TestAllTypes_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ SingularInt32 int32
+ SingularInt64 int64
+ SingularUint32 uint32
+ SingularUint64 uint64
+ SingularSint32 int32
+ SingularSint64 int64
+ SingularFixed32 uint32
+ SingularFixed64 uint64
+ SingularSfixed32 int32
+ SingularSfixed64 int64
+ SingularFloat float32
+ SingularDouble float64
+ SingularBool bool
+ SingularString string
+ SingularBytes []byte
+ SingularNestedMessage *TestAllTypes_NestedMessage
+ SingularForeignMessage *ForeignMessage
+ SingularImportMessage *ImportMessage
+ SingularNestedEnum TestAllTypes_NestedEnum
+ SingularForeignEnum ForeignEnum
+ SingularImportEnum ImportEnum
+ OptionalInt32 *int32
+ OptionalInt64 *int64
+ OptionalUint32 *uint32
+ OptionalUint64 *uint64
+ OptionalSint32 *int32
+ OptionalSint64 *int64
+ OptionalFixed32 *uint32
+ OptionalFixed64 *uint64
+ OptionalSfixed32 *int32
+ OptionalSfixed64 *int64
+ OptionalFloat *float32
+ OptionalDouble *float64
+ OptionalBool *bool
+ OptionalString *string
+ OptionalBytes []byte
+ OptionalNestedMessage *TestAllTypes_NestedMessage
+ OptionalForeignMessage *ForeignMessage
+ OptionalImportMessage *ImportMessage
+ OptionalNestedEnum *TestAllTypes_NestedEnum
+ OptionalForeignEnum *ForeignEnum
+ OptionalImportEnum *ImportEnum
+ RepeatedInt32 []int32
+ RepeatedInt64 []int64
+ RepeatedUint32 []uint32
+ RepeatedUint64 []uint64
+ RepeatedSint32 []int32
+ RepeatedSint64 []int64
+ RepeatedFixed32 []uint32
+ RepeatedFixed64 []uint64
+ RepeatedSfixed32 []int32
+ RepeatedSfixed64 []int64
+ RepeatedFloat []float32
+ RepeatedDouble []float64
+ RepeatedBool []bool
+ RepeatedString []string
+ RepeatedBytes [][]byte
+ RepeatedNestedMessage []*TestAllTypes_NestedMessage
+ RepeatedForeignMessage []*ForeignMessage
+ RepeatedImportmessage []*ImportMessage
+ RepeatedNestedEnum []TestAllTypes_NestedEnum
+ RepeatedForeignEnum []ForeignEnum
+ RepeatedImportenum []ImportEnum
+ MapInt32Int32 map[int32]int32
+ MapInt64Int64 map[int64]int64
+ MapUint32Uint32 map[uint32]uint32
+ MapUint64Uint64 map[uint64]uint64
+ MapSint32Sint32 map[int32]int32
+ MapSint64Sint64 map[int64]int64
+ MapFixed32Fixed32 map[uint32]uint32
+ MapFixed64Fixed64 map[uint64]uint64
+ MapSfixed32Sfixed32 map[int32]int32
+ MapSfixed64Sfixed64 map[int64]int64
+ MapInt32Float map[int32]float32
+ MapInt32Double map[int32]float64
+ MapBoolBool map[bool]bool
+ MapStringString map[string]string
+ MapStringBytes map[string][]byte
+ MapStringNestedMessage map[string]*TestAllTypes_NestedMessage
+ MapStringNestedEnum map[string]TestAllTypes_NestedEnum
+ // Fields of oneof xxx_hidden_OneofField:
+ OneofUint32 *uint32
+ OneofNestedMessage *TestAllTypes_NestedMessage
+ OneofString *string
+ OneofBytes []byte
+ OneofBool *bool
+ OneofUint64 *uint64
+ OneofFloat *float32
+ OneofDouble *float64
+ OneofEnum *TestAllTypes_NestedEnum
+ // -- end of xxx_hidden_OneofField
+}
+
+func (b0 TestAllTypes_builder) Build() *TestAllTypes {
+ m0 := &TestAllTypes{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_SingularInt32 = b.SingularInt32
+ x.xxx_hidden_SingularInt64 = b.SingularInt64
+ x.xxx_hidden_SingularUint32 = b.SingularUint32
+ x.xxx_hidden_SingularUint64 = b.SingularUint64
+ x.xxx_hidden_SingularSint32 = b.SingularSint32
+ x.xxx_hidden_SingularSint64 = b.SingularSint64
+ x.xxx_hidden_SingularFixed32 = b.SingularFixed32
+ x.xxx_hidden_SingularFixed64 = b.SingularFixed64
+ x.xxx_hidden_SingularSfixed32 = b.SingularSfixed32
+ x.xxx_hidden_SingularSfixed64 = b.SingularSfixed64
+ x.xxx_hidden_SingularFloat = b.SingularFloat
+ x.xxx_hidden_SingularDouble = b.SingularDouble
+ x.xxx_hidden_SingularBool = b.SingularBool
+ x.xxx_hidden_SingularString = b.SingularString
+ x.xxx_hidden_SingularBytes = b.SingularBytes
+ x.xxx_hidden_SingularNestedMessage = b.SingularNestedMessage
+ x.xxx_hidden_SingularForeignMessage = b.SingularForeignMessage
+ x.xxx_hidden_SingularImportMessage = b.SingularImportMessage
+ x.xxx_hidden_SingularNestedEnum = b.SingularNestedEnum
+ x.xxx_hidden_SingularForeignEnum = b.SingularForeignEnum
+ x.xxx_hidden_SingularImportEnum = b.SingularImportEnum
+ if b.OptionalInt32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 81)
+ x.xxx_hidden_OptionalInt32 = *b.OptionalInt32
+ }
+ if b.OptionalInt64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 81)
+ x.xxx_hidden_OptionalInt64 = *b.OptionalInt64
+ }
+ if b.OptionalUint32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 81)
+ x.xxx_hidden_OptionalUint32 = *b.OptionalUint32
+ }
+ if b.OptionalUint64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 81)
+ x.xxx_hidden_OptionalUint64 = *b.OptionalUint64
+ }
+ if b.OptionalSint32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 81)
+ x.xxx_hidden_OptionalSint32 = *b.OptionalSint32
+ }
+ if b.OptionalSint64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 81)
+ x.xxx_hidden_OptionalSint64 = *b.OptionalSint64
+ }
+ if b.OptionalFixed32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 81)
+ x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32
+ }
+ if b.OptionalFixed64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 81)
+ x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64
+ }
+ if b.OptionalSfixed32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 81)
+ x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32
+ }
+ if b.OptionalSfixed64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 81)
+ x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64
+ }
+ if b.OptionalFloat != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 81)
+ x.xxx_hidden_OptionalFloat = *b.OptionalFloat
+ }
+ if b.OptionalDouble != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 81)
+ x.xxx_hidden_OptionalDouble = *b.OptionalDouble
+ }
+ if b.OptionalBool != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 33, 81)
+ x.xxx_hidden_OptionalBool = *b.OptionalBool
+ }
+ if b.OptionalString != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 34, 81)
+ x.xxx_hidden_OptionalString = b.OptionalString
+ }
+ if b.OptionalBytes != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 35, 81)
+ x.xxx_hidden_OptionalBytes = b.OptionalBytes
+ }
+ x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+ x.xxx_hidden_OptionalForeignMessage = b.OptionalForeignMessage
+ x.xxx_hidden_OptionalImportMessage = b.OptionalImportMessage
+ if b.OptionalNestedEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 81)
+ x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum
+ }
+ if b.OptionalForeignEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 81)
+ x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum
+ }
+ if b.OptionalImportEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 81)
+ x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum
+ }
+ x.xxx_hidden_RepeatedInt32 = b.RepeatedInt32
+ x.xxx_hidden_RepeatedInt64 = b.RepeatedInt64
+ x.xxx_hidden_RepeatedUint32 = b.RepeatedUint32
+ x.xxx_hidden_RepeatedUint64 = b.RepeatedUint64
+ x.xxx_hidden_RepeatedSint32 = b.RepeatedSint32
+ x.xxx_hidden_RepeatedSint64 = b.RepeatedSint64
+ x.xxx_hidden_RepeatedFixed32 = b.RepeatedFixed32
+ x.xxx_hidden_RepeatedFixed64 = b.RepeatedFixed64
+ x.xxx_hidden_RepeatedSfixed32 = b.RepeatedSfixed32
+ x.xxx_hidden_RepeatedSfixed64 = b.RepeatedSfixed64
+ x.xxx_hidden_RepeatedFloat = b.RepeatedFloat
+ x.xxx_hidden_RepeatedDouble = b.RepeatedDouble
+ x.xxx_hidden_RepeatedBool = b.RepeatedBool
+ x.xxx_hidden_RepeatedString = b.RepeatedString
+ x.xxx_hidden_RepeatedBytes = b.RepeatedBytes
+ x.xxx_hidden_RepeatedNestedMessage = &b.RepeatedNestedMessage
+ x.xxx_hidden_RepeatedForeignMessage = &b.RepeatedForeignMessage
+ x.xxx_hidden_RepeatedImportmessage = &b.RepeatedImportmessage
+ x.xxx_hidden_RepeatedNestedEnum = b.RepeatedNestedEnum
+ x.xxx_hidden_RepeatedForeignEnum = b.RepeatedForeignEnum
+ x.xxx_hidden_RepeatedImportenum = b.RepeatedImportenum
+ x.xxx_hidden_MapInt32Int32 = b.MapInt32Int32
+ x.xxx_hidden_MapInt64Int64 = b.MapInt64Int64
+ x.xxx_hidden_MapUint32Uint32 = b.MapUint32Uint32
+ x.xxx_hidden_MapUint64Uint64 = b.MapUint64Uint64
+ x.xxx_hidden_MapSint32Sint32 = b.MapSint32Sint32
+ x.xxx_hidden_MapSint64Sint64 = b.MapSint64Sint64
+ x.xxx_hidden_MapFixed32Fixed32 = b.MapFixed32Fixed32
+ x.xxx_hidden_MapFixed64Fixed64 = b.MapFixed64Fixed64
+ x.xxx_hidden_MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32
+ x.xxx_hidden_MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64
+ x.xxx_hidden_MapInt32Float = b.MapInt32Float
+ x.xxx_hidden_MapInt32Double = b.MapInt32Double
+ x.xxx_hidden_MapBoolBool = b.MapBoolBool
+ x.xxx_hidden_MapStringString = b.MapStringString
+ x.xxx_hidden_MapStringBytes = b.MapStringBytes
+ x.xxx_hidden_MapStringNestedMessage = b.MapStringNestedMessage
+ x.xxx_hidden_MapStringNestedEnum = b.MapStringNestedEnum
+ if b.OneofUint32 != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{*b.OneofUint32}
+ }
+ if b.OneofNestedMessage != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{b.OneofNestedMessage}
+ }
+ if b.OneofString != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofString{*b.OneofString}
+ }
+ if b.OneofBytes != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{b.OneofBytes}
+ }
+ if b.OneofBool != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBool{*b.OneofBool}
+ }
+ if b.OneofUint64 != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{*b.OneofUint64}
+ }
+ if b.OneofFloat != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{*b.OneofFloat}
+ }
+ if b.OneofDouble != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{*b.OneofDouble}
+ }
+ if b.OneofEnum != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{*b.OneofEnum}
+ }
+ return m0
+}
+
+type case_TestAllTypes_OneofField protoreflect.FieldNumber
+
+func (x case_TestAllTypes_OneofField) String() string {
+ md := file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].Descriptor()
+ if x == 0 {
+ return "not set"
+ }
+ return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isTestAllTypes_OneofField interface {
+ isTestAllTypes_OneofField()
+}
+
+type testAllTypes_OneofUint32 struct {
+ OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"`
+}
+
+type testAllTypes_OneofNestedMessage struct {
+ OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"`
+}
+
+type testAllTypes_OneofString struct {
+ OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"`
+}
+
+type testAllTypes_OneofBytes struct {
+ OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"`
+}
+
+type testAllTypes_OneofBool struct {
+ OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"`
+}
+
+type testAllTypes_OneofUint64 struct {
+ OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"`
+}
+
+type testAllTypes_OneofFloat struct {
+ OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"`
+}
+
+type testAllTypes_OneofDouble struct {
+ OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"`
+}
+
+type testAllTypes_OneofEnum struct {
+ OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"`
+}
+
+func (*testAllTypes_OneofUint32) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofString) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofBytes) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofBool) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofUint64) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofFloat) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofDouble) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
+
+type ForeignMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
+ xxx_hidden_D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ForeignMessage) Reset() {
+ *x = ForeignMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ForeignMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForeignMessage) ProtoMessage() {}
+
+func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *ForeignMessage) GetC() int32 {
+ if x != nil {
+ return x.xxx_hidden_C
+ }
+ return 0
+}
+
+func (x *ForeignMessage) GetD() int32 {
+ if x != nil {
+ return x.xxx_hidden_D
+ }
+ return 0
+}
+
+func (x *ForeignMessage) SetC(v int32) {
+ x.xxx_hidden_C = v
+}
+
+func (x *ForeignMessage) SetD(v int32) {
+ x.xxx_hidden_D = v
+}
+
+type ForeignMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ C int32
+ D int32
+}
+
+func (b0 ForeignMessage_builder) Build() *ForeignMessage {
+ m0 := &ForeignMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_C = b.C
+ x.xxx_hidden_D = b.D
+ return m0
+}
+
+type TestAllTypes_NestedMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
+ xxx_hidden_Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_NestedMessage) Reset() {
+ *x = TestAllTypes_NestedMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_NestedMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_NestedMessage) ProtoMessage() {}
+
+func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes_NestedMessage) GetA() int32 {
+ if x != nil {
+ return x.xxx_hidden_A
+ }
+ return 0
+}
+
+func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
+ if x != nil {
+ return x.xxx_hidden_Corecursive
+ }
+ return nil
+}
+
+func (x *TestAllTypes_NestedMessage) SetA(v int32) {
+ x.xxx_hidden_A = v
+}
+
+func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) {
+ x.xxx_hidden_Corecursive = v
+}
+
+func (x *TestAllTypes_NestedMessage) HasCorecursive() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_Corecursive != nil
+}
+
+func (x *TestAllTypes_NestedMessage) ClearCorecursive() {
+ x.xxx_hidden_Corecursive = nil
+}
+
+type TestAllTypes_NestedMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ A int32
+ Corecursive *TestAllTypes
+}
+
+func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage {
+ m0 := &TestAllTypes_NestedMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_A = b.A
+ x.xxx_hidden_Corecursive = b.Corecursive
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = []byte{
+ 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x68, 0x79,
+ 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28,
+ 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57,
+ 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52,
+ 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+ 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a,
+ 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46,
+ 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73,
+ 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14,
+ 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e,
+ 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f,
+ 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01,
+ 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88,
+ 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07,
+ 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06,
+ 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a,
+ 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
+ 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72,
+ 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01,
+ 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79,
+ 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d,
+ 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
+ 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26,
+ 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f,
+ 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
+ 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
+ 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
+ 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03,
+ 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e,
+ 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
+ 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63,
+ 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
+ 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
+ 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69,
+ 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70,
+ 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
+ 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d,
+ 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
+ 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11,
+ 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
+ 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
+ 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d,
+ 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
+ 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
+ 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d,
+ 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3c, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f,
+ 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x44, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14,
+ 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62,
+ 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f,
+ 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01,
+ 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73,
+ 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f,
+ 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65,
+ 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54,
+ 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
+ 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+ 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70,
+ 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75,
+ 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b,
+ 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68,
+ 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
+ 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f,
+ 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
+ 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
+ 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b,
+ 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f,
+ 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+ 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
+ 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f,
+ 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42,
+ 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f,
+ 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73,
+ 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = []any{
+ (ForeignEnum)(0), // 0: hybrid.goproto.proto.test3.ForeignEnum
+ (TestAllTypes_NestedEnum)(0), // 1: hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ (*TestAllTypes)(nil), // 2: hybrid.goproto.proto.test3.TestAllTypes
+ (*ForeignMessage)(nil), // 3: hybrid.goproto.proto.test3.ForeignMessage
+ (*TestAllTypes_NestedMessage)(nil), // 4: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ nil, // 5: hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ nil, // 6: hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ nil, // 7: hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ nil, // 8: hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ nil, // 9: hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ nil, // 10: hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ nil, // 11: hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ nil, // 12: hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ nil, // 13: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ nil, // 14: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ nil, // 15: hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ nil, // 16: hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ nil, // 17: hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ nil, // 18: hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ nil, // 19: hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ nil, // 20: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ nil, // 21: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ (*ImportMessage)(nil), // 22: hybrid.goproto.proto.test3.ImportMessage
+ (ImportEnum)(0), // 23: hybrid.goproto.proto.test3.ImportEnum
+}
+var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = []int32{
+ 4, // 0: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 1: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 2: hybrid.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 3: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 4: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 5: hybrid.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 4, // 6: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 7: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 8: hybrid.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 9: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 10: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 11: hybrid.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 4, // 12: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 13: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage
+ 22, // 14: hybrid.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> hybrid.goproto.proto.test3.ImportMessage
+ 1, // 15: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 16: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum
+ 23, // 17: hybrid.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> hybrid.goproto.proto.test3.ImportEnum
+ 5, // 18: hybrid.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ 6, // 19: hybrid.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ 7, // 20: hybrid.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ 8, // 21: hybrid.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ 9, // 22: hybrid.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ 10, // 23: hybrid.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ 11, // 24: hybrid.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ 12, // 25: hybrid.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ 13, // 26: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ 14, // 27: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ 15, // 28: hybrid.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ 16, // 29: hybrid.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ 17, // 30: hybrid.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ 18, // 31: hybrid.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ 19, // 32: hybrid.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ 20, // 33: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ 21, // 34: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ 4, // 35: hybrid.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 36: hybrid.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 2, // 37: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.test3.TestAllTypes
+ 4, // 38: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 39: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum
+ 40, // [40:40] is the sub-list for method output_type
+ 40, // [40:40] is the sub-list for method input_type
+ 40, // [40:40] is the sub-list for extension type_name
+ 40, // [40:40] is the sub-list for extension extendee
+ 0, // [0:40] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() }
+func file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() {
+ if File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto != nil {
+ return
+ }
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init()
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].OneofWrappers = []any{
+ (*testAllTypes_OneofUint32)(nil),
+ (*testAllTypes_OneofNestedMessage)(nil),
+ (*testAllTypes_OneofString)(nil),
+ (*testAllTypes_OneofBytes)(nil),
+ (*testAllTypes_OneofBool)(nil),
+ (*testAllTypes_OneofUint64)(nil),
+ (*testAllTypes_OneofFloat)(nil),
+ (*testAllTypes_OneofDouble)(nil),
+ (*testAllTypes_OneofEnum)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 20,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto = out.File
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go
new file mode 100644
index 0000000..b53814c
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go
@@ -0,0 +1,156 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto
+
+//go:build !protoopaque
+
+package test3_hybrid
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ImportEnum int32
+
+const (
+ ImportEnum_IMPORT_ZERO ImportEnum = 0
+)
+
+// Enum value maps for ImportEnum.
+var (
+ ImportEnum_name = map[int32]string{
+ 0: "IMPORT_ZERO",
+ }
+ ImportEnum_value = map[string]int32{
+ "IMPORT_ZERO": 0,
+ }
+)
+
+func (x ImportEnum) Enum() *ImportEnum {
+ p := new(ImportEnum)
+ *p = x
+ return p
+}
+
+func (x ImportEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ImportEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ImportEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0]
+}
+
+func (x ImportEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type ImportMessage struct {
+ state protoimpl.MessageState `protogen:"hybrid.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ImportMessage) Reset() {
+ *x = ImportMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ImportMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ImportMessage) ProtoMessage() {}
+
+func (x *ImportMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+type ImportMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 ImportMessage_builder) Build() *ImportMessage {
+ m0 := &ImportMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = []byte{
+ 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a,
+ 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d,
+ 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a,
+ 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
+ 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = []any{
+ (ImportEnum)(0), // 0: hybrid.goproto.proto.test3.ImportEnum
+ (*ImportMessage)(nil), // 1: hybrid.goproto.proto.test3.ImportMessage
+}
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() }
+func file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() {
+ if File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto = out.File
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto
new file mode 100644
index 0000000..aa7ec4d
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto
@@ -0,0 +1,16 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+syntax = "proto3";
+
+package hybrid.goproto.proto.test3;
+
+option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid";
+
+
+message ImportMessage {}
+
+enum ImportEnum {
+ IMPORT_ZERO = 0;
+}
\ No newline at end of file
diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go b/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..f05bddb
--- /dev/null
+++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go
@@ -0,0 +1,156 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto
+
+//go:build protoopaque
+
+package test3_hybrid
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ImportEnum int32
+
+const (
+ ImportEnum_IMPORT_ZERO ImportEnum = 0
+)
+
+// Enum value maps for ImportEnum.
+var (
+ ImportEnum_name = map[int32]string{
+ 0: "IMPORT_ZERO",
+ }
+ ImportEnum_value = map[string]int32{
+ "IMPORT_ZERO": 0,
+ }
+)
+
+func (x ImportEnum) Enum() *ImportEnum {
+ p := new(ImportEnum)
+ *p = x
+ return p
+}
+
+func (x ImportEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ImportEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ImportEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0]
+}
+
+func (x ImportEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type ImportMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ImportMessage) Reset() {
+ *x = ImportMessage{}
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ImportMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ImportMessage) ProtoMessage() {}
+
+func (x *ImportMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+type ImportMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 ImportMessage_builder) Build() *ImportMessage {
+ m0 := &ImportMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = []byte{
+ 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a,
+ 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d,
+ 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a,
+ 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
+ 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72,
+ 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = []any{
+ (ImportEnum)(0), // 0: hybrid.goproto.proto.test3.ImportEnum
+ (*ImportMessage)(nil), // 1: hybrid.goproto.proto.test3.ImportMessage
+}
+var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() }
+func file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() {
+ if File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto = out.File
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_opaque/test.opaque.pb.go b/internal/testprotos/test3/test3_opaque/test.opaque.pb.go
new file mode 100644
index 0000000..f51c61a
--- /dev/null
+++ b/internal/testprotos/test3/test3_opaque/test.opaque.pb.go
@@ -0,0 +1,2849 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_opaque/test.opaque.proto
+
+package test3_opaque
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ForeignEnum int32
+
+const (
+ ForeignEnum_FOREIGN_ZERO ForeignEnum = 0
+ ForeignEnum_FOREIGN_FOO ForeignEnum = 4
+ ForeignEnum_FOREIGN_BAR ForeignEnum = 5
+ ForeignEnum_FOREIGN_BAZ ForeignEnum = 6
+)
+
+// Enum value maps for ForeignEnum.
+var (
+ ForeignEnum_name = map[int32]string{
+ 0: "FOREIGN_ZERO",
+ 4: "FOREIGN_FOO",
+ 5: "FOREIGN_BAR",
+ 6: "FOREIGN_BAZ",
+ }
+ ForeignEnum_value = map[string]int32{
+ "FOREIGN_ZERO": 0,
+ "FOREIGN_FOO": 4,
+ "FOREIGN_BAR": 5,
+ "FOREIGN_BAZ": 6,
+ }
+)
+
+func (x ForeignEnum) Enum() *ForeignEnum {
+ p := new(ForeignEnum)
+ *p = x
+ return p
+}
+
+func (x ForeignEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[0].Descriptor()
+}
+
+func (ForeignEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[0]
+}
+
+func (x ForeignEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes_NestedEnum int32
+
+const (
+ TestAllTypes_FOO TestAllTypes_NestedEnum = 0
+ TestAllTypes_BAR TestAllTypes_NestedEnum = 1
+ TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
+ TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative.
+)
+
+// Enum value maps for TestAllTypes_NestedEnum.
+var (
+ TestAllTypes_NestedEnum_name = map[int32]string{
+ 0: "FOO",
+ 1: "BAR",
+ 2: "BAZ",
+ -1: "NEG",
+ }
+ TestAllTypes_NestedEnum_value = map[string]int32{
+ "FOO": 0,
+ "BAR": 1,
+ "BAZ": 2,
+ "NEG": -1,
+ }
+)
+
+func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
+ p := new(TestAllTypes_NestedEnum)
+ *p = x
+ return p
+}
+
+func (x TestAllTypes_NestedEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[1].Descriptor()
+}
+
+func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[1]
+}
+
+func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type TestAllTypes struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"`
+ xxx_hidden_SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"`
+ xxx_hidden_SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"`
+ xxx_hidden_SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"`
+ xxx_hidden_SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"`
+ xxx_hidden_SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"`
+ xxx_hidden_SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"`
+ xxx_hidden_SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"`
+ xxx_hidden_SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"`
+ xxx_hidden_SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"`
+ xxx_hidden_SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"`
+ xxx_hidden_SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"`
+ xxx_hidden_SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"`
+ xxx_hidden_SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"`
+ xxx_hidden_SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"`
+ xxx_hidden_SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"`
+ xxx_hidden_SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"`
+ xxx_hidden_SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"`
+ xxx_hidden_SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
+ xxx_hidden_SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"`
+ xxx_hidden_SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=opaque.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"`
+ xxx_hidden_OptionalInt32 int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"`
+ xxx_hidden_OptionalInt64 int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"`
+ xxx_hidden_OptionalUint32 uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"`
+ xxx_hidden_OptionalUint64 uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"`
+ xxx_hidden_OptionalSint32 int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"`
+ xxx_hidden_OptionalSint64 int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"`
+ xxx_hidden_OptionalFixed32 uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"`
+ xxx_hidden_OptionalFixed64 uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"`
+ xxx_hidden_OptionalSfixed32 int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"`
+ xxx_hidden_OptionalSfixed64 int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"`
+ xxx_hidden_OptionalFloat float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"`
+ xxx_hidden_OptionalDouble float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"`
+ xxx_hidden_OptionalBool bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"`
+ xxx_hidden_OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"`
+ xxx_hidden_OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"`
+ xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"`
+ xxx_hidden_OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"`
+ xxx_hidden_OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"`
+ xxx_hidden_OptionalNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"`
+ xxx_hidden_OptionalForeignEnum ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"`
+ xxx_hidden_OptionalImportEnum ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=opaque.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"`
+ xxx_hidden_RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"`
+ xxx_hidden_RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"`
+ xxx_hidden_RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"`
+ xxx_hidden_RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"`
+ xxx_hidden_RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"`
+ xxx_hidden_RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"`
+ xxx_hidden_RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"`
+ xxx_hidden_RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"`
+ xxx_hidden_RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"`
+ xxx_hidden_RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"`
+ xxx_hidden_RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"`
+ xxx_hidden_RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"`
+ xxx_hidden_RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"`
+ xxx_hidden_RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"`
+ xxx_hidden_RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"`
+ xxx_hidden_RepeatedNestedMessage *[]*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"`
+ xxx_hidden_RepeatedForeignMessage *[]*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"`
+ xxx_hidden_RepeatedImportmessage *[]*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"`
+ xxx_hidden_RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
+ xxx_hidden_RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
+ xxx_hidden_RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=opaque.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"`
+ xxx_hidden_MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32,proto3" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
+ xxx_hidden_MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64,proto3" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
+ xxx_hidden_MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32,proto3" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64,proto3" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32,proto3" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64,proto3" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
+ xxx_hidden_MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+ xxx_hidden_MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+ xxx_hidden_MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage,proto3" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ xxx_hidden_MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum,proto3" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum"`
+ xxx_hidden_OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"`
+ XXX_raceDetectHookData protoimpl.RaceDetectHookData
+ XXX_presence [3]uint32
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes) Reset() {
+ *x = TestAllTypes{}
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes) ProtoMessage() {}
+
+func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes) GetSingularInt32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularInt64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_SingularUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularUint64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_SingularUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSint64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_SingularFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFixed64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_SingularFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed32() int32 {
+ if x != nil {
+ return x.xxx_hidden_SingularSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularSfixed64() int64 {
+ if x != nil {
+ return x.xxx_hidden_SingularSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularFloat() float32 {
+ if x != nil {
+ return x.xxx_hidden_SingularFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularDouble() float64 {
+ if x != nil {
+ return x.xxx_hidden_SingularDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetSingularBool() bool {
+ if x != nil {
+ return x.xxx_hidden_SingularBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetSingularString() string {
+ if x != nil {
+ return x.xxx_hidden_SingularString
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetSingularBytes() []byte {
+ if x != nil {
+ return x.xxx_hidden_SingularBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage {
+ if x != nil {
+ return x.xxx_hidden_SingularImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularNestedEnum
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularForeignEnum
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetSingularImportEnum() ImportEnum {
+ if x != nil {
+ return x.xxx_hidden_SingularImportEnum
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalInt32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalInt32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalInt64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalInt64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalUint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalUint64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalUint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSint32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSint64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSint64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed32() uint32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFixed64() uint64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed32() int32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSfixed32
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalSfixed64() int64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalSfixed64
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalFloat() float32 {
+ if x != nil {
+ return x.xxx_hidden_OptionalFloat
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalDouble() float64 {
+ if x != nil {
+ return x.xxx_hidden_OptionalDouble
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOptionalBool() bool {
+ if x != nil {
+ return x.xxx_hidden_OptionalBool
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOptionalString() string {
+ if x != nil {
+ if x.xxx_hidden_OptionalString != nil {
+ return *x.xxx_hidden_OptionalString
+ }
+ return ""
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOptionalBytes() []byte {
+ if x != nil {
+ return x.xxx_hidden_OptionalBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalForeignMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage {
+ if x != nil {
+ return x.xxx_hidden_OptionalImportMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 39) {
+ return x.xxx_hidden_OptionalNestedEnum
+ }
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 40) {
+ return x.xxx_hidden_OptionalForeignEnum
+ }
+ }
+ return ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum {
+ if x != nil {
+ if protoimpl.X.Present(&(x.XXX_presence[1]), 41) {
+ return x.xxx_hidden_OptionalImportEnum
+ }
+ }
+ return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetRepeatedInt32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedInt32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedInt64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedInt64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedUint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedUint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSint64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedSfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedFloat() []float32 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedFloat
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedDouble() []float64 {
+ if x != nil {
+ return x.xxx_hidden_RepeatedDouble
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBool() []bool {
+ if x != nil {
+ return x.xxx_hidden_RepeatedBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedString() []string {
+ if x != nil {
+ return x.xxx_hidden_RepeatedString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
+ if x != nil {
+ return x.xxx_hidden_RepeatedBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedNestedMessage != nil {
+ return *x.xxx_hidden_RepeatedNestedMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedForeignMessage != nil {
+ return *x.xxx_hidden_RepeatedForeignMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
+ if x != nil {
+ if x.xxx_hidden_RepeatedImportmessage != nil {
+ return *x.xxx_hidden_RepeatedImportmessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedForeignEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
+ if x != nil {
+ return x.xxx_hidden_RepeatedImportenum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Int32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapInt64Int64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
+ if x != nil {
+ return x.xxx_hidden_MapUint32Uint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
+ if x != nil {
+ return x.xxx_hidden_MapUint64Uint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapSint32Sint32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapSint64Sint64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
+ if x != nil {
+ return x.xxx_hidden_MapFixed32Fixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
+ if x != nil {
+ return x.xxx_hidden_MapFixed64Fixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
+ if x != nil {
+ return x.xxx_hidden_MapSfixed32Sfixed32
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
+ if x != nil {
+ return x.xxx_hidden_MapSfixed64Sfixed64
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Float
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
+ if x != nil {
+ return x.xxx_hidden_MapInt32Double
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
+ if x != nil {
+ return x.xxx_hidden_MapBoolBool
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringString() map[string]string {
+ if x != nil {
+ return x.xxx_hidden_MapStringString
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
+ if x != nil {
+ return x.xxx_hidden_MapStringBytes
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
+ if x != nil {
+ return x.xxx_hidden_MapStringNestedMessage
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
+ if x != nil {
+ return x.xxx_hidden_MapStringNestedEnum
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofUint32() uint32 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
+ return x.OneofUint32
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
+ return x.OneofNestedMessage
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofString() string {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
+ return x.OneofString
+ }
+ }
+ return ""
+}
+
+func (x *TestAllTypes) GetOneofBytes() []byte {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
+ return x.OneofBytes
+ }
+ }
+ return nil
+}
+
+func (x *TestAllTypes) GetOneofBool() bool {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
+ return x.OneofBool
+ }
+ }
+ return false
+}
+
+func (x *TestAllTypes) GetOneofUint64() uint64 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
+ return x.OneofUint64
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofFloat() float32 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
+ return x.OneofFloat
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofDouble() float64 {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
+ return x.OneofDouble
+ }
+ }
+ return 0
+}
+
+func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
+ if x != nil {
+ if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
+ return x.OneofEnum
+ }
+ }
+ return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) SetSingularInt32(v int32) {
+ x.xxx_hidden_SingularInt32 = v
+}
+
+func (x *TestAllTypes) SetSingularInt64(v int64) {
+ x.xxx_hidden_SingularInt64 = v
+}
+
+func (x *TestAllTypes) SetSingularUint32(v uint32) {
+ x.xxx_hidden_SingularUint32 = v
+}
+
+func (x *TestAllTypes) SetSingularUint64(v uint64) {
+ x.xxx_hidden_SingularUint64 = v
+}
+
+func (x *TestAllTypes) SetSingularSint32(v int32) {
+ x.xxx_hidden_SingularSint32 = v
+}
+
+func (x *TestAllTypes) SetSingularSint64(v int64) {
+ x.xxx_hidden_SingularSint64 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed32(v uint32) {
+ x.xxx_hidden_SingularFixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularFixed64(v uint64) {
+ x.xxx_hidden_SingularFixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed32(v int32) {
+ x.xxx_hidden_SingularSfixed32 = v
+}
+
+func (x *TestAllTypes) SetSingularSfixed64(v int64) {
+ x.xxx_hidden_SingularSfixed64 = v
+}
+
+func (x *TestAllTypes) SetSingularFloat(v float32) {
+ x.xxx_hidden_SingularFloat = v
+}
+
+func (x *TestAllTypes) SetSingularDouble(v float64) {
+ x.xxx_hidden_SingularDouble = v
+}
+
+func (x *TestAllTypes) SetSingularBool(v bool) {
+ x.xxx_hidden_SingularBool = v
+}
+
+func (x *TestAllTypes) SetSingularString(v string) {
+ x.xxx_hidden_SingularString = v
+}
+
+func (x *TestAllTypes) SetSingularBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_SingularBytes = v
+}
+
+func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.xxx_hidden_SingularNestedMessage = v
+}
+
+func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) {
+ x.xxx_hidden_SingularForeignMessage = v
+}
+
+func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) {
+ x.xxx_hidden_SingularImportMessage = v
+}
+
+func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_SingularNestedEnum = v
+}
+
+func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) {
+ x.xxx_hidden_SingularForeignEnum = v
+}
+
+func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) {
+ x.xxx_hidden_SingularImportEnum = v
+}
+
+func (x *TestAllTypes) SetOptionalInt32(v int32) {
+ x.xxx_hidden_OptionalInt32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 81)
+}
+
+func (x *TestAllTypes) SetOptionalInt64(v int64) {
+ x.xxx_hidden_OptionalInt64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 81)
+}
+
+func (x *TestAllTypes) SetOptionalUint32(v uint32) {
+ x.xxx_hidden_OptionalUint32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 81)
+}
+
+func (x *TestAllTypes) SetOptionalUint64(v uint64) {
+ x.xxx_hidden_OptionalUint64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSint32(v int32) {
+ x.xxx_hidden_OptionalSint32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSint64(v int64) {
+ x.xxx_hidden_OptionalSint64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFixed32(v uint32) {
+ x.xxx_hidden_OptionalFixed32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFixed64(v uint64) {
+ x.xxx_hidden_OptionalFixed64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed32(v int32) {
+ x.xxx_hidden_OptionalSfixed32 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 81)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed64(v int64) {
+ x.xxx_hidden_OptionalSfixed64 = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 81)
+}
+
+func (x *TestAllTypes) SetOptionalFloat(v float32) {
+ x.xxx_hidden_OptionalFloat = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 81)
+}
+
+func (x *TestAllTypes) SetOptionalDouble(v float64) {
+ x.xxx_hidden_OptionalDouble = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 81)
+}
+
+func (x *TestAllTypes) SetOptionalBool(v bool) {
+ x.xxx_hidden_OptionalBool = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 33, 81)
+}
+
+func (x *TestAllTypes) SetOptionalString(v string) {
+ x.xxx_hidden_OptionalString = &v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 34, 81)
+}
+
+func (x *TestAllTypes) SetOptionalBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_OptionalBytes = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 35, 81)
+}
+
+func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
+ x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) {
+ x.xxx_hidden_OptionalForeignMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) {
+ x.xxx_hidden_OptionalImportMessage = v
+}
+
+func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_OptionalNestedEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 81)
+}
+
+func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) {
+ x.xxx_hidden_OptionalForeignEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 81)
+}
+
+func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) {
+ x.xxx_hidden_OptionalImportEnum = v
+ protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 81)
+}
+
+func (x *TestAllTypes) SetRepeatedInt32(v []int32) {
+ x.xxx_hidden_RepeatedInt32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedInt64(v []int64) {
+ x.xxx_hidden_RepeatedInt64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint32(v []uint32) {
+ x.xxx_hidden_RepeatedUint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedUint64(v []uint64) {
+ x.xxx_hidden_RepeatedUint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint32(v []int32) {
+ x.xxx_hidden_RepeatedSint32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSint64(v []int64) {
+ x.xxx_hidden_RepeatedSint64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) {
+ x.xxx_hidden_RepeatedFixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) {
+ x.xxx_hidden_RepeatedFixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) {
+ x.xxx_hidden_RepeatedSfixed32 = v
+}
+
+func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) {
+ x.xxx_hidden_RepeatedSfixed64 = v
+}
+
+func (x *TestAllTypes) SetRepeatedFloat(v []float32) {
+ x.xxx_hidden_RepeatedFloat = v
+}
+
+func (x *TestAllTypes) SetRepeatedDouble(v []float64) {
+ x.xxx_hidden_RepeatedDouble = v
+}
+
+func (x *TestAllTypes) SetRepeatedBool(v []bool) {
+ x.xxx_hidden_RepeatedBool = v
+}
+
+func (x *TestAllTypes) SetRepeatedString(v []string) {
+ x.xxx_hidden_RepeatedString = v
+}
+
+func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) {
+ x.xxx_hidden_RepeatedBytes = v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) {
+ x.xxx_hidden_RepeatedNestedMessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) {
+ x.xxx_hidden_RepeatedForeignMessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) {
+ x.xxx_hidden_RepeatedImportmessage = &v
+}
+
+func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) {
+ x.xxx_hidden_RepeatedNestedEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) {
+ x.xxx_hidden_RepeatedForeignEnum = v
+}
+
+func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) {
+ x.xxx_hidden_RepeatedImportenum = v
+}
+
+func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) {
+ x.xxx_hidden_MapInt32Int32 = v
+}
+
+func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) {
+ x.xxx_hidden_MapInt64Int64 = v
+}
+
+func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) {
+ x.xxx_hidden_MapUint32Uint32 = v
+}
+
+func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) {
+ x.xxx_hidden_MapUint64Uint64 = v
+}
+
+func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) {
+ x.xxx_hidden_MapSint32Sint32 = v
+}
+
+func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) {
+ x.xxx_hidden_MapSint64Sint64 = v
+}
+
+func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) {
+ x.xxx_hidden_MapFixed32Fixed32 = v
+}
+
+func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) {
+ x.xxx_hidden_MapFixed64Fixed64 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) {
+ x.xxx_hidden_MapSfixed32Sfixed32 = v
+}
+
+func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) {
+ x.xxx_hidden_MapSfixed64Sfixed64 = v
+}
+
+func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) {
+ x.xxx_hidden_MapInt32Float = v
+}
+
+func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) {
+ x.xxx_hidden_MapInt32Double = v
+}
+
+func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) {
+ x.xxx_hidden_MapBoolBool = v
+}
+
+func (x *TestAllTypes) SetMapStringString(v map[string]string) {
+ x.xxx_hidden_MapStringString = v
+}
+
+func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) {
+ x.xxx_hidden_MapStringBytes = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) {
+ x.xxx_hidden_MapStringNestedMessage = v
+}
+
+func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) {
+ x.xxx_hidden_MapStringNestedEnum = v
+}
+
+func (x *TestAllTypes) SetOneofUint32(v uint32) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{v}
+}
+
+func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) {
+ if v == nil {
+ x.xxx_hidden_OneofField = nil
+ return
+ }
+ x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{v}
+}
+
+func (x *TestAllTypes) SetOneofString(v string) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofString{v}
+}
+
+func (x *TestAllTypes) SetOneofBytes(v []byte) {
+ if v == nil {
+ v = []byte{}
+ }
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{v}
+}
+
+func (x *TestAllTypes) SetOneofBool(v bool) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBool{v}
+}
+
+func (x *TestAllTypes) SetOneofUint64(v uint64) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{v}
+}
+
+func (x *TestAllTypes) SetOneofFloat(v float32) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{v}
+}
+
+func (x *TestAllTypes) SetOneofDouble(v float64) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{v}
+}
+
+func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{v}
+}
+
+func (x *TestAllTypes) HasSingularNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasSingularImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_SingularImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalInt32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 21)
+}
+
+func (x *TestAllTypes) HasOptionalInt64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 22)
+}
+
+func (x *TestAllTypes) HasOptionalUint32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 23)
+}
+
+func (x *TestAllTypes) HasOptionalUint64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 24)
+}
+
+func (x *TestAllTypes) HasOptionalSint32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 25)
+}
+
+func (x *TestAllTypes) HasOptionalSint64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 26)
+}
+
+func (x *TestAllTypes) HasOptionalFixed32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 27)
+}
+
+func (x *TestAllTypes) HasOptionalFixed64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 28)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed32() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 29)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed64() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 30)
+}
+
+func (x *TestAllTypes) HasOptionalFloat() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[0]), 31)
+}
+
+func (x *TestAllTypes) HasOptionalDouble() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 32)
+}
+
+func (x *TestAllTypes) HasOptionalBool() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 33)
+}
+
+func (x *TestAllTypes) HasOptionalString() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 34)
+}
+
+func (x *TestAllTypes) HasOptionalBytes() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 35)
+}
+
+func (x *TestAllTypes) HasOptionalNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalForeignMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalForeignMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalImportMessage() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OptionalImportMessage != nil
+}
+
+func (x *TestAllTypes) HasOptionalNestedEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 39)
+}
+
+func (x *TestAllTypes) HasOptionalForeignEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 40)
+}
+
+func (x *TestAllTypes) HasOptionalImportEnum() bool {
+ if x == nil {
+ return false
+ }
+ return protoimpl.X.Present(&(x.XXX_presence[1]), 41)
+}
+
+func (x *TestAllTypes) HasOneofField() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_OneofField != nil
+}
+
+func (x *TestAllTypes) HasOneofUint32() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofNestedMessage() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofString() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBytes() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofBool() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofUint64() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofFloat() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofDouble() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble)
+ return ok
+}
+
+func (x *TestAllTypes) HasOneofEnum() bool {
+ if x == nil {
+ return false
+ }
+ _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum)
+ return ok
+}
+
+func (x *TestAllTypes) ClearSingularNestedMessage() {
+ x.xxx_hidden_SingularNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularForeignMessage() {
+ x.xxx_hidden_SingularForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearSingularImportMessage() {
+ x.xxx_hidden_SingularImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalInt32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21)
+ x.xxx_hidden_OptionalInt32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalInt64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22)
+ x.xxx_hidden_OptionalInt64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23)
+ x.xxx_hidden_OptionalUint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24)
+ x.xxx_hidden_OptionalUint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25)
+ x.xxx_hidden_OptionalSint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26)
+ x.xxx_hidden_OptionalSint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27)
+ x.xxx_hidden_OptionalFixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28)
+ x.xxx_hidden_OptionalFixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed32() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29)
+ x.xxx_hidden_OptionalSfixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed64() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30)
+ x.xxx_hidden_OptionalSfixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFloat() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31)
+ x.xxx_hidden_OptionalFloat = 0
+}
+
+func (x *TestAllTypes) ClearOptionalDouble() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32)
+ x.xxx_hidden_OptionalDouble = 0
+}
+
+func (x *TestAllTypes) ClearOptionalBool() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 33)
+ x.xxx_hidden_OptionalBool = false
+}
+
+func (x *TestAllTypes) ClearOptionalString() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 34)
+ x.xxx_hidden_OptionalString = nil
+}
+
+func (x *TestAllTypes) ClearOptionalBytes() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 35)
+ x.xxx_hidden_OptionalBytes = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedMessage() {
+ x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalForeignMessage() {
+ x.xxx_hidden_OptionalForeignMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalImportMessage() {
+ x.xxx_hidden_OptionalImportMessage = nil
+}
+
+func (x *TestAllTypes) ClearOptionalNestedEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39)
+ x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) ClearOptionalForeignEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40)
+ x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) ClearOptionalImportEnum() {
+ protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
+ x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) ClearOneofField() {
+ x.xxx_hidden_OneofField = nil
+}
+
+func (x *TestAllTypes) ClearOneofUint32() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofNestedMessage() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofString() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBytes() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofBool() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofUint64() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofFloat() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofDouble() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+func (x *TestAllTypes) ClearOneofEnum() {
+ if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
+ x.xxx_hidden_OneofField = nil
+ }
+}
+
+const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0
+const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111
+const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112
+const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113
+const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114
+const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115
+const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116
+const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117
+const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118
+const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119
+
+func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField {
+ if x == nil {
+ return TestAllTypes_OneofField_not_set_case
+ }
+ switch x.xxx_hidden_OneofField.(type) {
+ case *testAllTypes_OneofUint32:
+ return TestAllTypes_OneofUint32_case
+ case *testAllTypes_OneofNestedMessage:
+ return TestAllTypes_OneofNestedMessage_case
+ case *testAllTypes_OneofString:
+ return TestAllTypes_OneofString_case
+ case *testAllTypes_OneofBytes:
+ return TestAllTypes_OneofBytes_case
+ case *testAllTypes_OneofBool:
+ return TestAllTypes_OneofBool_case
+ case *testAllTypes_OneofUint64:
+ return TestAllTypes_OneofUint64_case
+ case *testAllTypes_OneofFloat:
+ return TestAllTypes_OneofFloat_case
+ case *testAllTypes_OneofDouble:
+ return TestAllTypes_OneofDouble_case
+ case *testAllTypes_OneofEnum:
+ return TestAllTypes_OneofEnum_case
+ default:
+ return TestAllTypes_OneofField_not_set_case
+ }
+}
+
+type TestAllTypes_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ SingularInt32 int32
+ SingularInt64 int64
+ SingularUint32 uint32
+ SingularUint64 uint64
+ SingularSint32 int32
+ SingularSint64 int64
+ SingularFixed32 uint32
+ SingularFixed64 uint64
+ SingularSfixed32 int32
+ SingularSfixed64 int64
+ SingularFloat float32
+ SingularDouble float64
+ SingularBool bool
+ SingularString string
+ SingularBytes []byte
+ SingularNestedMessage *TestAllTypes_NestedMessage
+ SingularForeignMessage *ForeignMessage
+ SingularImportMessage *ImportMessage
+ SingularNestedEnum TestAllTypes_NestedEnum
+ SingularForeignEnum ForeignEnum
+ SingularImportEnum ImportEnum
+ OptionalInt32 *int32
+ OptionalInt64 *int64
+ OptionalUint32 *uint32
+ OptionalUint64 *uint64
+ OptionalSint32 *int32
+ OptionalSint64 *int64
+ OptionalFixed32 *uint32
+ OptionalFixed64 *uint64
+ OptionalSfixed32 *int32
+ OptionalSfixed64 *int64
+ OptionalFloat *float32
+ OptionalDouble *float64
+ OptionalBool *bool
+ OptionalString *string
+ OptionalBytes []byte
+ OptionalNestedMessage *TestAllTypes_NestedMessage
+ OptionalForeignMessage *ForeignMessage
+ OptionalImportMessage *ImportMessage
+ OptionalNestedEnum *TestAllTypes_NestedEnum
+ OptionalForeignEnum *ForeignEnum
+ OptionalImportEnum *ImportEnum
+ RepeatedInt32 []int32
+ RepeatedInt64 []int64
+ RepeatedUint32 []uint32
+ RepeatedUint64 []uint64
+ RepeatedSint32 []int32
+ RepeatedSint64 []int64
+ RepeatedFixed32 []uint32
+ RepeatedFixed64 []uint64
+ RepeatedSfixed32 []int32
+ RepeatedSfixed64 []int64
+ RepeatedFloat []float32
+ RepeatedDouble []float64
+ RepeatedBool []bool
+ RepeatedString []string
+ RepeatedBytes [][]byte
+ RepeatedNestedMessage []*TestAllTypes_NestedMessage
+ RepeatedForeignMessage []*ForeignMessage
+ RepeatedImportmessage []*ImportMessage
+ RepeatedNestedEnum []TestAllTypes_NestedEnum
+ RepeatedForeignEnum []ForeignEnum
+ RepeatedImportenum []ImportEnum
+ MapInt32Int32 map[int32]int32
+ MapInt64Int64 map[int64]int64
+ MapUint32Uint32 map[uint32]uint32
+ MapUint64Uint64 map[uint64]uint64
+ MapSint32Sint32 map[int32]int32
+ MapSint64Sint64 map[int64]int64
+ MapFixed32Fixed32 map[uint32]uint32
+ MapFixed64Fixed64 map[uint64]uint64
+ MapSfixed32Sfixed32 map[int32]int32
+ MapSfixed64Sfixed64 map[int64]int64
+ MapInt32Float map[int32]float32
+ MapInt32Double map[int32]float64
+ MapBoolBool map[bool]bool
+ MapStringString map[string]string
+ MapStringBytes map[string][]byte
+ MapStringNestedMessage map[string]*TestAllTypes_NestedMessage
+ MapStringNestedEnum map[string]TestAllTypes_NestedEnum
+ // Fields of oneof xxx_hidden_OneofField:
+ OneofUint32 *uint32
+ OneofNestedMessage *TestAllTypes_NestedMessage
+ OneofString *string
+ OneofBytes []byte
+ OneofBool *bool
+ OneofUint64 *uint64
+ OneofFloat *float32
+ OneofDouble *float64
+ OneofEnum *TestAllTypes_NestedEnum
+ // -- end of xxx_hidden_OneofField
+}
+
+func (b0 TestAllTypes_builder) Build() *TestAllTypes {
+ m0 := &TestAllTypes{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_SingularInt32 = b.SingularInt32
+ x.xxx_hidden_SingularInt64 = b.SingularInt64
+ x.xxx_hidden_SingularUint32 = b.SingularUint32
+ x.xxx_hidden_SingularUint64 = b.SingularUint64
+ x.xxx_hidden_SingularSint32 = b.SingularSint32
+ x.xxx_hidden_SingularSint64 = b.SingularSint64
+ x.xxx_hidden_SingularFixed32 = b.SingularFixed32
+ x.xxx_hidden_SingularFixed64 = b.SingularFixed64
+ x.xxx_hidden_SingularSfixed32 = b.SingularSfixed32
+ x.xxx_hidden_SingularSfixed64 = b.SingularSfixed64
+ x.xxx_hidden_SingularFloat = b.SingularFloat
+ x.xxx_hidden_SingularDouble = b.SingularDouble
+ x.xxx_hidden_SingularBool = b.SingularBool
+ x.xxx_hidden_SingularString = b.SingularString
+ x.xxx_hidden_SingularBytes = b.SingularBytes
+ x.xxx_hidden_SingularNestedMessage = b.SingularNestedMessage
+ x.xxx_hidden_SingularForeignMessage = b.SingularForeignMessage
+ x.xxx_hidden_SingularImportMessage = b.SingularImportMessage
+ x.xxx_hidden_SingularNestedEnum = b.SingularNestedEnum
+ x.xxx_hidden_SingularForeignEnum = b.SingularForeignEnum
+ x.xxx_hidden_SingularImportEnum = b.SingularImportEnum
+ if b.OptionalInt32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 81)
+ x.xxx_hidden_OptionalInt32 = *b.OptionalInt32
+ }
+ if b.OptionalInt64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 81)
+ x.xxx_hidden_OptionalInt64 = *b.OptionalInt64
+ }
+ if b.OptionalUint32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 81)
+ x.xxx_hidden_OptionalUint32 = *b.OptionalUint32
+ }
+ if b.OptionalUint64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 81)
+ x.xxx_hidden_OptionalUint64 = *b.OptionalUint64
+ }
+ if b.OptionalSint32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 81)
+ x.xxx_hidden_OptionalSint32 = *b.OptionalSint32
+ }
+ if b.OptionalSint64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 81)
+ x.xxx_hidden_OptionalSint64 = *b.OptionalSint64
+ }
+ if b.OptionalFixed32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 81)
+ x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32
+ }
+ if b.OptionalFixed64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 81)
+ x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64
+ }
+ if b.OptionalSfixed32 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 81)
+ x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32
+ }
+ if b.OptionalSfixed64 != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 81)
+ x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64
+ }
+ if b.OptionalFloat != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 81)
+ x.xxx_hidden_OptionalFloat = *b.OptionalFloat
+ }
+ if b.OptionalDouble != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 81)
+ x.xxx_hidden_OptionalDouble = *b.OptionalDouble
+ }
+ if b.OptionalBool != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 33, 81)
+ x.xxx_hidden_OptionalBool = *b.OptionalBool
+ }
+ if b.OptionalString != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 34, 81)
+ x.xxx_hidden_OptionalString = b.OptionalString
+ }
+ if b.OptionalBytes != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 35, 81)
+ x.xxx_hidden_OptionalBytes = b.OptionalBytes
+ }
+ x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+ x.xxx_hidden_OptionalForeignMessage = b.OptionalForeignMessage
+ x.xxx_hidden_OptionalImportMessage = b.OptionalImportMessage
+ if b.OptionalNestedEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 81)
+ x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum
+ }
+ if b.OptionalForeignEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 81)
+ x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum
+ }
+ if b.OptionalImportEnum != nil {
+ protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 81)
+ x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum
+ }
+ x.xxx_hidden_RepeatedInt32 = b.RepeatedInt32
+ x.xxx_hidden_RepeatedInt64 = b.RepeatedInt64
+ x.xxx_hidden_RepeatedUint32 = b.RepeatedUint32
+ x.xxx_hidden_RepeatedUint64 = b.RepeatedUint64
+ x.xxx_hidden_RepeatedSint32 = b.RepeatedSint32
+ x.xxx_hidden_RepeatedSint64 = b.RepeatedSint64
+ x.xxx_hidden_RepeatedFixed32 = b.RepeatedFixed32
+ x.xxx_hidden_RepeatedFixed64 = b.RepeatedFixed64
+ x.xxx_hidden_RepeatedSfixed32 = b.RepeatedSfixed32
+ x.xxx_hidden_RepeatedSfixed64 = b.RepeatedSfixed64
+ x.xxx_hidden_RepeatedFloat = b.RepeatedFloat
+ x.xxx_hidden_RepeatedDouble = b.RepeatedDouble
+ x.xxx_hidden_RepeatedBool = b.RepeatedBool
+ x.xxx_hidden_RepeatedString = b.RepeatedString
+ x.xxx_hidden_RepeatedBytes = b.RepeatedBytes
+ x.xxx_hidden_RepeatedNestedMessage = &b.RepeatedNestedMessage
+ x.xxx_hidden_RepeatedForeignMessage = &b.RepeatedForeignMessage
+ x.xxx_hidden_RepeatedImportmessage = &b.RepeatedImportmessage
+ x.xxx_hidden_RepeatedNestedEnum = b.RepeatedNestedEnum
+ x.xxx_hidden_RepeatedForeignEnum = b.RepeatedForeignEnum
+ x.xxx_hidden_RepeatedImportenum = b.RepeatedImportenum
+ x.xxx_hidden_MapInt32Int32 = b.MapInt32Int32
+ x.xxx_hidden_MapInt64Int64 = b.MapInt64Int64
+ x.xxx_hidden_MapUint32Uint32 = b.MapUint32Uint32
+ x.xxx_hidden_MapUint64Uint64 = b.MapUint64Uint64
+ x.xxx_hidden_MapSint32Sint32 = b.MapSint32Sint32
+ x.xxx_hidden_MapSint64Sint64 = b.MapSint64Sint64
+ x.xxx_hidden_MapFixed32Fixed32 = b.MapFixed32Fixed32
+ x.xxx_hidden_MapFixed64Fixed64 = b.MapFixed64Fixed64
+ x.xxx_hidden_MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32
+ x.xxx_hidden_MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64
+ x.xxx_hidden_MapInt32Float = b.MapInt32Float
+ x.xxx_hidden_MapInt32Double = b.MapInt32Double
+ x.xxx_hidden_MapBoolBool = b.MapBoolBool
+ x.xxx_hidden_MapStringString = b.MapStringString
+ x.xxx_hidden_MapStringBytes = b.MapStringBytes
+ x.xxx_hidden_MapStringNestedMessage = b.MapStringNestedMessage
+ x.xxx_hidden_MapStringNestedEnum = b.MapStringNestedEnum
+ if b.OneofUint32 != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{*b.OneofUint32}
+ }
+ if b.OneofNestedMessage != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{b.OneofNestedMessage}
+ }
+ if b.OneofString != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofString{*b.OneofString}
+ }
+ if b.OneofBytes != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{b.OneofBytes}
+ }
+ if b.OneofBool != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofBool{*b.OneofBool}
+ }
+ if b.OneofUint64 != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{*b.OneofUint64}
+ }
+ if b.OneofFloat != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{*b.OneofFloat}
+ }
+ if b.OneofDouble != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{*b.OneofDouble}
+ }
+ if b.OneofEnum != nil {
+ x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{*b.OneofEnum}
+ }
+ return m0
+}
+
+type case_TestAllTypes_OneofField protoreflect.FieldNumber
+
+func (x case_TestAllTypes_OneofField) String() string {
+ md := file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0].Descriptor()
+ if x == 0 {
+ return "not set"
+ }
+ return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isTestAllTypes_OneofField interface {
+ isTestAllTypes_OneofField()
+}
+
+type testAllTypes_OneofUint32 struct {
+ OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"`
+}
+
+type testAllTypes_OneofNestedMessage struct {
+ OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"`
+}
+
+type testAllTypes_OneofString struct {
+ OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"`
+}
+
+type testAllTypes_OneofBytes struct {
+ OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"`
+}
+
+type testAllTypes_OneofBool struct {
+ OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"`
+}
+
+type testAllTypes_OneofUint64 struct {
+ OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"`
+}
+
+type testAllTypes_OneofFloat struct {
+ OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"`
+}
+
+type testAllTypes_OneofDouble struct {
+ OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"`
+}
+
+type testAllTypes_OneofEnum struct {
+ OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"`
+}
+
+func (*testAllTypes_OneofUint32) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofString) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofBytes) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofBool) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofUint64) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofFloat) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofDouble) isTestAllTypes_OneofField() {}
+
+func (*testAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
+
+type ForeignMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
+ xxx_hidden_D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ForeignMessage) Reset() {
+ *x = ForeignMessage{}
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ForeignMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForeignMessage) ProtoMessage() {}
+
+func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *ForeignMessage) GetC() int32 {
+ if x != nil {
+ return x.xxx_hidden_C
+ }
+ return 0
+}
+
+func (x *ForeignMessage) GetD() int32 {
+ if x != nil {
+ return x.xxx_hidden_D
+ }
+ return 0
+}
+
+func (x *ForeignMessage) SetC(v int32) {
+ x.xxx_hidden_C = v
+}
+
+func (x *ForeignMessage) SetD(v int32) {
+ x.xxx_hidden_D = v
+}
+
+type ForeignMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ C int32
+ D int32
+}
+
+func (b0 ForeignMessage_builder) Build() *ForeignMessage {
+ m0 := &ForeignMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_C = b.C
+ x.xxx_hidden_D = b.D
+ return m0
+}
+
+type TestAllTypes_NestedMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ xxx_hidden_A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
+ xxx_hidden_Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_NestedMessage) Reset() {
+ *x = TestAllTypes_NestedMessage{}
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_NestedMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_NestedMessage) ProtoMessage() {}
+
+func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+func (x *TestAllTypes_NestedMessage) GetA() int32 {
+ if x != nil {
+ return x.xxx_hidden_A
+ }
+ return 0
+}
+
+func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
+ if x != nil {
+ return x.xxx_hidden_Corecursive
+ }
+ return nil
+}
+
+func (x *TestAllTypes_NestedMessage) SetA(v int32) {
+ x.xxx_hidden_A = v
+}
+
+func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) {
+ x.xxx_hidden_Corecursive = v
+}
+
+func (x *TestAllTypes_NestedMessage) HasCorecursive() bool {
+ if x == nil {
+ return false
+ }
+ return x.xxx_hidden_Corecursive != nil
+}
+
+func (x *TestAllTypes_NestedMessage) ClearCorecursive() {
+ x.xxx_hidden_Corecursive = nil
+}
+
+type TestAllTypes_NestedMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+ A int32
+ Corecursive *TestAllTypes
+}
+
+func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage {
+ m0 := &TestAllTypes_NestedMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ x.xxx_hidden_A = b.A
+ x.xxx_hidden_Corecursive = b.Corecursive
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_opaque_test_opaque_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc = []byte{
+ 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6f, 0x70,
+ 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x6f, 0x70, 0x61, 0x71,
+ 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28,
+ 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57,
+ 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52,
+ 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+ 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a,
+ 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69,
+ 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12,
+ 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+ 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46,
+ 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73,
+ 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67,
+ 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27,
+ 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+ 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14,
+ 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x61,
+ 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e,
+ 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f,
+ 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01,
+ 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88,
+ 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07,
+ 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06,
+ 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c,
+ 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71,
+ 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a,
+ 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
+ 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72,
+ 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x71,
+ 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01,
+ 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33,
+ 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x70,
+ 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d,
+ 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f,
+ 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+ 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
+ 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26,
+ 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f,
+ 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
+ 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a,
+ 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
+ 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
+ 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61,
+ 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61,
+ 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03,
+ 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e,
+ 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
+ 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63,
+ 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
+ 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
+ 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69,
+ 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71,
+ 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70,
+ 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
+ 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f,
+ 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d,
+ 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
+ 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11,
+ 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
+ 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
+ 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
+ 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d,
+ 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
+ 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
+ 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d,
+ 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3c, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f,
+ 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14,
+ 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61,
+ 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f,
+ 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a,
+ 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01,
+ 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73,
+ 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f,
+ 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65,
+ 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48,
+ 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54,
+ 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
+ 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
+ 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
+ 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70,
+ 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75,
+ 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b,
+ 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f,
+ 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f,
+ 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
+ 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f,
+ 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
+ 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
+ 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b,
+ 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f,
+ 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+ 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
+ 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f,
+ 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42,
+ 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f,
+ 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73,
+ 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65,
+ 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
+var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes = []any{
+ (ForeignEnum)(0), // 0: opaque.goproto.proto.test3.ForeignEnum
+ (TestAllTypes_NestedEnum)(0), // 1: opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ (*TestAllTypes)(nil), // 2: opaque.goproto.proto.test3.TestAllTypes
+ (*ForeignMessage)(nil), // 3: opaque.goproto.proto.test3.ForeignMessage
+ (*TestAllTypes_NestedMessage)(nil), // 4: opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ nil, // 5: opaque.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ nil, // 6: opaque.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ nil, // 7: opaque.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ nil, // 8: opaque.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ nil, // 9: opaque.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ nil, // 10: opaque.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ nil, // 11: opaque.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ nil, // 12: opaque.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ nil, // 13: opaque.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ nil, // 14: opaque.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ nil, // 15: opaque.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ nil, // 16: opaque.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ nil, // 17: opaque.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ nil, // 18: opaque.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ nil, // 19: opaque.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ nil, // 20: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ nil, // 21: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ (*ImportMessage)(nil), // 22: opaque.goproto.proto.test3.ImportMessage
+ (ImportEnum)(0), // 23: opaque.goproto.proto.test3.ImportEnum
+}
+var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs = []int32{
+ 4, // 0: opaque.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 1: opaque.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage
+ 22, // 2: opaque.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> opaque.goproto.proto.test3.ImportMessage
+ 1, // 3: opaque.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 4: opaque.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum
+ 23, // 5: opaque.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> opaque.goproto.proto.test3.ImportEnum
+ 4, // 6: opaque.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 7: opaque.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage
+ 22, // 8: opaque.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> opaque.goproto.proto.test3.ImportMessage
+ 1, // 9: opaque.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 10: opaque.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum
+ 23, // 11: opaque.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> opaque.goproto.proto.test3.ImportEnum
+ 4, // 12: opaque.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ 3, // 13: opaque.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage
+ 22, // 14: opaque.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> opaque.goproto.proto.test3.ImportMessage
+ 1, // 15: opaque.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ 0, // 16: opaque.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum
+ 23, // 17: opaque.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> opaque.goproto.proto.test3.ImportEnum
+ 5, // 18: opaque.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
+ 6, // 19: opaque.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
+ 7, // 20: opaque.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
+ 8, // 21: opaque.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
+ 9, // 22: opaque.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
+ 10, // 23: opaque.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
+ 11, // 24: opaque.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
+ 12, // 25: opaque.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
+ 13, // 26: opaque.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
+ 14, // 27: opaque.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
+ 15, // 28: opaque.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
+ 16, // 29: opaque.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
+ 17, // 30: opaque.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
+ 18, // 31: opaque.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringStringEntry
+ 19, // 32: opaque.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringBytesEntry
+ 20, // 33: opaque.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
+ 21, // 34: opaque.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
+ 4, // 35: opaque.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 36: opaque.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ 2, // 37: opaque.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> opaque.goproto.proto.test3.TestAllTypes
+ 4, // 38: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage
+ 1, // 39: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum
+ 40, // [40:40] is the sub-list for method output_type
+ 40, // [40:40] is the sub-list for method input_type
+ 40, // [40:40] is the sub-list for extension type_name
+ 40, // [40:40] is the sub-list for extension extendee
+ 0, // [0:40] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_opaque_test_opaque_proto_init() }
+func file_internal_testprotos_test3_test3_opaque_test_opaque_proto_init() {
+ if File_internal_testprotos_test3_test3_opaque_test_opaque_proto != nil {
+ return
+ }
+ file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init()
+ file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0].OneofWrappers = []any{
+ (*testAllTypes_OneofUint32)(nil),
+ (*testAllTypes_OneofNestedMessage)(nil),
+ (*testAllTypes_OneofString)(nil),
+ (*testAllTypes_OneofBytes)(nil),
+ (*testAllTypes_OneofBool)(nil),
+ (*testAllTypes_OneofUint64)(nil),
+ (*testAllTypes_OneofFloat)(nil),
+ (*testAllTypes_OneofDouble)(nil),
+ (*testAllTypes_OneofEnum)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc,
+ NumEnums: 2,
+ NumMessages: 20,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_opaque_test_opaque_proto = out.File
+ file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_opaque/test.opaque.proto b/internal/testprotos/test3/test3_opaque/test.opaque.proto
new file mode 100644
index 0000000..a6df253
--- /dev/null
+++ b/internal/testprotos/test3/test3_opaque/test.opaque.proto
@@ -0,0 +1,134 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+syntax = "proto3";
+
+package opaque.goproto.proto.test3;
+
+import "internal/testprotos/test3/test3_opaque/test_import.opaque.proto";
+
+option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque";
+
+
+message TestAllTypes {
+ message NestedMessage {
+ int32 a = 1;
+ TestAllTypes corecursive = 2;
+ }
+
+ enum NestedEnum {
+ FOO = 0;
+ BAR = 1;
+ BAZ = 2;
+ NEG = -1; // Intentionally negative.
+ }
+
+ int32 singular_int32 = 81;
+ int64 singular_int64 = 82;
+ uint32 singular_uint32 = 83;
+ uint64 singular_uint64 = 84;
+ sint32 singular_sint32 = 85;
+ sint64 singular_sint64 = 86;
+ fixed32 singular_fixed32 = 87;
+ fixed64 singular_fixed64 = 88;
+ sfixed32 singular_sfixed32 = 89;
+ sfixed64 singular_sfixed64 = 90;
+ float singular_float = 91;
+ double singular_double = 92;
+ bool singular_bool = 93;
+ string singular_string = 94;
+ bytes singular_bytes = 95;
+ NestedMessage singular_nested_message = 98;
+ ForeignMessage singular_foreign_message = 99;
+ ImportMessage singular_import_message = 100;
+ NestedEnum singular_nested_enum = 101;
+ ForeignEnum singular_foreign_enum = 102;
+ ImportEnum singular_import_enum = 103;
+
+ optional int32 optional_int32 = 1;
+ optional int64 optional_int64 = 2;
+ optional uint32 optional_uint32 = 3;
+ optional uint64 optional_uint64 = 4;
+ optional sint32 optional_sint32 = 5;
+ optional sint64 optional_sint64 = 6;
+ optional fixed32 optional_fixed32 = 7;
+ optional fixed64 optional_fixed64 = 8;
+ optional sfixed32 optional_sfixed32 = 9;
+ optional sfixed64 optional_sfixed64 = 10;
+ optional float optional_float = 11;
+ optional double optional_double = 12;
+ optional bool optional_bool = 13;
+ optional string optional_string = 14;
+ optional bytes optional_bytes = 15;
+ optional NestedMessage optional_nested_message = 18;
+ optional ForeignMessage optional_foreign_message = 19;
+ optional ImportMessage optional_import_message = 20;
+ optional NestedEnum optional_nested_enum = 21;
+ optional ForeignEnum optional_foreign_enum = 22;
+ optional ImportEnum optional_import_enum = 23;
+
+ repeated int32 repeated_int32 = 31;
+ repeated int64 repeated_int64 = 32;
+ repeated uint32 repeated_uint32 = 33;
+ repeated uint64 repeated_uint64 = 34;
+ repeated sint32 repeated_sint32 = 35;
+ repeated sint64 repeated_sint64 = 36;
+ repeated fixed32 repeated_fixed32 = 37;
+ repeated fixed64 repeated_fixed64 = 38;
+ repeated sfixed32 repeated_sfixed32 = 39;
+ repeated sfixed64 repeated_sfixed64 = 40;
+ repeated float repeated_float = 41;
+ repeated double repeated_double = 42;
+ repeated bool repeated_bool = 43;
+ repeated string repeated_string = 44;
+ repeated bytes repeated_bytes = 45;
+ repeated NestedMessage repeated_nested_message = 48;
+ repeated ForeignMessage repeated_foreign_message = 49;
+ repeated ImportMessage repeated_importmessage = 50;
+ repeated NestedEnum repeated_nested_enum = 51;
+ repeated ForeignEnum repeated_foreign_enum = 52;
+ repeated ImportEnum repeated_importenum = 53;
+
+ map<int32, int32> map_int32_int32 = 56;
+ map<int64, int64> map_int64_int64 = 57;
+ map<uint32, uint32> map_uint32_uint32 = 58;
+ map<uint64, uint64> map_uint64_uint64 = 59;
+ map<sint32, sint32> map_sint32_sint32 = 60;
+ map<sint64, sint64> map_sint64_sint64 = 61;
+ map<fixed32, fixed32> map_fixed32_fixed32 = 62;
+ map<fixed64, fixed64> map_fixed64_fixed64 = 63;
+ map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 64;
+ map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 65;
+ map<int32, float> map_int32_float = 66;
+ map<int32, double> map_int32_double = 67;
+ map<bool, bool> map_bool_bool = 68;
+ map<string, string> map_string_string = 69;
+ map<string, bytes> map_string_bytes = 70;
+ map<string, NestedMessage> map_string_nested_message = 71;
+ map<string, NestedEnum> map_string_nested_enum = 73;
+
+ oneof oneof_field {
+ uint32 oneof_uint32 = 111;
+ NestedMessage oneof_nested_message = 112;
+ string oneof_string = 113;
+ bytes oneof_bytes = 114;
+ bool oneof_bool = 115;
+ uint64 oneof_uint64 = 116;
+ float oneof_float = 117;
+ double oneof_double = 118;
+ NestedEnum oneof_enum = 119;
+ }
+}
+
+message ForeignMessage {
+ int32 c = 1;
+ int32 d = 2;
+}
+
+enum ForeignEnum {
+ FOREIGN_ZERO = 0;
+ FOREIGN_FOO = 4;
+ FOREIGN_BAR = 5;
+ FOREIGN_BAZ = 6;
+}
\ No newline at end of file
diff --git a/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go b/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go
new file mode 100644
index 0000000..07c94bd
--- /dev/null
+++ b/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go
@@ -0,0 +1,154 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/test3/test3_opaque/test_import.opaque.proto
+
+package test3_opaque
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+type ImportEnum int32
+
+const (
+ ImportEnum_IMPORT_ZERO ImportEnum = 0
+)
+
+// Enum value maps for ImportEnum.
+var (
+ ImportEnum_name = map[int32]string{
+ 0: "IMPORT_ZERO",
+ }
+ ImportEnum_value = map[string]int32{
+ "IMPORT_ZERO": 0,
+ }
+)
+
+func (x ImportEnum) Enum() *ImportEnum {
+ p := new(ImportEnum)
+ *p = x
+ return p
+}
+
+func (x ImportEnum) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ImportEnum) Descriptor() protoreflect.EnumDescriptor {
+ return file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes[0].Descriptor()
+}
+
+func (ImportEnum) Type() protoreflect.EnumType {
+ return &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes[0]
+}
+
+func (x ImportEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+type ImportMessage struct {
+ state protoimpl.MessageState `protogen:"opaque.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ImportMessage) Reset() {
+ *x = ImportMessage{}
+ mi := &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ImportMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ImportMessage) ProtoMessage() {}
+
+func (x *ImportMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+type ImportMessage_builder struct {
+ _ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 ImportMessage_builder) Build() *ImportMessage {
+ m0 := &ImportMessage{}
+ b, x := &b0, m0
+ _, _ = b, x
+ return m0
+}
+
+var File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc = []byte{
+ 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x1a, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a,
+ 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d,
+ 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a,
+ 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
+ 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
+ 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71,
+ 0x75, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes = []any{
+ (ImportEnum)(0), // 0: opaque.goproto.proto.test3.ImportEnum
+ (*ImportMessage)(nil), // 1: opaque.goproto.proto.test3.ImportMessage
+}
+var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init() }
+func file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init() {
+ if File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes,
+ DependencyIndexes: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs,
+ EnumInfos: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes,
+ MessageInfos: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes,
+ }.Build()
+ File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto = out.File
+ file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc = nil
+ file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes = nil
+ file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/test3/test3_opaque/test_import.opaque.proto b/internal/testprotos/test3/test3_opaque/test_import.opaque.proto
new file mode 100644
index 0000000..26a1081
--- /dev/null
+++ b/internal/testprotos/test3/test3_opaque/test_import.opaque.proto
@@ -0,0 +1,16 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+syntax = "proto3";
+
+package opaque.goproto.proto.test3;
+
+option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque";
+
+
+message ImportMessage {}
+
+enum ImportEnum {
+ IMPORT_ZERO = 0;
+}
\ No newline at end of file
diff --git a/proto/oneof_which_test.go b/proto/oneof_which_test.go
index a53ae30..43108d1 100644
--- a/proto/oneof_which_test.go
+++ b/proto/oneof_which_test.go
@@ -8,6 +8,8 @@
"testing"
test3openpb "google.golang.org/protobuf/internal/testprotos/test3"
+ test3hybridpb "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid"
+ test3opaquepb "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque"
testhybridpb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_hybrid"
testopaquepb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_opaque"
"google.golang.org/protobuf/proto"
@@ -189,7 +191,7 @@
}
}
-func TestSyntheticOneof(t *testing.T) {
+func TestSyntheticOneofOpen(t *testing.T) {
msg := test3openpb.TestAllTypes{}
md := msg.ProtoReflect().Descriptor()
ood := md.Oneofs().ByName("_optional_int32")
@@ -208,4 +210,40 @@
}
}
-// TODO(stapelberg): add test variants for the Hybrid API and Opaque API.
+func TestSyntheticOneofHybrid(t *testing.T) {
+ msg := test3hybridpb.TestAllTypes{}
+ md := msg.ProtoReflect().Descriptor()
+ ood := md.Oneofs().ByName("_optional_int32")
+ if ood == nil {
+ t.Fatal("failed to find oneof _optional_int32")
+ }
+ if !ood.IsSynthetic() {
+ t.Fatal("oneof _optional_int32 should be synthetic")
+ }
+ if msg.ProtoReflect().WhichOneof(ood) != nil {
+ t.Error("oneof _optional_int32 should not have a field set yet")
+ }
+ msg.OptionalInt32 = proto.Int32(123)
+ if msg.ProtoReflect().WhichOneof(ood) == nil {
+ t.Error("oneof _optional_int32 should have a field set")
+ }
+}
+
+func TestSyntheticOneofOpaque(t *testing.T) {
+ msg := test3opaquepb.TestAllTypes{}
+ md := msg.ProtoReflect().Descriptor()
+ ood := md.Oneofs().ByName("_optional_int32")
+ if ood == nil {
+ t.Fatal("failed to find oneof _optional_int32")
+ }
+ if !ood.IsSynthetic() {
+ t.Fatal("oneof _optional_int32 should be synthetic")
+ }
+ if msg.ProtoReflect().WhichOneof(ood) != nil {
+ t.Error("oneof _optional_int32 should not have a field set yet")
+ }
+ msg.SetOptionalInt32(123)
+ if msg.ProtoReflect().WhichOneof(ood) == nil {
+ t.Error("oneof _optional_int32 should have a field set")
+ }
+}